$30 off During Our Annual Pro Sale. View Details »
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
860
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
210
[CorrMLP] Correlation-aware Coarse-to-fine MLPs for Deformable Medical Image Registration
frkake
0
1.4k
Neural Network Diffusion
frkake
0
250
Segment Anything + Alpha
frkake
0
280
[RetNet] Retentive Network: A Successor to Transformer for Large Language Models
frkake
0
320
Muse: Text-To-Image Generation via Masked Generative Transformers
frkake
0
130
Other Decks in Research
See All in Research
Panopticon: Advancing Any-Sensor Foundation Models for Earth Observation
satai
3
380
説明可能な機械学習と数理最適化
kelicht
2
640
とあるSREの博士「過程」 / A Certain SRE’s Ph.D. Journey
yuukit
11
5k
PhD Defense 2025: Visual Understanding of Human Hands in Interactions
tkhkaeio
1
320
VectorLLM: Human-like Extraction of Structured Building Contours via Multimodal LLMs
satai
4
470
一人称視点映像解析の最先端(MIRU2025 チュートリアル)
takumayagi
6
4.3k
能動適応的実験計画
masakat0
2
1.1k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
110
大規模言語モデルにおけるData-Centric AIと合成データの活用 / Data-Centric AI and Synthetic Data in Large Language Models
tsurubee
1
400
国際論文を出そう!ICRA / IROS / RA-L への論文投稿の心構えとノウハウ / RSJ2025 Luncheon Seminar
koide3
10
6.2k
スキマバイトサービスにおける現場起点でのデザインアプローチ
yoshioshingyouji
0
270
「どう育てるか」より「どう働きたいか」〜スクラムマスターの最初の一歩〜
hirakawa51
0
1k
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
The Invisible Side of Design
smashingmag
302
51k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
[SF Ruby Conf 2025] Rails X
palkan
0
460
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
How GitHub (no longer) Works
holman
316
140k
The Cult of Friendly URLs
andyhume
79
6.7k
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/