DPV-SLAM
Lipson 2024 · 論文
一行要約 — DPVOを、効率的なループクロージングと大域補正機構を追加することで完全なSLAMシステム(ECCV 2024)に拡張し、単一GPUでのリアルタイム動作を維持した。
問題
深層ネットワークベースのSLAMバックボーンは優れた精度を発揮するが、「そのようなアプローチはしばしば実行コストが高く、あるいはゼロショットでの汎化性能が良くない。また、フロントエンドとバックエンドがGPUリソースへのアクセスを競い合うため、実行時間が大きく変動しうる」。具体的には、1台のデバイス上で2つのCUDAワークロードが逐次実行されるため、既存の深層SLAMシステムはバックエンドの反復処理が動く間、周期的に約30Hzから1Hz未満へ落ち込む——一貫したリアルタイム性には2台のGPUが必要になる——また、フローベースのバックエンドはすべてのフレームについて密な特徴マップを保持しなければならないため、メモリは映像の長さに比例して増大する。DPVOは効率の問題を解決したが、オドメトリのみであるためドリフトが無限に増大する。DPV-SLAMはこの設計を完成させる。すなわち、ループクロージングを備え、単一GPUで5-7GBのメモリで動作し、高い最低フレームレートを保つ単眼深層SLAMである。
手法とアーキテクチャ
DPVOベース。 フロントエンドはDPVOのパッチグラフを保持する。パッチ(画素座標+逆深度)はによってフレームへ再投影される。再帰的演算子が残差と信頼度を予測し、バンドル調整は再投影を「理想的な」目標へ整合させる。
近接ループクロージング(中期)。 重要な観察は次の点である。有向エッジそれぞれについて、相関演算子は目的地フレームの密な特徴のみを必要とするが、バンドル調整の因子はエッジの方向にかかわらず両方の姿勢を制約する——したがって、どのフレームがメモリコストを負担するかを制御するためにエッジを任意に反転できる。DPV-SLAMはこれにより、過去のフレームについてはパッチ特徴のみを永続的に保存する(1000フレームあたり約0.6GB)。そして、カメラが以前に訪れた姿勢の近くを通過するたびに、古いパッチから最近のフレームへの一方向エッジを挿入する。オドメトリとループクロージングの因子は一つの共有最適化に混在させ、疎かつ可変サイズのパッチグラフ向けに新設計されたCUDAブロック疎バンドル調整によって実行される。すべてが単一プロセス・単一GPUで動作する。EuRoCにおいて、近接大域バンドル調整1回は0.1-0.18秒であり、DROID-SLAMのバックエンドの0.5-5秒と比較される。
古典的ループクロージング(長期、「DPV-SLAM++」)。 補完的なCPUバックエンドがスケールドリフトを補正する。ORB特徴に対するdBoW2画像検索でループ候補を検出し、既製の検出器・マッチャーおよび構造のみのバンドル調整で、検索された各ペア周辺の3D特徴点を三角測量する。RANSAC + Umeyamaによる整合からドリフトが得られる。キーフレームの類似度は、平滑化項とループ残差を持つ姿勢グラフに対するLevenberg-Marquardt法で最適化される。
その後、姿勢と深度が再スケールされる()。検索とPGOは並列プロセスで実行され、実行時間への影響は実質ゼロである。
実験結果
5回実行の中央値、RTX-3090での計測、すべてで同一のTartanAir学習済み重みを使用(ゼロショット):
- EuRoC: 平均ATE 0.024mであり、DROID-SLAMの0.022と同程度の精度を、5GB対20GBのメモリで、50FPS対20FPSで達成。ベースのDPVOと比較すると、誤差は4分の1に低下(0.105→0.024)し、FPSは60から50に、メモリは4GBから5GBにしか増えない。
- KITTI: DPV-SLAM++の平均ATEは39FPSで25.76mであり、DROID-SLAMの54.19以上(seq 02と09で失敗)、LDSOの22.42と比較される。シーケンス00/05/07では8.30/5.74/1.52を達成しており、近接のみの深層手法はスケールでドリフトする(seq 00でDPVOは113.21)。近接のみのループクロージングではスケールドリフトを修正できず、屋外走行を救うのは画像検索である。
- TUM-RGBD(freiburg1): DPV-SLAM++の平均は0.054であり、DROID-SLAMの0.038やGO-SLAMの0.035と比較される——30FPSで4.0-6.0GB対7.2-8.5GBという、同程度の精度帯である。
- TartanAir(コンペティションテストセット): 平均ATE 0.16 vs DROID-SLAMの0.24、27FPS対8FPS。
- 総括: 4つのベンチマーク(屋内・屋外)すべてで致命的な失敗は0件であり、1倍から4倍のリアルタイムスループットを実現。
SLAMにおける意義
DPV-SLAMはDROID-SLAM→DPVOの流れを完成させる。すなわち、疎で高速化された微分可能バンドル調整ベースの視覚オドメトリに、ついにループクロージングが備わり、真のSLAMシステムとなった——そして、学習されたフロントエンドが古典的な大域処理機構(dBoW2検索、姿勢グラフ最適化)とどのように一つの計算予算内で組み合わさるかを示す明快な事例研究でもある。そのエッジ反転によるメモリの工夫と、単一GPU上でのフロントエンド・バックエンドの共存は、深層SLAMがロボットに搭載されることを妨げているシステム上の課題に対応している。