DS-SLAM
Yu 2018 · 論文
一行要約 — SegNetによるセマンティックセグメンテーションと、オプティカルフロー/エピポーラの移動一貫性チェックを組み合わせて動体を除去する、動的環境向けのセマンティック視覚SLAM。ORB-SLAM2上に構築され、密なセマンティックオクトツリーマップを生成する。
問題
数十年にわたる進展にもかかわらず、モバイルロボットSLAMにおいて未解決のままだった2つの問題がある。「動的環境における移動物体をどう扱うか」と「ロボットが周囲の環境を真に理解し、高度なタスクを達成する方法」である。シーンを歩く人物は姿勢推定を破壊する(その特徴が静的世界の仮定に違反するため)。また、純粋に幾何的なマップは高次のタスクに対してセマンティクスを何も提供しない。DS-SLAMはこの両方に対応する。すなわち、動的シーンにおけるロバストな位置推定と、ナビゲーションなどに利用できるセマンティックマップである。
手法とアーキテクチャ
- 5つの並列スレッド: トラッキング、セマンティックセグメンテーション、ローカルマッピング、ループクロージング、密なセマンティックマップ生成であり、ローカルマッピングとループクロージングはORB-SLAM2から変更されていない。各RGBフレームはトラッキングとセグメンテーションに同時に送られる——トラッキングスレッドがSegNetの結果を待っている間、移動一貫性チェックを実行するため、両スレッドはおおむね同じタイミングで完了する。
- セマンティックセグメンテーション: PASCAL VOC(20クラス)で学習されたリアルタイムSegNet(Caffe)。人物が典型的な動的クラスとして扱われるが、この仕組みはセグメント化されたあらゆる可動カテゴリに適用可能である。
- 移動一貫性チェック: オプティカルフローのピラミッドが特徴点を現在のフレームにマッチングする(画像端付近のマッチ、または3×3ブロックの見え方の差が大きいマッチは棄却される)。RANSACが基礎行列を推定する。マッチした同次座標点、について、現在フレームにおけるエピポーラ線はであり、点がこの線からの距離
が予め定めた閾値を超える場合、その点は移動していると判定される。
- 外れ値の除去——セマンティクスと幾何の統合: 動的領域全体の輪郭を幾何的に抽出することはコストが高く脆弱であるため、2つの信号を2段階の判定に統合する。すなわち、十分な数の移動一貫性の点がセグメント化された物体の輪郭内に落ちる場合、その物体は移動していると判定され、その輪郭内のすべてのORB特徴が姿勢推定前に除去される。人物が検出されない、または検出された人物が静止している場合、すべての特徴が使用される——静止している「動的」クラスが無駄に捨てられることはない。
- 密なセマンティック3Dオクトツリーマップ: キーフレームの姿勢と深度画像からローカルな点群が構築され、大域的なオクトツリーに融合され、各ボクセルはセマンティックラベルで色付けされる。占有はログオッズスコアを用いて確率的に融合され、観測ごとに次式で更新される。
ここで、ボクセルが時刻に占有として観測された場合、それ以外の場合は0である。確率が閾値を超えたボクセルのみが保持されるため、一時的な(動的な)ボクセルはマップの中で安定化しない。
実験結果
- TUM RGB-D(RGB-D ORB-SLAM2との比較;Intel i7、P4000 GPU): 高動的シーケンスにおけるATE RMSEは1桁小さくなる——fr3_walking_xyz 0.7521 → 0.0247m(96.71%)、fr3_walking_static 0.3900 → 0.0081m(97.91%)、fr3_walking_half 0.4863 → 0.0303m(93.76%)、fr3_walking_rpy 0.8705 → 0.4442m(48.97%)。改善はRMSEで最大97.91%、標準偏差で最大97.94%に達する。
- ドリフト(RPE): walking_xyzにおける並進ドリフトのRMSEは0.4124 → 0.0333、回転は7.7432 → 0.8266に低下する;低動的なfr3_sitting_staticではORB-SLAM2が既に良好に対処できているため改善は小さい(ATE 25.94%)。
- 処理時間: トラッキングスレッドにおいてORB抽出9.4ms + 移動一貫性チェック29.5ms、これはSegNetの37.6msと並行実行される;オクトツリーマッピングを含む全体パイプラインでフレームあたり平均約59.4ms——ほぼリアルタイムであり、従来の動体フィルタリング手法とは異なる。
- 実機ロボット: Kinect V2(960×540)を搭載したTurtleBot2上でROSと統合されており、ログオッズフィルタリングにより歩行する人物の影響を受けないオクトツリー再構成と、ナビゲーション用の2Dコストマップが得られる。
SLAMにおける意義
古典的SLAMは静的世界を仮定しており、シーンを歩く人物はトラッキングを著しく破壊しうる——TUM RGB-Dの動的シーケンスはまさにこれを露呈させるために存在する。DS-SLAMは、同時期のDynaSLAMとともに、この問題への代表的な解答の一つである。すなわち、ORB-SLAM2のバックボーン内でセグメンテーションネットワークと幾何一貫性チェックを融合するというものである。この「セマンティック事前情報+動き検出」というレシピは動的環境SLAMの標準的なベースライン設計として確立され、そのセマンティックオクトツリー出力は、位置推定だけでなく高次タスクのために構築されるマップを先取りしていた。