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
770
3D Gaussian Splatting for Real-Time Radiance Field Rendering
frkake
March 05, 2024
Tweet
Share
More Decks by frkake
See All by frkake
[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
260
[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
110
Other Decks in Research
See All in Research
A multimodal data fusion model for accurate and interpretable urban land use mapping with uncertainty analysis
satai
3
260
Type Theory as a Formal Basis of Natural Language Semantics
daikimatsuoka
1
270
不確実性下における目的と手段の統合的探索に向けた連続腕バンディットの応用 / iot70_gp_rff_mab
monochromegane
1
100
SSII2025 [SS2] 横浜DeNAベイスターズの躍進を支えたAIプロダクト
ssii
PRO
7
3.9k
Submeter-level land cover mapping of Japan
satai
3
200
SSII2025 [TS1] 光学・物理原理に基づく深層画像生成
ssii
PRO
4
4.1k
Galileo: Learning Global & Local Features of Many Remote Sensing Modalities
satai
3
140
VectorLLM: Human-like Extraction of Structured Building Contours via Multimodal LLMs
satai
4
100
[CV勉強会@関東 CVPR2025] VLM自動運転model S4-Driver
shinkyoto
2
430
業界横断 副業・兼業者の実態調査
fkske
0
220
Generative Models 2025
takahashihiroshi
23
13k
利用シーンを意識した推薦システム〜SpotifyとAmazonの事例から〜
kuri8ive
1
240
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
A Modern Web Designer's Workflow
chriscoyier
695
190k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
Why Our Code Smells
bkeepers
PRO
338
57k
A better future with KSS
kneath
239
17k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Six Lessons from altMBA
skipperchong
28
4k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
Writing Fast Ruby
sferik
628
62k
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/