GS-ICP SLAM

Ha 2024 · 論文

一行要約 — 「RGBD GS-ICP SLAM」は、Generalized ICPによるトラッキングと3DGSによるマッピングを、両者に共通するファクター — ガウシアン(平均+共分散) — を通じて融合し、トラッキングとマッピングの間で共分散が双方向に流れるようにすることで、システム全体で最大107 FPSを達成する。

問題

初期の3DGS SLAMシステム(SplaTAM、MonoGS、GS-SLAM)は、ガウシアンマップをレンダリングして密な光度誤差を最小化することでカメラをトラッキングする — 1フレームあたり数十回のラスタライズが必要であり、トラッキングは遅くなる。一方、分離型のシステム(Photo-SLAM、Orbeez-SLAM、vMAP)はORB-SLAMのフロントエンドをニューラルマップに後付けする形をとり、「トラッキング用にORB特徴情報を含む別個のマップ」を必要とし、その計算結果はマッピングには一切再利用されない。GS-ICP SLAMの着眼点は、3Dガウシアンはすでに確率分布そのものであり、G-ICPレジストレーションが必要とするのはまさに平均と共分散である — したがって「G-ICPと3DGSは同一のガウシアンワールドを共有できる」という点にある。

手法とアーキテクチャ

シーンは1組のガウシアン集合 G={X,C}\boldsymbol{G}=\{\boldsymbol{\mathcal{X}},\boldsymbol{\mathcal{C}}\} (3D点と共分散、レンダリング用の色と不透明度の集合 H,O\boldsymbol{H},\boldsymbol{O} を含む)として表現される。各フレームでは、深度画像をダウンサンプリングして逆投影しソースガウシアンを生成し、マップに対してG-ICPでトラッキングを行い、(キーフレームの場合は)ソースガウシアンを新しいマップのプリミティブとして挿入する一方で、並行するマッピングスレッドがラスタライズによってそれらを最適化する。

T=argminTiNdi(Cit+TCisT)1di,\mathbf{T}^{*}=\operatorname*{argmin}_{\mathbf{T}}\sum_i^N d_i^{\top}\left(C_i^{t}+\mathbf{T}C_i^{s}\mathbf{T}^{\top}\right)^{-1}d_i ,

が得られる。つまり、両分布の合成された不確かさで重み付けされたレジストレーションである。トラッキングのために画像がレンダリングされることは一度もない。

実験結果

Ryzen 7 7800X3D + RTX 4090、RGB-D入力にて:

SLAMにおける意義

GS-ICP SLAMは、古典的な幾何レジストレーションと現代の微分可能レンダリングが単一のデータ構造を共有できることを示している。幾何によってトラッキングし、見た目によってマッピングする — 両方に一つの確率的ガウシアンワールドが仕えるのである。概念的には、3DGSの潮流を数十年にわたるICPベースのRGB-D SLAM(KinectFusionの系譜)に再接続するものであり、また、トラッキングが決してレンダリングを行わないため、光度トラッカーを悩ませる露出変化に対して本質的に頑健である。実務者にとっては、密で写実的なSLAMが遅くなくてもよいことを示す代表的な実証例として位置づけられている。

関連ノート