CodeMapping
Matsuki 2021 · 論文
一行要約 — CodeMapping(RA-L 2021)は、CodeSLAM 方式の学習された密なマッパーを信頼性の高いスパース SLAM システムに接続する: 輝度画像、スパース深度、再投影誤差画像を条件とする VAE が各キーフレームに対して不確実性を考慮した密な深度マップを予測し、それを並列スレッドでのマルチビューコード最適化によって精緻化する。
問題
最先端のスパース視覚 SLAM システムは正確で信頼性の高いカメラ軌跡とランドマーク位置を提供するが、そのスパースマップは「障害物回避やシーン理解といった他のタスクには使用できない」。完全に密な SLAM は(フォトメトリックノイズにより)脆弱であり、膨大なパラメータ数をリアルタイムで同時に最適化できない。一方 CodeSLAM/DeepFactors はグレースケール画像のみから深度を予測するが、これは実際には不正確である。CodeMapping は、実戦で鍛えられたトラッキングコアに触れることなく——また遅延させることなく——任意の計量的なスパース SLAM システムに密で不確実性を考慮したマッピングを追加する方法を問う。
手法とアーキテクチャ
2つの緩く結合したプロセス。 ORB-SLAM3 は無改造で実行される(トラッキング、ローカルおよびグローバルマッピング)。各ローカルバンドル調整の後、SLAM スレッドは密なマッピングスレッドに4個のキーフレーム(最新のものとその共視性上位3個)からなるウィンドウを、カメラ姿勢、スパース深度画像(キーフレームに投影されたランドマーク)、再投影誤差画像(ランドマークごとの平均再投影距離; 未マッチの新点は10に設定)とともに渡す。
スパース・トゥ・デンス VAE。 U-Net はグレースケール画像とスパース深度・再投影誤差マップ( に近接パラメータ化)を連結して入力し、VAE を条件付けて潜在コード 、密な深度マップ 、不確実性マップ を出力する。学習は KL 損失と不確実性重み付き再構成損失
を用いる。再投影誤差入力によりネットワークは外れ値のランドマーク(より高い平均再投影誤差を示す)の重みを下げることができる。学習には各画像に1000個の ORB 選択されたスパース点を持つ約40万枚の ScanNet 画像を使用し、再投影誤差は点をレイに沿って摂動させることでシミュレートされ、実際の ORB-SLAM3 実行で観測される指数-ガウス分布に従う(10エポック、学習率0.0001、256×192)。
マルチビューコード最適化。 深度はコンパクトなコードのままであるため、マッパーは GTSAM 内で DeepFactors 方式の因子を用いて整合性を精緻化する——コードのみを最適化し(スパース SLAM からの姿勢は信頼され固定される)、すべての因子に Huber コストを用いる。ワープ を用いて:
幾何項には BRISK マッチ とスパースにサンプリングされたピクセル を用いる。精緻化されたキーフレーム深度は、スパース SLAM の軌跡がグローバルに整合しているため、最終的にグローバルに整合した TSDF モデルへ融合できる。
実験結果
- ScanNet テストシーン(ORB-SLAM3 RGB-D; レンダリングされた正解データに対する MAE/RMSE、単位はメートル): 全手法は7個のシーケンスすべてで DeepFactors(輝度のみの条件付け)と Ma et al. のスパース・トゥ・デンスネットワークに勝る——例えば scene0100_00 では MAE 0.046 で、DeepFactors(0.185)や Ma et al.(0.141)を上回る。マルチビュー最適化は単一視点予測を約10%改善する。
- EuRoC MAV(視覚慣性モード、LiDAR レンダリングによる正解データ): 全手法は V101 で MAE 0.192 m であり、DeepFactors の0.842、Ma et al.の0.495を上回る; スパース点条件付けはドメインシフトの罰則を著しく低減し、再投影誤差条件付けは EuRoC のテクスチャの少ない壁に頻出する大きな外れ値をフィルタリングする。
- 実行時間(i9-10900 + RTX 3080、両データセットの平均): TensorFlow C++ API 経由の密な予測が235ミリ秒(Python API 経由では11ミリ秒)、4個のキーフレームに対するマルチビュー最適化が170ミリ秒——SLAM プロセスを遅延させることなく約1 Hzの密なマップ更新。
- 質的評価: Kimera の Delaunay 三角分割よりも滑らかで正確なローカルメッシュ; TSDF 融合によるグローバル再構成; スケール補正された純粋な単眼 ORB-SLAM 出力でも動作する。
SLAMにおける意義
CodeMapping は、デプロイ可能なシステムを支配する実用的な「ハイブリッド」設計の明確な例である: 実戦で鍛えられたスパースフロントエンドを維持し、古典的な手法が弱い部分(密な幾何)にのみ学習を追加し、ネットワークの失敗がトラッキングを決して殺せないように緩く結合する。これは CodeSLAM/DeepFactors の潜在コードの系譜を実運用向けのアーキテクチャへと引き継ぎ、その著者(Matsuki)は後に、トラッキングと並行した密なマッピングという哲学を Gaussian-splatting SLAM(MonoGS)へと引き継いだ。
関連ノート
- CodeSLAM
- DeepFactors
- TANDEM
- ORB-SLAM3
- MonoGS
- Kimera / 3D Dynamic Scene Graph — 比較対象となる幾何学的なリアルタイムメッシュ化アプローチ