RenderFormer: Neural Rendering Berbasis Mesh Segitiga dan Global Illumination
(microsoft.github.io)- RenderFormer adalah pipeline neural rendering yang menghasilkan gambar secara langsung dari adegan mesh segitiga, dengan inti utama kemampuannya menangani hingga global illumination tanpa pelatihan per adegan
- Rendering didefinisikan bukan sebagai prosedur simulasi fisika, melainkan sebagai transformasi sequence-to-sequence yang mengubah token segitiga dan karakteristik refleksi menjadi token patch piksel kecil
- Pipeline ini dibagi menjadi tahap view-independent dan view-dependent, dan keduanya menggunakan arsitektur Transformer yang dilatih dengan batasan awal seminimal mungkin
- Tahap view-independent memodelkan perpindahan cahaya antarsegitiga, sementara tahap view-dependent mengubah token kumpulan sinar menjadi nilai piksel
- Contoh yang dipublikasikan mencakup pencahayaan, material, kompleksitas geometri, animasi, dan simulasi fisika, serta dirender tanpa rasterization maupun ray tracing
Struktur rendering RenderFormer
- RenderFormer adalah pipeline neural rendering yang merender gambar secara langsung dari representasi adegan berbasis segitiga
- Mencakup efek global illumination secara penuh, tetapi tidak memerlukan pelatihan atau fine-tuning per adegan
- Proses rendering disusun sebagai transformasi sequence-to-sequence
- Inputnya adalah urutan token segitiga yang mencakup karakteristik refleksi
- Outputnya adalah urutan token yang merepresentasikan patch piksel kecil
- Pipeline 2 tahap memisahkan perhitungan perpindahan cahaya yang tidak bergantung pada view dari pembuatan piksel yang sebenarnya
- Tahap view-independent: memodelkan perpindahan cahaya antarsegitiga
- Tahap view-dependent: mengubah token kumpulan sinar menjadi nilai piksel, dengan dipandu oleh urutan segitiga dari tahap view-independent
- Kedua tahap berbasis arsitektur Transformer dan dilatih dengan batasan awal seminimal mungkin
- Proses rendering tidak menggunakan rasterization maupun ray tracing
Hasil publik dan materi referensi
- Galeri rendering menampilkan berbagai kondisi pencahayaan, material, dan kompleksitas geometri tanpa pelatihan atau fine-tuning per adegan
- Cornell Box, Stanford Bunny in Cornell Box, Lucy Statue, Utah Teapot
- Composed Scene, Constant Width Bodies, Crystals, Fox in the Wild
- Horse and Heart, RenderFormer Logo, Interior Room, Shader Ball, Tree, Veach MIS
- Tersedia reference images untuk perbandingan detail
- Sebagai materi video tambahan, tersedia uncompressed videos dan reference videos
-
Adegan teaser
- Dapat melihat rotasi objek, perubahan pencahayaan, dan penyesuaian material
- Cornell Box Roughness Adjustment
- Bunny Roughness Adjustment
- Tree Light Change
- Tree Object Rotation
- Fancy Scene Rotation
- Composed Scene View Change
-
Animasi dan simulasi
- Contoh rendering animasi mencakup Cascade Cube Animation, Animated Crab, Gyroscope Motion, Animated Character, Marching Cubes Animation, dan Robot Animation
- Contoh simulasi berbasis fisika mencakup Bowling Ball Physics Simulation, Rotating Box Dynamics, dan Constant Width Body Simulation
- Makalah ini akan dimuat dalam ACM SIGGRAPH 2025 Conference Papers, dan judul entri BibTeX-nya adalah “RenderFormer: Transformer-based Neural Rendering of Triangle Meshes with Global Illumination”
1 komentar
Komentar Hacker News
Hal paling keren di sini mungkin adalah kecepatannya: pada adegan yang sama, RenderFormer memerlukan 0,0760 detik, sedangkan Blender Cycles 3,97 detik (12,05 detik pada pengaturan yang lebih tinggi), sambil tetap mempertahankan structural similarity index 0,9526 (0–1, dengan 1 berarti gambar identik). Lihat Tabel 2 dan 1 di makalahnya.
Dengan ini, model Transformer di perangkat mungkin bisa memberi pratinjau render instan berkualitas lebih baik bagi desainer 3D di web atau aplikasi native.
Pengukuran di atas dilakukan di A100 dengan model versi PyTorch yang belum dioptimalkan. GPU pengguna umum jauh lebih lemah, tetapi untuk GPU yang dipakai desainer 3D, peningkatan kecepatannya dibanding rendering tradisional mungkin cukup besar. Jika sistemnya berbasis web, bisa juga terhubung ke A100 di backend dan melakukan streaming gambar ke browser.
Keterbatasannya adalah ketika kompleksitas adegan meningkat, misalnya pada bayangan dengan bentuk rumit (kemungkinan juga partikel atau rambut), hasilnya tidak sepenuhnya akurat. Jadi render final kemungkinan besar tetap dilakukan dengan cara tradisional untuk menghindari artefak visual yang mengganggu seperti yang terlihat di banyak gambar/video buatan AI saat ini. Namun jika kualitasnya sudah cukup “layak” dan keuntungan kecepatannya besar, studio animasi besar yang perlu merender pratinjau sepanjang film untuk meninjau musik, cerita, dan sebagainya bisa punya alasan untuk mengadopsinya.
Adegan-adegannya hanya demo teknis yang sangat sederhana dengan kompleksitas rendah, dan sepertinya Blender diatur untuk melakukan 4 ribu iterasi per piksel, yang kurang masuk akal. Setelah beberapa ratus cycle saja, keluaran Blender biasanya sudah cukup mendekati hasil akhir, dan selama 3.800 cycle berikutnya mungkin hanya membakar cycle GPU tanpa banyak perbaikan.
Sepertinya tahap inisialisasi Blender keliru dimasukkan ke total waktu render, sementara inisialisasi Transformer tidak dimasukkan. Saya ingin melihat waktu untuk merender frame kedua pada masing-masing sistem, dan dugaan saya Blender akan jauh lebih baik. Hasil makalahnya sendiri menarik, tetapi ada nuansa pada pengaturan Blender dan cara pengukurannya.
Dalam ray tracing, error berkurang sebanding dengan akar kuadrat dari jumlah sampel. Gambar referensi untuk perbandingan kualitas biasanya memakai jumlah sampel yang sangat tinggi, tetapi jumlah sampel renderer offline sebenarnya 1–2 orde magnitudo lebih rendah daripada di makalah ini.
Dalam makalah grafika, memasukkan gambar referensi dengan jumlah sampel sangat tinggi untuk perbandingan kualitas adalah hal umum, tetapi tidak ada yang juga membandingkan waktu dengan gambar referensi itu. Jika hasilnya berupa aproksimasi, yang adil adalah membandingkannya dengan algoritma rendering aproksimasi lain. Path tracer real-time modern dan denoiser dapat merender adegan yang jauh lebih kompleks dalam kurang dari 16 ms bahkan di GPU konsumen.
Poin utamanya adalah “adegan yang jauh lebih kompleks”. Dengan Transformer, skalanya tumbuh kuadratis baik terhadap jumlah segitiga maupun jumlah piksel keluaran. Saya tidak mengikuti riset machine learning terbaru, jadi mungkin sekarang sudah membaik, tetapi rasanya tidak akan mengalahkan skala teoretis path tracer tipikal, yaitu O(log n_triangles) dan O(n_pixels). Dalam praktiknya, skala terhadap jumlah piksel mendekati sublinear karena koherensi tinggi antarpiksel yang berdekatan.
Saya hanya membaca cepat, tetapi tidak menemukan detail tentang bagaimana pengaturannya. Saya penasaran apakah Cycles di A100 memakai CPU atau kernel CUDA. Selain itu, jika ini render frame tunggal, porsi yang tidak kecil dari 3,97 detik mungkin dihabiskan untuk memulai renderer. Jika merender sequence, waktu per frame mestinya turun.
Skala kompleksitas per segitiga yang disebut komentar saudara juga menyakitkan.
Deep learning juga sudah sangat sukses dipakai untuk denoising gambar render global illumination [1].
Dalam pendekatan ini, algoritma ray tracing tradisional menghitung global illumination kasar pada adegan dengan cepat, lalu neural network menghilangkan noise pada keluarannya.
[1] https://www.openimagedenoise.org
Edit: denoising terlihat lebih baik pada pembesaran 100% dibanding pembesaran 125% DPI, dan paku-pakuan di bagian bawah juga jadi lebih mudah dikenali.
Dalam makalah grafika, kita selalu harus memikirkan apa yang tidak terlihat.
Di sini hampir tidak ada poligon, resolusinya rendah, tidak ada tekstur, tidak ada motion blur, tidak ada depth of field, dan animasinya punya sejumlah artefak.
Ini memang riset yang menarik, tetapi jika dilihat dengan perspektif, mereka memakai GPU modern untuk membuat gambar yang mirip dengan gambar yang 30 tahun lalu dibuat dengan beban komputasi sekitar 1/1.000.000-nya.
Saya merasa aneh karena tidak ada satu pun contoh yang menunjukkan bagian belakang kamera.
Entah ini keterbatasan pendekatannya atau sekadar kelalaian dalam membuat contoh, tetapi saat membahas refleksi dan pencahayaan, bagian belakang kamera cukup penting.
Saya bertanya karena kurang paham: apakah adegan-adegan ini dirender berdasarkan cara adegan tersebut diperkirakan akan dirender? Jika ya, saya tidak mengerti kenapa harus memakai ini alih-alih metode yang lebih langsung. Rasanya tidak akan lebih cepat daripada metode langsung.
Misalnya, jika adegan adalah sekumpulan bobot input, seperti apa hasilnya jika kita menambahkan noise ke sana? Bisakah kita mendapatkan keluaran menarik yang mustahil dengan cara biasa?
Apakah menarik jika melakukan interpolasi antara dua representasi adegan yang berbeda? Pertanyaan-pertanyaan seperti itu bisa muncul.
Wah, berarti siklus GPU sudah tertutup. Dari rendering ke komputasi, lalu kembali ke rendering.
Terlihat lumayan, tetapi buram. Akan menarik jika ada perbandingan waktu render antara renderer neural network dan renderer klasik.
Dalam animasi, terutama Animated Crab dan Robot Animation, artefak seni AI yang berputar-putar secara tidak alami di sekitar model saat objek dan kamera bergerak cukup terlihat
https://renderformer.github.io/pdfs/renderformer-paper.pdf
Saya penasaran apakah praktis memakai pendekatan jaringan saraf hanya untuk pencahayaan tidak langsung dengan geometri yang disederhanakan. Semacam memakai rasterizer biasa lalu menambahkan pencahayaan global di atasnya
Saya punya teman yang pernah menangani renderer berbasis fisika di industri film dan juga melakukan riset terkait. Saya selalu senang mendengar cerita dan penjelasannya tentang bagaimana pekerjaan dilakukan di industri ini
Saya penasaran perusahaan mana yang sekarang merekrut talenta seperti ini. Apakah perusahaan AI juga merekrut rendering engineer untuk membuat lingkungan pelatihan?
Kalau ada yang ingin merekrut rendering engineer riset/industri yang berpengalaman, saya bisa menghubungkan. Teman saya tidak memakai media sosial, tetapi sedang mencari peluang
Riset yang sangat keren. Saya sangat suka contoh seperti ini yang menerapkan Transformer ke ranah non-teks
Sepertinya akan bekerja dengan baik di ranah yang inputnya bersifat sekuensial dan token-token input tersebut saling berkaitan. Saya menantikan lebih banyak riset di bidang ini
Di antara ranah non-teks, bidang menarik apa yang kira-kira sangat cocok untuk Transformer?
Gagasan untuk melatih Transformer agar mengubah himpunan segitiga yang mendeskripsikan adegan menjadi array piksel 2D, dan membuat hasilnya tampak seperti piksel dari adegan yang sama yang dirender oleh renderer pencahayaan global, itu bagus dan menarik
Melihat riset selama 5 tahun terakhir, fakta bahwa ini bisa bekerja sendiri tidak terlalu mengejutkan, tetapi tetap terasa sebagai hasil yang cukup mendalam. Arsitektur Transformer memang sangat serbaguna
Bagaimanapun juga, ini sangat cepat, mendekati output render Blender, dan tampaknya seperti model sekitar 1 miliar parameter. Saya tidak tahu apakah fp16 atau fp32, tetapi kalau filenya 2GB, rasanya tidak ada yang perlu dikeluhkan. Saya juga ingin melihat demo adegan yang lebih “realistis”, tetapi kalau mau, kita bisa mengunduhnya dan menjalankannya sendiri di Mac