Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
3D Gaussian Splatting for Real-Time Radiance Fi...
Search
frkake
March 05, 2024
Research
0
790
3D Gaussian Splatting for Real-Time Radiance Field Rendering
frkake
March 05, 2024
Tweet
Share
More Decks by frkake
See All by frkake
Removing Reflections from RAW Photos
frkake
0
170
[CorrMLP] Correlation-aware Coarse-to-fine MLPs for Deformable Medical Image Registration
frkake
0
1.4k
Neural Network Diffusion
frkake
0
240
Segment Anything + Alpha
frkake
0
270
[RetNet] Retentive Network: A Successor to Transformer for Large Language Models
frkake
0
290
Muse: Text-To-Image Generation via Masked Generative Transformers
frkake
0
120
Other Decks in Research
See All in Research
Galileo: Learning Global & Local Features of Many Remote Sensing Modalities
satai
3
240
SSII2025 [TS2] リモートセンシング画像処理の最前線
ssii
PRO
7
3.1k
CVPR2025論文紹介:Unboxed
murakawatakuya
0
150
まずはここから:Overleaf共同執筆・CopilotでAIコーディング入門・Codespacesで独立環境
matsui_528
2
500
20250725-bet-ai-day
cipepser
2
420
EarthSynth: Generating Informative Earth Observation with Diffusion Models
satai
3
270
Combinatorial Search with Generators
kei18
0
790
【輪講資料】Moshi: a speech-text foundation model for real-time dialogue
hpprc
3
670
IMC の細かすぎる話 2025
smly
2
630
心理言語学の視点から再考する言語モデルの学習過程
chemical_tree
2
590
AlphaEarth Foundations: An embedding field model for accurate and efficient global mapping from sparse label data
satai
1
220
SSII2025 [SS2] 横浜DeNAベイスターズの躍進を支えたAIプロダクト
ssii
PRO
7
4k
Featured
See All Featured
Facilitating Awesome Meetings
lara
55
6.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Music & Morning Musume
bryan
46
6.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Code Review Best Practice
trishagee
71
19k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Automating Front-end Workflow
addyosmani
1370
200k
Typedesign – Prime Four
hannesfritz
42
2.8k
Transcript
3D Gaussian Splatting for Real-Time Radiance Field Rendering 2024/3/6 飯田啄巳
概要 タイトル :3D Gaussian Splatting for Real-Time Radiance Field Rendering
著者 :Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, George Drettakis 所属 :Inria, Université Côte d'Azur, MPI Informatik 学会 :SIGGRAPH 2023 特徴: • 高速な学習 • 高速な描画(>=30fps) • 高解像度(1080p)
わかりやすい記事でまず紹介 初期状態:SfMで得られたスパースな点群 点群を増やしたり減らしたりする 3D Gaussian 3D Gaussians 一つ一つ違う • 位置
• 形状(共分散行列) • 色 • 透明度(α) 透明度αを0とした場合 3D Gaussian(今回) Triangle(通常) プリミティブを3D Gaussianにしてシーンを構成 https://huggingface.co/blog/gaussian-splatting より引用
処理フロー 1. SfMの点群を初期値として開始 2. 3Dガウシアンをカメラ座標系に投影 3. 投影したガウシアンをラスタライズ 4. 描画画像とGTとで損失計算 5.
ガウシアンの密度制御 繰り返す
処理フロー 1. SfMの点群を初期値として開始 2. 3Dガウシアンをカメラ座標系に投影 3. 投影したガウシアンをラスタライズ 4. 描画画像とGTとで損失計算 5.
ガウシアンの密度制御 こういうやつを使う ランダム値でもそこそこ良いらしい 3Dガウシアンの形状表現形式 × 𝛼 三次元共分散行列(これがガウシアンの形状を決める) 他に以下の情報を持つ • 位置 • 透明度(𝛼) • 球面調和係数(色) 3Dガウシアンは 異方性をもつオブジェクトも表現可能
処理フロー 1. SfMの点群を初期値として開始 2. 3Dガウシアンを2Dに投影 3. 投影したガウシアンをラスタライズ 4. 描画画像とGTとで損失計算 5.
ガウシアンの密度制御 世界座標系での 3D共分散 カメラ座標系での 2D共分散 視点変換行列 透視投影変換のアフィン近似のヤコビアン Zwicker[2001a]によるとこういう変換形式になる projection 共分散行列は半正定値でないと 物理的な意味を持たない =最適化しにくい → 楕円体として表せば良いのでは? 最適化の対象なんだけど… スケール行列&回転行列
処理フロー 1. SfMの点群を初期値として開始 2. 3Dガウシアンを2Dに投影 3. 投影したガウシアンをラスタライズ 4. 描画画像とGTとで損失計算 5.
ガウシアンの密度制御 rasterize ポリゴン(ガウシアン)で深度ソート (Radix Sort) カスタムCUDAカーネルを作ったり、 GPUアクセラレートフレームワークを使ったり 自動微分はせず、予め微分の式を作っておいたり… タイルベースのラスタライズ … 16x16 ビュー台形との信頼区間が99%のガウシアンだけ残す (意味わかってない) 16x16 16x16 16x16 16x16 … タイルごとにスレッドを立ち上げてラスタライズ
処理フロー 1. SfMの点群を初期値として開始 2. 3Dガウシアンをカメラ座標系に投影 3. 投影したガウシアンをラスタライズ 4. 描画画像とGTとで損失計算 5.
ガウシアンの密度制御
処理フロー 1. SfMの点群を初期値として開始 2. 3Dガウシアンをカメラ座標系に投影 3. 投影したガウシアンをラスタライズ 4. 描画画像とGTとで損失計算 5.
ガウシアンの密度制御 100イテレーションごとに緻密化、𝛼 < 𝜖𝛼 (透明)の場合ガウシアンを破棄 小さいガウシアンは クローン 大きいガウシアンは 分割
処理フロー 1. SfMの点群を初期値として開始 2. 3Dガウシアンをカメラ座標系に投影 3. 投影したガウシアンをラスタライズ 4. 描画画像とGTとで損失計算 5.
ガウシアンの密度制御 繰り返す • NNは使ってない • 自動微分はやらない • 全部のガウシアンが勾配を受け取る=制限なし=シーン依存のハイパラ不要 手計算してます
結果:実データ Mip-NeRF360 :高品質だけど、時間かかる Plenoxels, InstantNGP :速いけど低品質 3D Gaussian Splatting :高品質かつ速い
7Kイテレーションでもそこそこ良い=収束速い
Ablation Study:初期値の重要性 合成データ(Blender)だと いい加減な初期値(ランダム)でも良い結果 ランダムな初期値でも全体的には良い結果 しかし、背景部分にモヤ(floaters)が出現
Ablation Study:ガウシアンの分割やクローンをやらない場合などの違い 大きなガウシアンを分割しないと 背景がだめになる (細かい部分に適応できない?) 小さなガウシアンをクローンしないと 収束が弱くなる
Ablation Study:3Dガウシアンが異方性を持つ必要性 割りと露骨に球体が現れる
Ablation Study:諸々の効果 • 球面調和関数(Spherical Harmonics, SH) 視点依存の効果を付与できる
Limitations(というより性質に近い) • 観測シーンが少ない場合はアーチファクトが発生 • 大きなガウシアンが作られた場合にポッピングが発生(LODの切り替えタイミングで起きるアーチファクト) • 視点位置のアピアランスの影響? • ラスタライザのガードバンドで棄却される?(説明省きました) •
細長いアーチファクトやポツポツとしたアーチファクトになりがち
思ったこと メタボールっぽい Fuzzy Metaballsというのが1年前にあった https://kanamori.cs.tsukuba.ac.jp/jikken/inner/metaball.pdf
補足
Plenoxels https://alexyu.net/plenoxels/
None
Fuzzy Metaballs https://leonidk.com/fuzzy-metaballs/