vMAP
Kong 2023 · 論文
一行要約 — 検出された各オブジェクトに専用の小さなMLPを持たせ、それらすべてをベクトル化された演算により同時に学習するオブジェクトレベルのニューラルフィールドSLAM――モデル不要のオブジェクト単位再構成を、シーンあたり最大50個のオブジェクトに対して5Hzの地図更新で実現する、水密な再構成。
問題
iMAPやNICE-SLAMのようなニューラルフィールドSLAMシステムは、シーン全体を1つの単一なフィールドとして表現し、オブジェクトレベルの構造を持たない。そのため個々のオブジェクトを抽出することは難しい。「ネットワークパラメータと特定のシーン領域との対応関係が複雑である」ためだ。一方、オブジェクトレベルSLAMは、未観測な表面を補完するためにCADモデルやカテゴリレベルの形状事前分布を必要としていた――事前分布がなければ直接観測された部分しか再構成されず、穴が残る。vMAPは事前分布なしのケースを対象とする。すなわち、稼働中のRGB-D SLAMシステム内での、効率的かつ水密なオブジェクト単位再構成である。
手法とアーキテクチャ
オブジェクトの初期化と関連付け。 各フレームには密なインスタンスマスクが付随する(グラウンドトゥルース、またはLVISで事前学習されたDetic)。検出結果はフレーム間で2つの基準によって関連付けられる――意味的一致性(同じ予測クラス)と空間的一致性(3Dオブジェクト境界の平均IoU)。マッチしなかった検出結果はモデルスタックに新たなオブジェクトMLPを生成・追加する。オブジェクトごとの3D境界は深度から逆投影した点群から得られ、観測が蓄積されるにつれて精緻化される。カメラ姿勢はORB-SLAM3から外部的に提供される。これは「姿勢とジオメトリを同時最適化するよりも正確かつロバストである」ことが判明したためである。
ベクトル化学習(主要な貢献点)。すべてのオブジェクトMLPは同一のアーキテクチャを共有する(4層、隠れ層サイズ32; 背景モデルは128)。そのため、Pythonループの代わりにPyTorchのベクトル化演算を用いて、単一のバッチ処理として積み重ね・最適化できる。各オブジェクトは自身の独立したキーフレームバッファからピクセルをサンプリングするため、あるオブジェクトの学習は他のオブジェクトと干渉することなく停止・再開できる。
深度ガイドサンプリング。 各レイに沿って、個の点が近傍境界 と深度マップ表面 の間で層化均一サンプリングされ、個の点は表面付近に集中する:
ここで cmであり、無効な深度は遠方境界にフォールバックする。
占有率レンダリング。 視線方向は省略され(視点依存の見た目より表面を重視)、各点は占有確率 を持ち、終端確率 を与えてレンダリングする:
損失。 オブジェクト に対して、ピクセルはその2Dバウンディングボックス 内のみでサンプリングされる。深度と色はマスク 内で(L1で)教師付けされる一方、レンダリングされた占有率は 全体でマスクに一致するように押し付けられる――これによりフィールドはオブジェクト外部では空になるよう学習する:
合成レンダリング。 任意のオブジェクトはその3D境界内でクエリ、固定、除去、再合成できる。シーンレベルの新規視点合成では、オブジェクトごとにRay-Box交差を使用し、レンダリングされた深度をレイごとにランク付けしてオクルージョンを考慮した合成を行う。
実験結果
- Replica(8シーン、それぞれ2000枚のRGB-Dフレーム、GT姿勢ベースラインには*を付与):オブジェクトレベルの精度2.23cm、Completion 1.44cm、Completion Ratio 94.55%(<5cm)および69.23%(<1cm)――iMAP*(3.57 / 2.38 / 90.19 / 47.79)およびNICE-SLAM*(3.91 / 3.27 / 83.97 / 37.79)と比較して、「オブジェクトレベルのCompletionでiMAPおよびNICE-SLAMに対して50~70%以上の改善」。シーンレベルのCompletion Ratioは92.99%であり、90.85(iMAP*)、86.52(NICE-SLAM*)と比較される。
- TUM RGB-Dトラッキング(姿勢・地図同時最適化モード、ATE RMSE):fr1-desk / fr2-xyz / fr3-officeでそれぞれ2.6 / 1.6 / 3.0cm――iMAP(4.9 / 2.0 / 5.8)およびNICE-SLAMより良好だが、ORB-SLAM2(1.6 / 0.4 / 1.0)には及ばない。これがORB-SLAM3を外部トラッカーとして用いる理由である。
- 効率(Replica Room-0、RTX 3090):全パラメータ数0.66M(オブジェクトあたり約40KB) vs NICE-SLAMの12.12M;フレームあたりのマッピング226ms(約5Hz)――iMAPより1.5倍速く、NICE-SLAMより4倍速い。ベクトル化学習により、200オブジェクトでも各最適化ステップは15ms未満に保たれる一方、逐次forループ学習では計算量が爆発する。
- ScanNetとライブAzure Kinectデータでは、NICE-SLAM*よりも鮮明なオブジェクト境界を、オフラインのObjSDFよりも精細な詳細を、現実的な穴埋めとともに生成する――ただし完全に視野外の領域(例:椅子の背面)は3D事前分布なしでは到達できないままである。
SLAMにおける意義
vMAPはオブジェクトレベルの分解をニューラルフィールドSLAMにもたらし、オブジェクトSLAMの系譜(SLAM++、Fusion++、NodeSLAM)と暗黙的マッピングの系譜(iMAP、NICE-SLAM)を橋渡しした。得られる地図は単なるジオメトリではなく、独立に学習・操作可能なオブジェクトエンティティの集合である――これはロボット操作やシーン編集が正に必要とするものだ。そしてベクトル化学習のトリックは、「多数のネットワーク」が単一GPU上でスケールすることを示した。この手法はオブジェクト中心のニューラルフィールドマッピングの参照設計となり、その後のオブジェクト認識密なSLAM研究に影響を与えた。