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
Horizon-GS: Unified 3D Gaussian Splatting for L...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Spatial AI Network
May 15, 2025
Technology
0
480
Horizon-GS: Unified 3D Gaussian Splatting for Large-Scale Aerial-to-Ground Scenes
Scaffold-GS, Octree-GSをベースに、地上と空からの2種類の撮影画像から復元するための工夫たち。 CVPR2025。
Spatial AI Network
May 15, 2025
Tweet
Share
More Decks by Spatial AI Network
See All by Spatial AI Network
Uncalibrated Structure from Motion on a Sphere (ICCV 2025)
spatial_ai_network
0
120
Understanding multi-view transformers (and VGGT)
spatial_ai_network
0
260
Preconditioned Single-step Transforms for Non-rigid ICP (Eurographics 2025)
spatial_ai_network
0
100
Human Mesh Modeling for Anny Body + α
spatial_ai_network
0
130
ChatGPTで論⽂は読めるのか
spatial_ai_network
12
31k
Exploring ways to enhance robustnessof 3D reconstruction using COLMAP
spatial_ai_network
1
160
CL-Splats: Continual Learning of Gaussian Splatting with Local Optimization
spatial_ai_network
0
86
3D Prior is All You Need: Cross-Task Few-shot 2D Gaze Estimation
spatial_ai_network
0
60
Lyra: Generative 3D Scene Reconstruction via Video Diffusion Model Self-Distillation
spatial_ai_network
0
150
Other Decks in Technology
See All in Technology
プロダクトエンジニアこそ必要なPMスキル 〜デリバリー力を最大化し、価値を届け続けるために〜
layerx
PRO
0
140
【NGK2026S】日本株のシステムトレードに入門してみた
kazuhitotakahashi
0
170
Mosaic AI Gatewayでコーディングエージェントを配るための運用Tips / JEDAI 2026 新春 Meetup! AIコーディング特集
genda
0
110
BPaaSオペレーション・kubell社内 n8n活用による効率化検証事例紹介
kentarofujii
0
310
フロントエンド開発者のための「厄払い」
optim
0
170
Claude Codeベストプラクティスまとめ
minorun365
50
27k
20260120 Amazon VPC のパブリックサブネットを無くしたい!
masaruogura
2
170
SOC2は、取った瞬間よりその後が面白い
3flower
1
250
toCプロダクトにおけるAI機能開発のしくじりと学び / ai-product-failures-and-learnings
rince
3
2.2k
Amazon Bedrock AgentCore EvaluationsでAIエージェントを評価してみよう!
yuu551
0
180
BPaaSオペレーション・kubell社内 n8n活用による効率化検証事例紹介
kubell_hr
0
280
AI時代のPMに求められるのは 「Ops」と「Enablement」
shimotaroo
1
340
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
72
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
61
49k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
A better future with KSS
kneath
240
18k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
96
Amusing Abliteration
ianozsvald
0
90
Google's AI Overviews - The New Search
badams
0
890
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.5k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Transcript
2025/04/08 Spatial AI 勉強会 読み手: 菊池悠太 (Preferred Networks, inc.) to
appear at CVPR2025 図表などは特に断り無ければ論文やproj. pageより (関連論文)とあるページの図表などはその関連論文より
https://city-super.github.io/horizon-gs/ の動画
3 • Aerial-to-ground(空撮と地上撮影が混ざったデータ)な復元 ◦ 空からの地上という2ステージのアプローチ ◦ LoDやチャンク分けなど広域の復元テクニックと組み合わせ ◦ 多分はじめて •
Scaffold-GSやそのLoD拡張であるOctree-GSがベース ◦ 両論文と著者被りが多い。両論文が前提で数式が最小限 ◦ Aerial-to-groundデータでOctree-GSするなら?みたいな話 ▪ でもOctree-GSとの直接の比較が無い • 選定理由: 過去の展示で経験して大変だった経験から→ Horizon-GS 加賀温泉駅と大土集落の3Dスキャン Visiting Virtual Kagaonsen Station
4 Aerial-to-groundなシーンとその難しさ Aerial-to-ground、つまり空撮と地上撮影が混ざったデータからの復元 単純に混ぜる(オレンジ)だけだと上手くいかない 画角の違い 地上は,建物の屋上が映らなかったり建物によるオ クルージョンが激しいが,空撮だと映る 勾配蓄積がうまくいかず densificationがに悪影響 撮影分布の違い
地上は全方向見るし間隔も短いので枚数が多い 空撮は見下ろす角度で間隔が長く枚数が少ない
5 • 3.2. Gaussian Splatting Base Modules • 3.3. Aerial-Street
Joint Reconstruction ◦ Coarse-to-Fine Training. ◦ Balanced Camera Distribution. ◦ Multi-resolution LOD Construction. • 3.4. Large-scale Scene Training • 3.5. Loss Function and Regularization Horizon-GS: 論文の構成で紹介 ベースであるScaffold-GSとOctree-GSを最初に
6 (関連研究) Scaffold-GS • SfM点群PからボクセルVを作成(εがvoxel size) • 各ボクセル中心(アンカー)に特徴ベクトルと k個のガウシアンオフセットを割当 ◦
densificationするときは、アンカーを増やす • ガウシアンのopacity, color, scale, quaternionは特徴ベクトルとカメラ姿勢を元に MLPで動的に生成 Figure from Lu+, “Scaffold-GS: Structured 3D Gaussians for View-Adaptive Rendering”, CVPR2024 ← ボクセルvの座標x、スケールl、オフセットOから k個のガウ シアンの位置が決まる式 ← ボクセルvの特徴ベクトルfとカメラ情報から k個分のopacityが決まる式(FがMLP) (color, scale, quatもそれぞれMLPがある)
7 (関連研究) Octree-GS SfM点群からoctreeを構築 level数はカメラとcolmap点群の距離ベース L=0でscaffold-GSと一致 • level Lでレンダリングする時、それ以下の levelに属するガウシアンを全て使う
• 高いレベルは残差的に細かいところを補強 するようなprogressiveな工夫 Densificationのとき、平均gradが閾値を超えたボクセルに同 levelのアンカーを増やす ただ、より大きな閾値を超えた場合は次のレベルにアンカーを増やすことでディティールを強化
8 Coarse-to-Fine Training 復元工程を以下の2つのステージに分ける(どのステージでも空と地上両方使う) • 1st stage: ◦ シーンの大まかな構造を捉えるため、空撮のみで densificationのための勾配蓄積を行う
▪ 空撮用levelのみでアンカーを増やしていく ◦ 地上画像も使用はする • 2nd stage: ◦ MLPの重みをフリーズすることで 1stで得たシーンの大まかな構造( skelton)を保持 ▪ (完全フリーズで大丈夫なのだろうか) ◦ 地上画像によって詳細を肉付けしていく、そのためにも densificationのルールを変更 ▪ 従来 : screen空間での平均grad ▪ 提案手法 : screen空間での最大grad, 平均opacity、最大半径(τはハイパラ) largeでunboundedなシーンに平均 gradを使うことの問題点について指摘した Hierarchical-GSに由来 (Hierarchical-GSは広域だけど地上のみ) Kerbl+, “A Hierarchical 3D Gaussian Representation for Real-Time Rendering of Very Large Datasets”, SIGGRAPH 2024 3.3. Aerial-Street Joint Reconstruction
9 Balanced Camera Distribution 多くのデータセットで空撮と比べて地上の枚数が多いため、同じバランスでサンプルしてしまうと空から見たときにボ ヤけたり細かい構造が捉えられない 以下の式により地上と空撮のサンプリングを調整 前頁のCoarse-to-Fine Trainingと併せて、まず空撮メインで全体の構造を捉え、後半では地上メインで詳細を復元し ていく気持ち
3.3. Aerial-Street Joint Reconstruction - 1st stage: R=2、つまり2/3の確率で空撮を使う - 2nd stage: R=1、つまり半々
10 Multi-resolution LOD Construction Octree-GS(次ページ)というScaffold-GSにLoD要素を入れた手法を利用 Octree-GSをAerial-to-Ground化するにあたって • 全K階層のうち空撮用level K aerial
を設定 • 1st stageではK aerial のみ使う、アンカーのdensificationも同じレベルでのみ増やす • 2nd stageでは全部使う、さらに「勾配が大きい場合より高いレベルのアンカーを増やす」という Octree-GSで提案された機能も解禁 3.3. Aerial-Street Joint Reconstruction
11 広域シーンを復元するために、全体を小さなチャンクに分けてそのエリアのカメラと点群から復元 VastGaussianのアプローチをベースに、空と地でルールを分けている • 空: おそらくVastGaussianと同じ(次ページ) • 地: 入り組んでいるため、深度マップから密点群を作り、そのチャンクの点群を補強 ◦
実写のDepth推定はMesh Anything v2 3.4. Large-scale Scene Training
12 • まずカメラ数が同じになるように分割( a)、各エリアで、ちょっと拡大した範囲に含まれているカメラと点を選び (b)、かつそのエリアが良く写っている (f)カメラやそこから見えている部分点群も追加( d) • 各エリアを独立に復元し、マージ時は最初 (a)の境界を超える点群は削除してくっつける
(関連研究) VastGaussian Lin+, “VastGaussian: Vast 3D Gaussians for Large Scene Reconstruction”, CVPR2024
13 3.5. Loss Function and Regularization よくあるPhotometric loss
14 3.5. Loss Function and Regularization Scaffold-GSで使われている、全ガウシアンのスケールs_iを小さく保って重なり をなるべく減らすためのloss
15 3.5. Loss Function and Regularization 深度ロス、実写データの GTはDepth Anything v2で推定
Yang+, “Depth Anything V2. A More Capable Foundation Model for Monocular Depth Estimation”, NeurIPS2024 2DGSなどで使われている、「法線マップ」と「深度マップから計算した法線マップ」を一致させる
16 3.5. Loss Function and Regularization 歩行者、車、空などの推定マスク部分の opacityをゼロに近づける(マスクは GroundedSAM) Ren+,
“Grounded SAM: Assembling Open-World Models for Diverse Visual Tasks”, 2024 (arxiv)
17 Dataset シーンによって4x2〜6x2のチャンクに分割
18 実験結果
19 いろいろ比較
20 • Hierarchical-GSは地上広域シーンのために提案されている手法なので地上は強い • Octree-GSとの比較がないのは気になる 小さめの人工シーンでの定量評価
21 • *は本稿で提案したチャンク分けを行っている • Hier-GSは地上に過学習している • Octree-GSとの比較がないのは気になる 大きめの人工シーンでの定量評価
22 その他の人工シーン
23 実写データ
24 Surface Reconstruction Performance ジオメトリが得意な2D-GSでも今回のようなAerial-to-Ground設定用の工夫無しだと厳しい
25 • camera balance: 1stでは2/3の確率で空を使うやつ • densify balance: 1stでのdensificationを空だけ、2ndでは地上だけでやるやつ •
multi LoDしないと空が悪化する。 • densify policy、↓の式を平均gradに戻す Ablation Studies
26 2行目が独立に訓練したもので、それをマージして 10K iter finetuneしたものが3行目 空と地を独立に訓練したあとにくっつけて finetuneすると?
27 2nd. stageを無くすと?
28 • Scaffold-GS、Octree-GSをベースに各所にAerial-to-Groundなデータで復元するための工夫たち ◦ 3.3. Aerial-Street Joint Reconstruction ▪ Coarse-to-Fine
Training. • 1st stageで空撮基準でdensification • 2nd stageは各種MLPを固定、densification基準も変更 ▪ Balanced Camera Distribution. • 1st stageでは空撮を多く使う、2ndで半々 ▪ Multi-resolution LOD Construction. • 1st stageでは空用LoDのみ使用、densificationは同レベルのみ • 2nd stageでOctree-GS通り全部で ◦ 3.4. Large-scale Scene Training ▪ 全体を複数のチャンクに分けるとき、地上視点の点群を推定depthから補強 まとめ
29
30 BungeeNeRF Xiangli+, “BungeeNeRF: Progressive Neural RadianceField for Extreme Multi-scale
Scene Rendering”, ECCV2022 Google Earth Studioを使って高い高度(数 1000m)から低い高度(数100m)へ順にレベル(詳細度)が上 がっていくようなデータセットを構築 高い高度で学習したパラメータに付け足す形で次のレベルの表現を学習( b)