RTG-SLAM

Peng 2024 · 論文

一行要約 — リアルタイムGaussian SLAM(SIGGRAPH 2024)。コンパクトな二値不透明度Gaussian表現、サーフェル風の深度レンダリング、そして不安定なGaussianのみを最適化し、そのピクセルのみをレンダリングするオンザフライ方式によって、3DGS再構成を大規模シーンにスケールさせる。

問題

初期の3DGS SLAMシステムは毎フレームすべてのGaussianを最適化し、すべてのピクセルをレンダリングしていたため、コストはマップの規模に応じて増大していた——同時期で最速のGaussian SLAMでも合成データのReplicaにおいて8.34 fpsであり、実世界の大規模シーン全体を示したものはなかった。素の3DGSはまた、多数の重なり合う半透明Gaussianで表面をフィットさせるため、メモリと計算の両面で無駄が多い。RTG-SLAMは「Gaussian splattingを用いてRGBDカメラで大規模環境をリアルタイム3D再構成するシステム」であり、フレームごとのコストがマップ規模ではなく変化量に追随するように構築されている。

手法とアーキテクチャ

各Gaussianは位置pi\mathbf{p}_i、共分散Σi\boldsymbol{\Sigma}_i(スケールsi\mathbf{s}_i+四元数qi\mathbf{q}_i)、不透明度αi\alpha_i、SH係数を持ち、さらに法線ni\mathbf{n}_i、信頼度カウントηi\eta_i、タイムスタンプtit_iを持つ楕円ディスク(サーフェル)として扱われる。不透明度は生成時に固定される。opaque(不透明)(α=0.99\alpha=0.99、表面と主要な色にフィット)またはnearly transparent(ほぼ透明)(α=0.1\alpha=0.1、残差色にフィット)のいずれかであり、深いアルファ合成の積み重ねは行わない。

pGjr,r=(RgK1u˙)θu+tg,θu=(pjrtg)njr(RgK1u˙)njr,\mathbf{p}_{G_{j}^{\mathbf{r}},\mathbf{r}}=(\mathbf{R}_{g}\mathbf{K}^{-1}\dot{\mathbf{u}})\,\theta_{\mathbf{u}}+\mathbf{t}_{g},\qquad \theta_{\mathbf{u}}=\frac{(\mathbf{p}_{j}^{\mathbf{r}}-\mathbf{t}_{g})\cdot\mathbf{n}_{j}^{\mathbf{r}}}{(\mathbf{R}_{g}\mathbf{K}^{-1}\dot{\mathbf{u}})\cdot\mathbf{n}_{j}^{\mathbf{r}}},

から得られる。これは完全に微分可能であり、単一の不透明Gaussianだけで局所的な表面パッチをフィットできる。法線マップとインデックスマップも同一のパスから得られる。

実験結果

i9-13900KF + RTX 4090上、Azure Kinectによるライブスキャンで:

SLAMにおける意義

RTG-SLAMは、Gaussian SLAMの計算量をマップ規模ではなく変化量に比例させる方法を示した——これは古典的な大規模SLAMを扱いやすくした洞察(局所BA、共視性ウィンドウ)と同じ発想を、KinectFusion風のICPトラッキングとサーフェル風の信頼度管理を通じてスプラッティングの時代に翻案したものである。その安定/不安定な状態管理とディスクベースのデプスレンダリングは、Gaussian SLAMを実際の建物や実際のロボットにスケールさせるための参照デザインとなった。

関連ノート