Makalah · arXiv 2308.04079
3D Gaussian Splatting for Real-Time Radiance Field Rendering
Ringkasan tiga baris
- 🎯 Metode radiance field (seperti NeRF) menghasilkan kualitas visual tinggi tetapi terkendala oleh ray-marching volumetrik yang lambat dan waktu pengoptimalan yang lama, sementara metode berbasis grid yang cepat mengorbankan kualitas atau kecepatan rendering.
- 🔧 Merepresentasikan pemandangan secara eksplisit dengan Gaussian 3D anisotropik yang diinisialisasi dari titik-titik SfM jarang, mengoptimalkannya dengan kontrol kepadatan adaptif (cloning dan splitting), dan merendernya melalui rasterizer GPU terdiferensiasi berbasis tile yang sadar-visibilitas.
- 📈 Mencapai kualitas visual mutakhir yang menandingi Mip-NeRF360 dengan kecepatan rendering real-time lebih dari 130–160 FPS pada resolusi 1080p serta waktu pelatihan di bawah satu jam.
Abstrak
Metode Radiance Field baru-baru ini merevolusi sintesis pandangan baru (novel-view synthesis) dari pemandangan yang ditangkap dengan banyak foto atau video. Namun, untuk mencapai kualitas visual yang tinggi masih diperlukan jaringan saraf yang mahal untuk dilatih dan dirender, sementara metode-metode baru yang lebih cepat mau tidak mau mengorbankan kualitas demi kecepatan. Untuk pemandangan tanpa batas dan lengkap (bukan objek terisolasi) serta rendering beresolusi 1080p, belum ada metode saat ini yang dapat mencapai laju tampilan real-time. Kami memperkenalkan tiga elemen kunci yang memungkinkan kami mencapai kualitas visual mutakhir (state-of-the-art) sambil mempertahankan waktu pelatihan yang kompetitif dan, yang terpenting, memungkinkan sintesis pandangan baru real-time (>= 30 fps) berkualitas tinggi pada resolusi 1080p. Pertama, berawal dari titik-titik jarang (sparse points) yang dihasilkan selama kalibrasi kamera, kami merepresentasikan pemandangan dengan Gaussian 3D yang mempertahankan sifat-sifat unggul dari continuous volumetric radiance field untuk pengoptimalan pemandangan sekaligus menghindari komputasi yang tidak perlu pada ruang kosong; Kedua, kami melakukan pengoptimalan/kontrol kepadatan yang disisipkan (interleaved) dari Gaussian 3D tersebut, terutama mengoptimalkan kovariansi anisotropik untuk mencapai representasi pemandangan yang akurat; Ketiga, kami mengembangkan algoritma rendering cepat yang sadar-visibilitas (visibility-aware) yang mendukung splatting anisotropik, yang mempercepat pelatihan sekaligus memungkinkan rendering real-time. Kami mendemonstrasikan kualitas visual mutakhir dan rendering real-time pada beberapa dataset yang sudah mapan.
Abstrak asli (bahasa Inggris)
Radiance Field methods have recently revolutionized novel-view synthesis of scenes captured with multiple photos or videos. However, achieving high visual quality still requires neural networks that are costly to train and render, while recent faster methods inevitably trade off speed for quality. For unbounded and complete scenes (rather than isolated objects) and 1080p resolution rendering, no current method can achieve real-time display rates. We introduce three key elements that allow us to achieve state-of-the-art visual quality while maintaining competitive training times and importantly allow high-quality real-time (>= 30 fps) novel-view synthesis at 1080p resolution. First, starting from sparse points produced during camera calibration, we represent the scene with 3D Gaussians that preserve desirable properties of continuous volumetric radiance fields for scene optimization while avoiding unnecessary computation in empty space; Second, we perform interleaved optimization/density control of the 3D Gaussians, notably optimizing anisotropic covariance to achieve an accurate representation of the scene; Third, we develop a fast visibility-aware rendering algorithm that supports anisotropic splatting and both accelerates training and allows realtime rendering. We demonstrate state-of-the-art visual quality and real-time rendering on several established datasets.
Panduan membaca
Masalah dan motivasi
Neural Radiance Fields (NeRFs) telah mentransformasi sintesis pandangan baru (novel view synthesis) dengan mengoptimalkan representasi pemandangan implisit kontinu melalui Multi-Layer Perceptrons (MLPs). Namun, rendering medan kontinu ini bergantung pada volumetric ray-marching stokastik, yang memerlukan evaluasi puluhan atau ratusan sampel per sinar (ray). Hal ini menimbulkan beban komputasi yang berat, waktu pelatihan yang lama (misalnya, hingga 48 jam untuk Mip-NeRF360), dan kecepatan inferensi yang sangat lambat (hitungan detik per frame), sehingga menghambat navigasi real-time pada resolusi tinggi seperti 1080p.
Meskipun varian radiance field yang lebih cepat (seperti Plenoxels dan InstantNGP) mengandalkan voxel grid atau hash grid untuk mempercepat pelatihan, metode tersebut sering kali mengorbankan ketajaman visual serta kesulitan menangani ruang kosong atau detail berfrekuensi tinggi. Sebaliknya, pendekatan berbasis titik (point-based) menawarkan geometri eksplisit yang ramah GPU, tetapi rasterisasi titik tradisional memerlukan geometri Multi-View Stereo (MVS) yang padat untuk menghindari celah/lubang, atau bergantung pada pasca-pemrosesan CNN yang memperkenalkan kedipan temporal (temporal flickering).
Makalah ini mengusulkan representasi pemandangan eksplisit yang tidak terstruktur menggunakan 3D Gaussians yang dipadukan dengan rasterizer berbasis tile yang cepat, menghasilkan ketajaman rendering setara radiance field implisit papan atas bersamaan dengan frame rate real-time dan waktu pengoptimalan yang kompetitif.
Gagasan utama
- Representasi 3D Gaussian Tak Terstruktur: Alih-alih jaringan koordinat kontinu atau grid padat, radiance field diparameterisasi oleh Gaussian 3D diskret dengan matriks kovariansi anisotropik penuh, yang diinisialisasi dari point cloud Structure-from-Motion (SfM) yang jarang tanpa memerlukan vektor normal atau MVS padat.
- Parameterisasi melalui Skala dan Rotasi: Untuk memastikan matriks kovariansi tetap semi-definit positif sepanjang gradient descent, matriks tersebut didekopling menjadi vektor penskalaan 3D dan kuaternion satuan.
- Kontrol Kepadatan Adaptif (Adaptive Density Control): Pengoptimalan mengelola kepadatan pemandangan secara dinamis dengan melacak gradien posisi view-space: mengkloning (cloning) Gaussian yang under-reconstructed dan memecah (splitting) Gaussian yang over-reconstructed, sembari memangkas (pruning) splat yang transparan atau berukuran terlalu besar.
- Rasterisasi Berbasis Tile yang Sadar-Visibilitas: Rasterizer GPU kustom mengorganisir piksel layar ke dalam tile berukuran , mengurutkan kedalaman splat per frame menggunakan Radix sort yang cepat, dan melakukan alpha-blending proyeksi anisotropik dari depan ke belakang tanpa membatasi jumlah splat yang menerima pembaruan gradien.
Metode
1. Representasi Pemandangan 3D Gaussian
Sebuah Gaussian 3D yang berpusat pada rata-rata didefinisikan oleh matriks kovariansinya dalam world space:
Untuk menjamin bahwa tetap semi-definit positif selama optimasi, matriks ini difaktorisasi menjadi matriks rotasi dan matriks skala : Di sini, disimpan sebagai vektor 3D yang dievaluasi dengan aktivasi eksponensial, dan diparameterisasi oleh kuaternion satuan yang dinormalisasi .
Untuk perenderan, Gaussian 3D diproyeksikan ke koordinat gambar 2D mengikuti kerangka kerja EWA splatting. Dengan transformasi tampilan dan Jacobian dari aproksimasi afina transformasi proyektif, matriks kovariansi 2D dalam screen space adalah: Baris dan kolom ketiga dibuang, menghasilkan matriks kovariansi untuk planar splatting.
2. Rendering dan Pembentukan Gambar
Setiap Gaussian memiliki opasitas (dibatasi pada melalui aktivasi sigmoid) dan koefisien spherical harmonics (SH) yang mendeskripsikan warna yang bergantung pada sudut pandang . Pencampuran (blending) Gaussian bertumpuk yang terurut pada suatu piksel mengikuti formulasi volumetrik standar: di mana ditentukan dengan mengevaluasi Gaussian terproyeksi 2D yang dikalikan dengan opasitas per-titik yang dipelajari.
3. Pengoptimalan dan Kontrol Adaptif
Fungsi kerugian (loss function) menggabungkan loss dengan loss D-SSIM (dengan ):
Kontrol kepadatan adaptif dijalankan setiap 100 iterasi pada Gaussian yang gradien posisi view-space rata-ratanya melebihi :
- Clone (Under-reconstruction): Untuk Gaussian kecil, duplikatnya dibuat dan digeser di sepanjang arah gradien posisi.
- Split (Over-reconstruction): Untuk Gaussian besar, primitif tersebut digantikan oleh dua Gaussian yang lebih kecil dengan skala yang diperkecil dengan faktor , di mana posisi awalnya disampel dari Gaussian induk.
- Pruning: Memangkas Gaussian yang memiliki atau yang berukuran terlalu besar di world/view space. Setiap iterasi, opasitas direset mendekati nol untuk menyaring artefak mengambang (floating artifacts).
4. Rasterizer Berbasis Tile Terdiferensiasi Cepat
- Layar dibagi menjadi tile-tile berukuran piksel.
- Gaussian yang lolos dari frustum culling dengan interval kepercayaan 99% diberi kunci 64-bit yang mengodekan ID tile dan kedalaman view-space.
- Satu operasi Radix sort pada GPU mengurutkan semua instans di seluruh frame.
- Blok-blok thread mengakumulasi warna per tile dari depan ke belakang hingga mencapai saturasi (berhenti sebelum melampaui ).
- Pass mundur (backward pass) menelusuri tile dari belakang ke depan, memulihkan opasitas perantara dengan membagi opasitas terakumulasi akhir dengan nilai masing-masing primitif, sehingga menghindari buffer memori per-piksel dinamis yang mahal.
Hasil
- Dataset Mip-NeRF360: Setelah 30 ribu iterasi (rata-rata waktu pelatihan 41m 33d), 3D Gaussian Splatting mencapai rata-rata SSIM 0.815, PSNR 27.21 dB, dan LPIPS 0.214, menyamai atau melampaui Mip-NeRF360 (SSIM 0.792, PSNR 27.69 dB, LPIPS 0.237, waktu pelatihan 48 jam), sambil merender pada 134 FPS dibandingkan dengan Mip-NeRF360 yang hanya 0.06 FPS.
- Konfigurasi Cepat (7 ribu iterasi): Menghasilkan SSIM 0.770 dan PSNR 25.60 dB hanya dalam waktu 6m 25d pada 160 FPS, melampaui InstantNGP-Base (SSIM 0.671, 11.7 FPS) dan Plenoxels (SSIM 0.626, 6.79 FPS) dalam waktu pelatihan yang sebanding.
- Tanks&Temples & Deep Blending: Pada Tanks&Temples, 30 ribu iterasi mencapai SSIM 0.841 dan PSNR 23.14 dB pada 154 FPS. Pada Deep Blending, metode ini mencapai SSIM 0.903 dan PSNR 29.41 dB pada 137 FPS.
- Synthetic Blender: Memperoleh rata-rata PSNR 33.32 dB dari inisialisasi yang sepenuhnya acak sebanyak 100 ribu titik, merender pada rentang 180–300 FPS.
Keterbatasan dan pertanyaan terbuka
- Sudut Pandang Tak Teramati dan Pencilan (Outliers): Cakupan yang jarang atau sudut pandang yang jauh dari lintasan data latih dapat menghasilkan artefak visual, seperti Gaussian yang memanjang atau tampak seperti noda ("splotchy").
- Artefak Popping: Perubahan urutan kedalaman yang tiba-tiba atau guard-band culling yang terlalu agresif dapat memicu popping saat bernavigasi, menunjukkan perlunya antialiasing yang lebih baik.
- Konsumsi Memori: Meskipun tergolong kompak dibandingkan point cloud padat klasik, representasi eksplisit ini membutuhkan ratusan megabita (misalnya, 400–750 MB untuk pemandangan dengan 1–5 juta Gaussian), dan pelatihan prototipe yang belum dioptimalkan dapat memicu lonjakan memori GPU di atas 20 GB.
- Kurangnya Regularisasi: Kerangka kerja ini tidak mencakup regularisasi kepadatan atau kehalusan geometris eksplisit, menyisakan ruang bagi kemunculan artefak melayang di latar belakang pada area yang kurang terkendala oleh sinar kamera.
Istilah kunci
- 3D Gaussians
- Primitif 3D tak terstruktur dan terdiferensiasi yang menjadi inti metode, didefinisikan oleh posisi rata-rata, matriks kovariansi anisotropik, opasitas, dan koefisien tampilan spherical harmonics.
- Anisotropic Covariance
- Sebaran 3D berarah yang diparameterisasi menjadi vektor penskalaan terpisah dan kuaternion rotasi satuan, memungkinkan Gaussian berubah bentuk menjadi elipsoid pipih yang sejajar dengan permukaan fisik.
- Adaptive Density Control
- Strategi pengoptimalan yang disisipkan (interleaved) untuk menambah Gaussian dengan cara kloning atau memecah primitif yang memiliki gradien posisi besar, serta memangkas primitif yang transparan atau terlalu besar.
- Tile-Based Rasterization
- Pipeline rendering berbasis GPU yang membagi viewport menjadi wadah (bin) piksel berukuran untuk mengurutkan dan mencampur splat Gaussian yang saling bertumpuk secara efisien dan paralel.
- Alpha-Blending
- Akumulasi warna dan transmitansi dari depan ke belakang yang menyerupai integrasi volumetrik NeRF standar atas splat terproyeksi 2D yang telah diurutkan.
- Radix Sort
- Algoritma pengurutan GPU yang digunakan untuk mengurutkan Gaussian secara paralel dan global berdasarkan kunci 64-bit yang menggabungkan ID tile dan kedalaman view-space.
- Spherical Harmonics (SH)
- Basis fungsi terarah berbasis frekuensi yang digunakan untuk merepresentasikan warna yang bergantung pada sudut pandang pada setiap primitif Gaussian hingga 4 band.
Pertanyaan
Bagaimana 3D Gaussian diinisialisasi sebelum pengoptimalan?
Primitif diinisialisasi menggunakan point cloud jarang yang dihasilkan sebagai produk sampingan dari kalibrasi kamera Structure-from-Motion (SfM), dengan skala isotropik awal yang diturunkan dari jarak rata-rata ke tiga titik tetangga terdekat. Untuk pemandangan sintetis, inisialisasi acak seragam juga dapat digunakan.
Apa perbedaan antara kloning (cloning) dan pemecahan (splitting) Gaussian?
Kloning menduplikasi Gaussian kecil dan menggesernya di sepanjang gradien posisinya untuk menutupi fitur geometris yang hilang (under-reconstruction), sedangkan pemecahan membagi Gaussian yang terlalu besar menjadi dua Gaussian yang lebih kecil dengan skala yang diperkecil dengan faktor 1.6 untuk menangkap detail dengan variansi tinggi secara lebih baik (over-reconstruction).
Mengapa rasterizer melakukan pengurutan per-tile dan bukan per-piksel?
Pengurutan per-tile menggunakan satu GPU Radix sort global pada kunci gabungan kedalaman-tile menghindari beban komputasi yang tinggi dari pengurutan primitif per piksel, memungkinkan frame rate yang tinggi dengan aproksimasi visual yang dapat diabaikan.
Bagaimana pass mundur (backward pass) menghindari penyimpanan daftar primitif per-piksel yang panjang di memori global?
Rasterizer menelusuri kembali daftar per-tile yang sudah terurut dari belakang ke depan dan merekonstruksi opasitas perantara dengan membagi opasitas terakumulasi akhir dengan nilai alpha masing-masing Gaussian, sehingga hanya membutuhkan overhead memori per-piksel yang konstan.
Ulasan di halaman ini ditulis oleh AI dari makalah dan mungkin mengandung kesalahan. Baca makalahnya untuk detail.