MonoGS

Matsuki 2024 · 論文

一行要約 — 「Gaussian Splatting SLAM」(CVPR 2024ハイライト): 単眼SLAMにおける3D Gaussian Splattingの最初の応用であり、Gaussianを唯一の3D表現として用い、ラスタライズされた地図に対する直接最適化によってカメラを追跡し、3 fpsでライブ動作する。

問題

3D Gaussian Splattingは高速な微分可能ラスタライゼーションによってフォトリアリスティックな地図を生成するが、元の3DGSアルゴリズムは「オフラインのStructure from Motion(SfM)システムからの正確な姿勢を必要とする」 — これはバッチ処理の手法であり、姿勢は所与のものとされる。それをSLAMの内部で使うことは逆を意味する。ライブカメラから漸進的にGaussianを構築しながら、そのGaussianから姿勢を推定するということである。「視覚SLAMにとって最も基本的だが最も困難な設定」である単一の単眼RGBストリームにおいて、ラスタライゼーションは視線方向に沿って何の制約も課さず、新しく挿入されたGaussianは複数の視点がそれを制約するまで幾何学的に曖昧なままである。

手法とアーキテクチャ

地図は非等方的なGaussianの集合 G\mathcal{G} であり、各Gaussianは色 cic^i、不透明度 αi\alpha^i、ワールド座標系の平均 μWi\boldsymbol{\mu}_W^i、共分散 ΣWi\boldsymbol{\Sigma}_W^i を持つ(球面調和関数は省略)。ピクセルの色は、深度順にソートされた N\mathcal{N} 個のGaussianをスプラットしてアルファブレンディングすることで合成される。

Cp=iNciαij=1i1(1αj),Dp=iNziαij=1i1(1αj),\mathcal{C}_p=\sum_{i\in\mathcal{N}}c_i\alpha_i\prod_{j=1}^{i-1}(1-\alpha_j), \qquad \mathcal{D}_p=\sum_{i\in\mathcal{N}}z_i\alpha_i\prod_{j=1}^{i-1}(1-\alpha_j),

ここで ziz_i はレイに沿ったGaussian ii までの距離である(深度も同様の方法でラスタライズされる)。画像への投影は μI=π(TCWμW)\boldsymbol{\mu}_I=\pi(\boldsymbol{T}_{CW}\cdot\boldsymbol{\mu}_W)ΣI=JWΣWWJ\boldsymbol{\Sigma}_I=\mathbf{J}\mathbf{W}\boldsymbol{\Sigma}_W\mathbf{W}^\top\mathbf{J}^\top であり、TCWSE(3)\boldsymbol{T}_{CW}\in SE(3) はカメラ姿勢、J\mathbf{J} は線形化された投影のヤコビ行列、W\mathbf{W}TCW\boldsymbol{T}_{CW} の回転成分である。

DμCDTCW=[IμC×],\frac{\mathcal{D}\boldsymbol{\mu}_C}{\mathcal{D}\boldsymbol{T}_{CW}}=\begin{bmatrix}\boldsymbol{I} & -\boldsymbol{\mu}_C^{\times}\end{bmatrix},

ここで μC×\boldsymbol{\mu}_C^{\times} はカメラ座標系におけるGaussian中心の反対称行列である。これらはCUDAラスタライザに直接組み込まれる。

実験結果

RTX 4090搭載のデスクトップ上(マルチプロセス実装、単眼で3 fpsのライブ動作)で以下を得る。

SLAMにおける意義

MonoGSはGaussian-splatting SLAMへの正統な単眼入口である。レンダリング品質の地図とカメラ追跡が1つの微分可能な表現をインタラクティブなレートで共有できることを示した。その解析的ヤコビ行列・直接整合の定式化は、splatting SLAMを直接的な手法(DTAM、LSD-SLAM、DSO)に結びつけている — はるかに豊かな地図に適用された同じ光度学的原理であり、その可視性に基づくキーフレーミングはDSOのウィンドウ管理を反映している。これはMonoSLAMとiMAPと同じインペリアル・カレッジの研究室から生まれたものであり、それぞれがその時代の地図表現を再定義してきた。

ハンズオン

関連ノート