6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【論文】A Comprehensive Survey of Visual SLAM Algorithms

Last updated at Posted at 2024-03-26

visual SLAM アルゴリズムに関する包括的サーベイ(2022)

visual SLAM の概要と各アプローチについて詳しく書かれているサーベイ論文を見つけたので、自分の分かる範囲でまとめてみました。

SLAMとは?

Simultaneous Localization and Mapping の略称。環境のマップ作成と自己位置の推定を同時に行うタスク。主に拡張現実やロボット工学の分野で使用されている。

visual SLAMとは?

SLAM のうち、カメラなどで取得した画像データを基にしたものを visual SLAM(vSLAM) と呼ぶ。センサ構成が単純であることや、比較的低コストでも実現できるため、特に注目を集めている。

vSLAMのアルゴリズム

image.png

まず初めに、どのような情報を用いるかだが、vSLAMには3つの主要なアプローチが存在する。

  • visual-only SLAM
    単眼またはステレオのカメラから取得した画像のみを使用する
  • visual-interial SLAM
    visual-only SLAM に慣性計測ユニットIMU)による情報を追加
  • RGB-D SLAM
    visual-only SLAM に深度センサによる情報を追加

情報を取得したのち、グローバル座標を決定し、追跡とマッピングを行うための初期マップを構築する(初期化)。その後、センサの姿勢を継続的に推定し、PnP 問題1を解いて現在のフレームとマップの間の 2D と 3D の対応関係を確立する(トラッキング)。最後に、カメラの移動に応じて 3D 構造を計算して拡張し、疎、半密2、または密な三次元再構築が行われる(マッピング)。

このように、vSLAMのアルゴリズムは、初期化→トラッキング→マッピングという3つのプロセスで表すことができる。

また、vSLAMに密接に関連している技術として、ビジュアルオドメトリVO)がある。vSLAMとVOの主な違いは、推定された軌道とマップの一貫性を考慮するかどうかにある。VOは局所的最適化のみを行うのに対し、vSLAMはループクロージャーを使用して軌道の修正を行うことができる。

visual-only SLAM

メリット
センサーサイズが小さい、低価格、キャリブレーションが容易、低消費電力

デメリット
初期深度や姿勢推定、ドリフト、スケール推定など、システムの初期化が複雑

visual-only SLAM はさらに、特徴ベースの手法直接的手法に大別される。

  • 特徴ベース手法 ... 特徴点抽出によりキーポイントを検出し、それらを画像間で一致させることにより姿勢推定を行う手法。すべてのフレーム情報を使用しないため埋め込み実装に適しているが、無地の環境では十分な数のキーポイントを検出することができず、失敗する可能性がある

  • 直接的手法 ... 事前処理を行わずにピクセルの強度値のみから姿勢推定を行う手法。様々なアルゴリズムがあり、それによってマップの密度が疎な場合と密な場合がある。密な再構成を行うほど計算コストは高く、リアルタイムでの動作に制約がかかる

image.png

visual-interial SLAM

メリット
環境情報が増加することにより精度が向上

デメリット
カメラに加えてIMUの初期化も必要なため、アルゴリズムが複雑

visual-interial SLAM はさらに、カメラとIMUデータの間の融合タイプに応じて分割することができる。

  • 疎結合手法 ... IMUデータを姿勢の推定ではなく、センサ位置の方向と変化を推定する

  • 密結合手法 ... カメラとIMUデータ両方を用いて姿勢を推定する

RGB-D SLAM

メリット
SLAM初期化の複雑性が低減

デメリット
屋外には適さない、大量のメモリと消費電力を要する

vSLAMアルゴリズムの分析

アルゴリズムを体系的に分析・評価するために、SLAMのシステムに影響を与える6つの基準を設定する。

  • アルゴリズムタイプ
  • マップ密度
  • グローバル最適化
  • ループクロージャー
  • 組み込み実装
  • 可用性

visual-only SLAM

  • MonoSLAM (2007) ... 拡張カルマンフィルタ (EKF) を使用してカメラの動きとマップを推定。グローバル最適化、ループクロージャーを使用しないため正確性に欠ける
  • Parallel Tracking and Mapping (2007) ... トラッキングとマッピングを2つの異なるスレッドに分離し、マッピングスレッドにキーフレームの概念を導入。消費電力が大きく組み込み実装には向かない
  • Dense Tracking and Mapping (2011) ... フレームの逆深度3を用いて平均測光誤差の最小化を行う密マッピングと密トラッキングを提案。高密度のマップを構成するが計算コストが高い
  • Semi-Direct Visual Odometry (2014) ... 特徴ベース手法と直接的手法の両方の利点を組み合わせた手法。低コストで組み込み実装に適しているが、データの関連付けを短時間で行うため精度が低い
  • Large-Scale Direct Monocular SLAM (2014) ... 半密再構成を行う。トラッキング、深度推定、マップ最適化の3つのスレッドに分かれている
  • ORB-SLAM 2.0 (2017) ... 特徴点の対応を見つけ、再投影誤差を最小化することによりセンサ位置を特定
  • CNN-SLAM (2017) ... CNNに基づくリアルタイムSLAMシステム
  • Direct Sparse Odometry (2018) ... 直接的手法とスパース再構成を組み合わせたもの
手法 タイプ マップ密度 グローバル最適化 ループクロージャ 組み込み実装 可用性
MonoSLAM 特徴ベース なし なし
PTAM 特徴ベース あり なし
DTAM 直接 なし なし
SVO どちらも なし なし
LSD 直接 半密 あり あり
ORB-SLAM 特徴ベース あり あり
CNN-SLAM 直接 半密 あり あり -
DSO 直接 なし なし -

※組み込み実装と可用性の欄は論文にリンクあり

visual-interial SLAM

  • Multi-State Constraint Kalman Filter (2007) ... フィルタ状態の伝播と更新を共分散行列を用いて行う。計算コストが低いため組み込み実装に適しているが、ヤコビアンの計算による不整合や精度の低下が懸念される
  • Open Keyframe-Based Visual-Inertial SLAM (2014) ... IMU データと再投影項を目的関数に結合し、重み付き再投影誤差と IMU からの時間誤差を同時に最適化する。他手法よりもメモリ消費量が少なく組み込み実装に適しているが、精度面では劣る
  • Robust Visual Inertial Odometry (2015) ... 特徴抽出に加えて、特徴の周囲のマルチレベルパッチの抽出を行う。低いリソース使用率で組み込み実装に適しているが、 フレームごとの処理時間の影響を受けやすく、他手法よりも精度面で劣る
  • Visual Inertial ORB-SLAM (2017) ... ORB-SLAMに基づく。マッピングスレッドは、IMUの動作を考慮した異なるカリングポリシーを採用
  • Monocular Visual-Inertial System (2018) ... IMU測定値と特徴観測値をマージする再局在化とポーズグラフ最適化モジュールを実装。高精度だが、メモリ使用量が多い
  • Visual-Inertial Direct Sparse Odometry (2018) ... DSOに基づく。慣性情報を考慮したDSOの拡張であり、他手法よりも精度とロバスト性に優れているが、初期化に時間がかかる。グローバル最適化とループクロージャを行わない
  • ORB-SLAM3 (2020) ... Atlas と呼ばれるマルチマップ表現を維持する。単眼、ステレオ、RGB-D カメラで使用でき、グローバル最適化とループクロージャを実装するが、屋外での精度は低い
手法 タイプ マップ密度 グローバル最適化 ループクロージャ 組み込み実装 可用性
MSCKF フィルタリングベース なし なし
OKVIS 最適化ベース なし なし
ROVIO フィルタリングベース なし なし
VINS 最適化ベース あり あり
VIORB 最適化ベース あり あり - -
VI-DSO 最適化ベース なし なし -
ORB-SLAM3 最適化ベース あり あり -

RGB-D SLAM

  • KinectFusion (2011) ... RGB データと深度データを使用して頂点と法線マップを生成し、新しい深度フレームを 3D 再構成に統合して新しい密な表面予測を取得する。 最大の中規模の部屋でも良好なマッピングが可能だが、ループ終了を実行しないため、ドリフト誤差が蓄積される
  • SLAM++ (2013) ... オブジェクト指向のSLAMアルゴリズム。ループ閉鎖検出を実行し、物体の反復性を考慮する。既知のシーンに最も適している
  • Dense Visual Odometry (2013) ... キーフレームベースの手法であり、各フレームについて、閾値と比較されるエントロピー値を計算する。テクスチャのないシーンに対してロバスト性があり、ループクロージャを行う
  • RGBDSLAMv2 (2014) ... 特徴間の推定にRANSACを、ポーズ推定にICPを用いる。累積誤差を除去するためにグローバル最適化とループクロージャを実行する
手法 タイプ マップ密度 ループクロージャ 組み込み実装 可用性
KinectFusion 直接 なし
SLAM++ どちらも あり - -
RGBDSLAMv2 特徴ベース あり -
DVO 直接 あり -
ORB-SLAM 2.0 特徴ベース あり -

今後の議論

  • アルゴリズムのロバスト性の強化 ... 動的な環境によって追跡や再構成が失敗してしまう
  • 計算リソースの最適化 ... マップの容量によってはメモリ制限により動作に影響が出てしまう
  • 地図表現における環境理解の進化 ... マップの再構成だけでなく、環境内のオブジェクトを認識してそれらの情報を取得する

深層学習ベース (UnDeepVO, DeepSLAM, DF-SLAM) や、セマンティックベース、動的SLAM (DynaSLAM II) などが将来の方向性として代表的。

データセットと評価指標について

  • TUM RGB-D
  • KITTI
  • ICL-NUIM
  • TUM MonoVO

この辺りのデータセットが評価には向いている。

まとめ

visual SLAM はそのコストの低さから様々な分野で用いられている。本論文では、vSLAM の主なアプローチとアルゴリズム、その評価指標について詳細な解説と分析がなされている。

論文情報・リンク

  1. PnP (Perspective-n-Points) 問題 ... 3次元空間中にあるn個の点群と、それに対応する2次元の画像上の点群の関係から、カメラの位置姿勢を推定する問題。

  2. 半密 (Semi-dense) ... データのほとんどが非ゼロ要素であり、一部の要素のみがゼロであるようなデータのこと。逆に、データのほとんどがゼロ要素であり、一部の要素のみが非ゼロであるようなデータを半疎 (Semi-sparse) という。

  3. 逆深度 (Inverse depth) ... 深度値の逆数のこと。深度値には通常無限の範囲があるが、その逆数を考え深度の範囲を有限にすることで有限深度推定問題に置き換えることができる。

6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?