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
600
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.3k
Neural Network Diffusion
frkake
0
180
Segment Anything + Alpha
frkake
0
200
[RetNet] Retentive Network: A Successor to Transformer for Large Language Models
frkake
0
220
Muse: Text-To-Image Generation via Masked Generative Transformers
frkake
0
85
Other Decks in Research
See All in Research
BtoB プロダクトにおけるインサイトマネジメントの必要性 現場ドリブンなカミナシがインサイトマネジメントに取り組むワケ / Why field-driven Kaminashi is working on insight management
kaminashi
1
290
ナレッジプロデューサーとしてのミドルマネージャー支援 - MIMIGURI「知識創造室」の事例の考察 -
chiemitaki
0
230
地理空間情報と自然言語処理:「地球の歩き方旅行記データセット」の高付加価値化を通じて
hiroki13
1
190
Neural Fieldの紹介
nnchiba
2
720
国際会議ACL2024参加報告
chemical_tree
1
440
ソフトウェア研究における脅威モデリング
laysakura
0
1.7k
eAI (Engineerable AI) プロジェクトの全体像 / Overview of eAI Project
ishikawafyu
0
390
大規模日本語VLM Asagi-VLMにおける合成データセットの構築とモデル実装
kuehara
5
1k
チュートリアル:Mamba, Vision Mamba (Vim)
hf149
6
2.2k
Vision Language Modelと完全自動運転AIの最新動向
tsubasashi
0
250
「熊本県内バス・電車無料デー」の振り返りとその後の展開@土木計画学SS:成功失敗事例に学ぶ公共交通運賃設定
trafficbrain
0
230
o1 pro mode の調査レポート
smorce
0
130
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.8k
Designing for Performance
lara
605
68k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
GraphQLとの向き合い方2022年版
quramy
44
14k
Making Projects Easy
brettharned
116
6k
BBQ
matthewcrist
87
9.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
A better future with KSS
kneath
238
17k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
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/