ORB-SLAM2論文の全文翻訳

前に書いてある

ORB-SLAM2: 単眼カメラ、ステレオカメラ、および RGB-D カメラからなるオープンソース SLAM システムは、SLAM 分野の古典的な論文です。中国語の翻訳もネット上にたくさんありますが、翻訳はあまり良くないように感じます。この記事の翻訳は、学部の外国語文献の翻訳を自分で訳したものなので、よりスムーズに翻訳できましたが、間違いがあればご指摘ください。

ラウール・ムル=アルタルとフアン・D・タルドス。ORB-SLAM2: 単眼カメラ、ステレオカメラ、RGB-D カメラ用のオープンソース SLAM システム。IEEE ロボット工学トランザクション、vol. 33、いいえ。5、1255-1262ページ、2017年 。PDF

トピック

ORB-SLAM2: 単眼カメラ、ステレオカメラ、RGB-D カメラからなるオープンソース SLAM システム

まとめ 

この論文では、単眼カメラ、双眼カメラ、または RGB-D カメラに基づく完全な SLAM システムである ORB-SLAM2 を提案します。これには、マップの再利用、ループ クロージャの検出、再位置化機能が含まれます。このシステムは、屋内用の小型ハンドヘルドデバイスから、工場環境で飛行するドローン、都市を走行する車両まで、さまざまな環境に適用でき、標準的な CPU でリアルタイムに実行できます。システムのバックエンドでは、単眼および両眼の観察に基づいたバンドル調整を使用するため、軌道のスケールを正確に推定できます。このシステムには、視覚的なオドメトリを使用してマップされていないエリアを追跡し、ゼロドリフト位置決めのためにマップ ポイントを照合する軽量の位置決めモードが含まれています。一般的に使用されている 29 の公開データセットに対する実験評価により、私たちの方法がほとんどの場合で最も正確な SLAM ソリューションであることが示されています。当社は、SLAM 分野の発展を促進するためにシステムのソース コードを公開し、他の分野の研究者にすぐに使える SLAM ソリューションのセットを提供しています。

1 はじめに 

同時ローカリゼーション マッピング (SLAM) は、過去 20 年間、コンピューター ビジョンとロボット工学の分野で研究のホットスポットであり、最近ではハイテク企業の注目も集めています。SLAM テクノロジーは、未知の環境をマッピングすると同時に、マップ内のセンサーの位置をリアルタイムで特定します。各種センサーの中でもカメラは比較的安価で、堅牢かつ正確な位置認識に必要な豊富な環境情報を提供できるため、カメラをメインセンサーとしたビジュアルSLAMソリューションが現在最も人気のある研究分野となっています。位置認識は、ループバック検出 (マップが構築されたエリアにセンサーが戻ることが検出されると、探査プロセスの累積誤差が修正される) を実現するための SLAM システムの重要なモジュールであり、システムを再初期化できます。オクルージョンや激しい動きによってトラッキングが失敗した後は、カメラの位置を変更します。

Visual SLAMは、最も安価で最小のセンサーデバイスである単眼カメラのみで実現できます。ただし、単眼カメラだけでは奥行き情報が観測できないため、地図の縮尺や推定軌道は不明です。さらに、単眼視 SLAM システムは画像の最初のフレームのみに基づいて三角測量できないため、システムの起動時に初期マップを生成するには複数の視野角またはフィルタリング技術が必要です。同時に、単眼SLAMはスケールドリフトを引き起こし、純粋な回転探査中に失敗する可能性があります。ただし、双眼カメラまたは RGB-D カメラを使用すると、これらの問題が解決され、より信頼性の高い視覚的な SLAM ソリューションが得られます。

この論文では、以前に提案した単眼 ORB-SLAM に基づいて、次の貢献を持つ ORB-SLAM2 をさらに提案します。

  • 単眼、双眼、RGB-D カメラに基づく初のオープンソース SLAM システム。ループ検出、再ローカリゼーション、マップ再利用機能が含まれます。
  • RGB-D の結果は、バンドル調整 (BA) を使用することで、反復最近接点 (ICP) または幅と深さの誤差の最小化に基づく現在の最良の方法よりも高い精度を達成できることを示しています。
  • 遠近一致する両眼点と単眼観察を使用することにより、当社の両眼視結果は、現在の最先端の直接双眼 SLAM よりも正確になります。
  • マップを構築できない場合にマップを効率的に再利用する軽量の再配置パターンが提案されています。

図 1 ORB-SLAM2 は、両眼入力と RGB-D 入力を処理し、カメラの軌跡を推定し、環境のマップを構築します。このシステムは、標準 CPU 上でリアルタイムに高精度かつ堅牢にマップを閉じ、再配置し、マップを再利用することができます。

図 1 は、双眼入力と RGB-D 入力を備えた ORB-SLAM2 システムの出力を示しています。両眼視の例は、KITTI データセット 00 シーケンスの最終推定軌跡とスパース再構成結果を示しています。これは、ORB-SLAM2 システムによって正常に検出された、複数のループ クロージャを含む一連の都市シーン データです。RGB-D の例は、TUM RGB-D データセットの frl-room シーケンスのキーフレーム ポーズ推定結果と、その結果として得られる密な点群を示しています。ここで、密な点群はキーフレーム ポーズに基づいており、次のように取得されたセンサー深度マップを反転しています。投影。ORB-SLAM2 システムは、KinectFusion などのシステムのようなフュージョンを実行しませんが、キーフレームのポーズを正確に推定できることに注意してください。添付のビデオでは、さらに多くの例が示されます。

この論文の残りの部分では、セクション 2 で関連研究について説明し、セクション 3 でシステムを紹介し、セクション 4 で実験評価結果を示し、セクション 5 で結論を述べます。

2 関連作品

 このセクションでは、双眼および RGB-D SLAM に関する関連研究について説明します。このセクションの説明とセクション IV の評価は、SLAM メソッドのみを対象としています。

2.1 双目SLAM

Paz らは、初期の優れた双眼 SLAM システム [5] を作成しましたが、これは条件付き独立分割拡張カルマン フィルター SLAM (EKF-SLAM) に基づいており、そのシステムを当時の他の方式と比較できるようにしています。 。最も重要なのは、これが最初に近くと遠くの両方の特徴点 (ステレオ カメラでは視差が小さいため、奥行きを確実に推定できない) を使用し、後者の推定値に逆奥行きパラメーターを使用することです [6]。彼らは、特徴点の深さがステレオ カメラのベースラインの長さの 40 倍未満の場合に、特徴点を確実に三角測量できることを経験的に示しています。この研究では、近くの特徴点と遠くの特徴点を異なる方法で扱うこの戦略を継続します。これについてはセクション 3.1 で説明します。

最新のステレオ SLAM システムのほとんどは、キーフレーム [7] とスケーラビリティのためのローカル BA 最適化に基づいています。Strasdat らの研究 [8] では、キーフレーム ウィンドウ内での BA 最適化 (ポイント-ポーズ制約) と、キーフレーム ウィンドウ外でのポーズ グラフの最適化 (ポーズ-ポーズ最適化) を採用しています。ウィンドウのサイズを制限することにより、この方法は一定の時間計算量を実現できますが、グローバルな一貫性は保証できません。メイたち。RSLAM はループの終結を実現でき、ループの両端の活性化領域を拡張できますが、グローバルな一貫性を強化することはできません。Pire らによって提案された最近の S-PTAM [10] はローカル BA を採用しているが、大きなループを閉じる機能が欠けている。これらの手法と同様に、ローカル キーフレーム コレクションにも BA を採用しているため、手法の複雑さはマップ サイズの影響を受けず、大規模なシーンでも手法を実装できます。ただし、私たちの目標は、世界的に一貫した地図を構築することです。RSLAM と同様に、ループを閉じるときに、システムは最初に両端を位置合わせするため、追跡モジュールは古いマップを使用して位置特定を続行し、次にポーズ グラフの最適化を使用してループ内の累積ドリフトを最小限に抑え、その後、グローバル BA を実行します。

Engel らによって最近提案された両眼 LSD-SLAM [11] は、画像勾配が大きい領域での測光誤差を最小限に抑える半密な方法です。この方法では、モーション ブラーや弱いテクスチャのある環境において、機能に依存せずに優れたロバスト性を実現することが期待されています。ただし、直接的な方法として、この方法のパフォーマンスは、ローリング シャッターや非ランバート反射などのモデル化されていない要因により大幅に低下します。

2.2 RGB-D スラム

Newcombe らによって提案された KinectFusion [4] は、最も初期かつ最も有名な RGB-D SLAM システムの 1 つです。この方法では、センサーからのすべての深度データを高密度の体積モデルに融合し、ICP を使用してカメラの姿勢を追跡します。このシステムはボリューム表現を使用し、ループ クロージャーの検出がないため、小規模なワークスペースにのみ適用できます。Whelan らによって提案された Kintinuous [12] は、ローリング循環バッファを使用し、位置認識とポーズ グラフを使用して最適化されたループ クロージャ モジュールを含むため、大規模なシーンで実行できます。

Endres らによって提案された RGB-D SLAM [13] は、おそらく最も初期に普及したオープンソース システムです。これは特徴ベースのシステムです。フロントエンドは特徴マッチングと ICP を通じてフレーム間の動きを計算します。バックエンドはポーズ グラフ最適化を使用し、ループ クロージャー検出制約はヒューリスティック検索によって取得されます。同様に、Kerl らが提案した DVO-SLAM [14] のバックエンドもポーズ グラフ最適化を採用しており、キーフレーム間の制約は測光誤差と深度誤差を最小限に抑えるビジュアル オドメトリによって計算されます。一方、DVO-SLAM は、位置認識に依存せずに、以前のすべてのフレームでループ終了の候補をヒューリスティックに検索します。

最近, Whelan らによって提案された ElasticFusion [15] は環境のサーフェル マップを確立しました. これはポーズを無視しマップをコアとする方法です. 代わりにループ クロージャを達成するためにマップの非剛体変形を使用しますポーズグラフ最適化の手法を採用しています。このシステムの詳細な再構成と測位精度は優れていますが、マップ内のサーフェルの数によってもたらされる複雑さのため、現時点では部屋サイズのマップの構築に限定されています。

私たちの ORB-SLAM2 システムは、Strasdat ら [8] によって提案された、奥行き情報を使用して画像内で抽出された特徴のステレオ座標を合成する方法を使用します。このようにして、私たちのシステムはステレオまたは RGB-D からの入力を処理できます。上記のすべての方法とは異なり、私たちの方法のバックエンドは BA に基づいており、グローバルに一貫したスパース再構成を取得できます。したがって、私たちのメソッドは軽量であり、標準の CPU で実行できます。私たちの目標は、より詳細な緻密な再構築ではなく、長期的かつグローバルに一貫した位置特定を達成することです。しかし、私たちの手法は、高精度のキーフレームポーズを通じて深度マップ融合を実行することにより、ローカル環境をリアルタイムで正確に再構築したり、グローバルBA後のすべてのキーフレームの深度マップを処理してシーン全体を取得したりすることもできます。

3 オーブスラム2

双眼カメラおよび RGB-D カメラに基づく ORB-SLAM2 は、機能ベースの単眼 ORB-SLAM [1] をベースに構築されています。読者の便宜のために、ここでは単眼 ORB-SLAM の基本コンポーネントを要約します。双眼カメラおよび RGB-D カメラに基づくシステム ORB-SLAM2 の概要は、機能ベースの単眼 ORB-SLAM に基づいています。読者の便宜のために、ここでは単眼 ORB-SLAM の基本コンポーネントを要約します。図 2 ORB-SLAM2 は、トラッキング、ローカル マッピング、ループ検出という 3 つの主要な並列スレッドで構成されます。ループバック検出後、4 番目のスレッドが実行され、グローバル BA が実行されます。追跡スレッドは両眼入力と RGB-D 入力の両方を前処理し、システムの残りの部分が入力センサーから独立して動作できるようにします。この図には示されていませんが、ORB-SLAM2 は単眼入力でも実行できます。図 2 にシステムの概要を示します。このシステムには 3 つの主要な並列スレッドがあります: 1) トラッキング スレッドは、特徴とローカル マップを照合し、再投影エラーを最小限に抑えるためにモーションのみの BA (モーションのみの BA) を実行することにより、各フレーム内のカメラの位置を特定するために使用されます。 ) ) ローカル マッピング スレッドは、ローカル マップの管理と最適化に使用されます; 3) ループ検出スレッドは、大きなループを検出し、ポーズ グラフの最適化を実行することによって累積エラーを修正するために使用されます。ポーズ グラフが最適化された後、このスレッドは 4 番目のスレッドを開始してグローバル BA を実行し、最適な構造とモーションの結果を計算します。

 図 2 ORB-SLAM2 は、トラッキング、ローカル マッピング、ループ検出という 3 つの主要な並列スレッドで構成されます。ループバック検出後、4 番目のスレッドが実行され、グローバル BA が実行されます。追跡スレッドは両眼入力と RGB-D 入力の両方を前処理し、システムの残りの部分が入力センサーから独立して動作できるようにします。この図には示されていませんが、ORB-SLAM2 は単眼入力でも実行できます [1]。(a) システムスレッドとモジュール (b) 入力の前処理

このシステムには、DBoW2 [16] に基づく位置認識モジュールが組み込まれており、追跡失敗 (衝突など) の場合の再位置確認やマップされたシーンでの再初期化、およびループ閉塞検出に使用されます。システムは、同じマップ ポイントを観測する 2 つのキーフレームごとに接続する可視マップ [8] を維持し、同時に、すべてのキーフレームを接続する最小スパニング ツリーも維持します。このマップ構造は、キー フレームのローカル ウィンドウの取得を実現するため、トラッキング スレッドとローカル マッピング スレッドをローカルで実行できるため、大規模なシーンで動作できると同時に、この構造を次の用途にも使用できます。ループ終了時のポーズ グラフの最適化 最適化されたグラフ構造として使用できます。

このシステムは、追跡、マッピング、および場所認識タスクに同じ ORB 機能 [17] を使用します。これらの機能は、回転やスケールの変更に対して堅牢であり、カメラの自動ゲイン、自動露出、照明の変更に対しても不変です。さらに、ORB 特徴の抽出と照合の速度が速く、リアルタイムでの実行が可能であり、バッグオブワード モデルの位置認識タスクで良好な精度/再現率を示します [18]。

このセクションの残りの部分では、ステレオ/深度情報の使用方法と、システムのどの部分が影響を受けるかを示します。システムの各部分の詳細については、単眼 ORB-SLAM 論文 [1] を参照してください。

3.1 単眼、近ステレオ、遠ステレオのキーポイント

図 2b に示すように、ORB-SLAM2 は特徴ベースの方法として、入力を前処理し、顕著なキーポイントで特徴を抽出します。次に、入力画像は破棄され、システムのすべての計算はこれらの特徴に基づいて行われるため、システムは両眼入力または RGB-D 入力に関係なく動作できます。私たちのシステムは単眼キーポイントとステレオ キーポイントを処理します。これらはさらに近点と遠点に分割されます。

 ステレオ (両眼) キー ポイントは、左の画像上のキー ポイントの座標と右の画像上のキー ポイントの水平座標である3 次元座標 によってx_s=(u_L,v_L,u_R )定義されます。双眼カメラの場合、左右の画像で ORB 特徴を同時に抽出します。左の画像の各 ORB 特徴について、右の画像で対応する一致を検索します。修正された両眼画像の場合、エピポーラ線は水平であるため、上記のタスクを非常に効率的に実行できます。次に、左の画像の ORB フィーチャの座標と、右の画像で一致するフィーチャの水平座標に従って、ステレオ キー ポイントを生成します。Strasdat et al. [8] が述べているように、RGB-D カメラの場合、RGB 画像上の ORB 特徴を抽出します。  座標を持つ各特徴について、奥行き値 d に従って仮想右画像座標を計算します。(u_L,v_L)あなたは(u_L,v_L)

u_R=u_L-(f_x b)/d

ここで f_x、 は水平焦点距離、bは結果として得られるライト プロジェクターと IR カメラの間のベースライン長であり、Kinect および Asus Xtion カメラでは約 8 cm に設定されています。深度センサーの不確実性は仮想右座標で表されます。このようにして、システムの残りの部分は、ステレオまたは RGB-D 入力からの特徴を同じ方法で処理できます。

[5] で説明されているように、ステレオ キー ポイントの奥行き値が両眼/RGB-D の基線長の 40 倍未満の場合は近点とみなされ、そうでない場合は遠点とみなされます。深さを正確に推定でき、スケール、平行移動、回転の情報が提供されるため、近くのキーポイントを安全に三角測量することができます。一方、離れたキーポイントは、正確な回転情報を提供しますが、正確なスケールと平行移動情報を提供することはできません。したがって、遠くのキーポイントが複数のビューに存在する場合にのみ、それらのキーポイントを三角形化します。

単眼キーポイントは、左の図の 2 次元座標 x_m=(u_L,v_L)によって定義されます。ORB 特徴の両眼マッチングが失敗した場合、または RGB-D カメラが有効な深度値を取得できない場合、この方法が使用されます。これらの点はマルチビューで三角測量されるだけであり、スケール情報は提供されませんが、回転と平行移動の推定に使用できます。

3.2 システムの起動

双眼カメラまたは RGB-D カメラを使用する主な利点の 1 つは、単眼 SLAM のような特定の SFM (モーションからの構造) 初期化を使用する必要がなく、単一フレーム画像の深度情報を直接取得できることです。システムの起動時に、最初のフレームをキーフレーム化し、そのポーズを初期ポーズとして設定し、すべてのステレオ キーポイントから初期マップを構築します。

3.3 単眼および両眼の制約下でのビーム最適化法 (BA)

私たちのシステムは、トラッキング スレッドで BA を使用してカメラ ポーズを最適化し (ピュア モーション BA)、ローカル マッピング スレッドでキーフレームとポイントのローカル ウィンドウを最適化 (ローカル BA)、そしてループ クロージャ後のすべてのキーフレームとポイントを最適化します (グローバル BA) )。最適化には g2o [19] に実装されている Levenberg-Marquardt 法を使用します。

ピュア モーション BA (モーションのみの BA) は、カメラの回転行列 \mathbf{R} \in SO(3)と位置を 最適化し、3D ポイントと、\mathbf{t}\in \mathbb{R}^{3}一致する世界座標系の \mathbf{X}^{i}\in \mathbb{R}^{3}キー ポイント(すべての一致右の場合の\mathbf{x}_{(\cdot)}^{i} 単眼点 \mathbf{x}_{\mathrm{m}}^{i}\mathbb{R}^{2} または両眼点 ) の間の再投影誤差を最小限に抑えます。\mathbf{x}_{\mathrm{s}}^{i}\mathbb{R}^{3}私は\in \mathcal{X}

\{\mathbf{R}, \mathbf{t}\}=\interpret{\mathbf{R}, \mathbf{t}}{\operatorname{argmin}} \sum_{i\in \mathcal{X}} \rho\left(\left\|\mathbf{x}_{(\cdot)}^{i}-\pi_{(\cdot)}\left(\mathbf{R}\mathbf{X}^{i }+\mathbf{t}\right)\right\|_{\Sigma}^{2}\right)

 ここで、\rhoはロバストなフーバーコスト関数、 は\和キーポイントスケールの共分散行列です。このうち、投影関数\pi_{(\cdot)}、単眼投影関数\pi_m、補正両眼投影関数\pi_sは次のように定義されます。

\pi_{\mathrm{m}}\left(\left[\begin{配列}{l} X \\ Y \\ Z \end{配列}\right]\right)=\left[\begin{配列} {l} f_{x} \frac{X}{Z}+c_{x} \\ f_{y} \frac{Y}{Z}+c_{y} \end{array}\right], \pi_ {\mathrm{s}}\left(\left[\begin{array}{l} X \\ Y \\ Z \end{array}\right]\right)=\left[\begin{array}{c } f_{x} \frac{X}{Z}+c_{x} \\ f_{y} \frac{Y}{Z}+c_{y} \\ f_{x} \frac{Xb}{Z }+c_{x} \end{配列}\right]

(f_x,f_y)焦点距離、(c_x,c_y)は光学中心点、bは基線長であり、これらの値はキャリブレーションによって取得されます。

グローバル BA はローカル BA の特殊なケースで、最初のキーフレームを除くすべてのキーフレームとマップ ポイントが最適化されます。初期キーフレームは計算の自由度を排除するために固定されています。

ローカル BA は、一連の表示キーフレームを\mathcal{K}_Lそれらのキーフレーム内のすべての表示ポイントに関連付けます\数学{P}_L\mathcal{K}_Lにはないが、 のポイントも観察する他のすべての\数学{P}_Lキーフレーム\mathcal{K}_Fもコスト関数の計算に参加しますが、最適化されません。\数学{P}_Lキーフレーム k の点とキーポイント間の一致するペアのセットを として定義し\mathcal{X}_k最適化問題を次のように定義します。

\begin{array}{c}\left\{\mathbf{X}^{i}, \mathbf{R}_{l}, \mathbf{t}_{l} |  i \in \mathcal{P}_{L}, l \in \mathcal{K}_{L}\right\}=\mathbf{X}^{i}, \mathbf{R}_{ l}, \mathbf{t}_{l}}{\operatorname{argmin}} \sum_{k \in \mathcal{K}_{L}\cup \mathcal{K}_{F}} \sum_{ j \in \mathcal{X}_{k}}\rho\left(E_{kj}\right) \\E_{kj}=\left\|\mathbf{x}_{(\cdot)}^{ j}- \pi_{(\cdot)}\left(\mathbf{R}_{k} \mathbf{X}^{j}+\mathbf{t}_{k}\right)\right\|_ {\Sigma }^{2}\end{配列}

グローバル BA はローカル BA の特殊なケースで、最初のキーフレームを除くすべてのキーフレームとマップ ポイントが最適化されます。初期キーフレームは計算の自由度を排除するために固定されています。

3.4 ループ検出とグローバル BA

ループ クロージャの検出は 2 つのステップで実行されます。最初のステップはループ クロージャを検出して確認し、2 番目のステップはポーズ グラフを最適化することでループ クロージャを修正します。スケール ドリフト [20] がある可能性がある単眼 ORB-SLAM と比較して、両眼/深度情報によりスケールが観察可能になるため、幾何学的検証とポーズ グラフの最適化ではスケール ドリフトに対処する必要がなくなり、同時に、類似性に基づくのではなく、剛体の変換に基づいて。

ORB-SLAM2 では、グローバル BA 最適化を使用して、ポーズ グラフの最適化後に最適なソリューションを取得します。この最適化プロセスはコストがかかる可能性があるため、システムがマップの構築とループバックの検出を続行できるように、別のスレッドに配置しました。ただし、この場合、BA 出力と現在のマップ状態を融合するのは困難になります。最適化の実行中に新しいループが見つかった場合は、最適化を停止し、代わりにループを閉じます。これにより、グローバル BA 最適化が再び開始されます。グローバル BA が完了したら、グローバル BA 最適化によって更新されたキーフレームとポイントのセットを、最適化プロセス中に挿入された更新されていないキーフレームとポイントと融合する必要があります。これは、更新されたキーフレームの修正 (最適化されていないポーズから最適化されたポーズへの変換) をスパニング ツリーの下方にある更新されていないキーフレームに渡すことによって行われます。更新されない点は、参照フレームのリビジョンに従って変換されます。

3.5 キーフレームの挿入

ORB-SLAM2 は、単眼 ORB-SLAM で導入された戦略に従います。つまり、キー フレームを頻繁に挿入し、その後、冗長なキー フレームを削除します。近いステレオ ポイントと遠いステレオ ポイントの違いにより、キー フレームを挿入するときに新しい条件を導入できます。これは、シーンの大部分が両眼センサーから遠く離れた環境にある場合に非常に重要です。次に示すように、図 3 を示します。このような環境では、平行移動を正確に推定するために十分な近点が必要であるため、追跡される近点の数が以下よりも少なく、\タウ_{t}このフレームが少なくとも\タウ_{s}新しい近ステレオ ポイントを作成できる場合、システムの挿入はこのフレームを新しいキーフレーム。経験によれば、私たちの実験では、\tau_{t} = 100、\tau_{s} = 70の効果が得られました。

図3 KITTI 01のトラッキングポイント 緑の点は、深度値が両眼のベースラインの長さの 40 倍未満の点を表し、青の点はさらに離れた点を表します。この種のビデオシーケンスでは、近傍点の総数が正確に移動量を推定する要件を満たすように、頻繁にキーフレームを挿入する必要があります。遠くの点は回転の推定には役立ちますが、平行移動やスケールの推定にはあまり役に立ちません。

3.6 測位モード

私たちのシステムには、環境が大幅に変化しない限り、適切にマップされた領域での軽量かつ長期的な位置特定に効果的な位置特定モードが含まれています。このモードでは、ローカル マッピング スレッドとループ検出スレッドが無効になり、必要に応じて追跡スレッドの再配置機能によってカメラの位置が継続的に変更されます。このモードでは、追跡スレッドは視覚的なオドメトリからの一致するペアを使用し、それらをマップ ポイントに一致させます。ビジュアル オドメトリにおけるマッチング ペアとは、現在のフレームの ORB 特徴と、前のフレームの両眼/深度情報から作成された 3D ポイントとの間のマッチング ペアを指します。これらのマッチング ペアにより、マッピングされていない領域での位置特定機能がより堅牢になりますが、累積的なドリフトが発生します。マップポイントとのマッチングにより、マップされたエリア内でのドリフトゼロの位置決めが保証されます。このモードは、添付のビデオでデモンストレーションおよび説明されています。

4件のコメント

一般的に使用される 3 つのデータセットで ORB-SLAM2 のパフォーマンスを評価し、他の最先端の SLAM システムと比較します。私たちが使用する他の SLAM システムの評価結果は、元の著者の記事にある標準の評価指標からのものです。ORB-SLAM2 は、Intel Core i7-4790 と 16 GB の RAM を搭載したデスクトップ コンピューターで実行します。マルチスレッドシステムの不確実性が評価結果に影響を与えるのを防ぐために、各データシーケンスを5回実行し、最後に軌道推定精度結果の中央値を示します。私たちのオープンソース実装には、カメラのキャリブレーションと、これらのデータセット上で ORB-SLAM2 システムを実行する方法に関する手順が含まれています。

4.1 KITTI データセット

KITTI データセット [2] には、都市および高速道路環境の車両によって撮影された両眼ビデオ シーケンスが含まれています。両眼センサーの基線長は 54 cm、動作周波数は 10 Hz、補正解像度は 1240 × 376 ピクセルです。ビデオ シーケンス 00、02、05、06、07、09 にはループバックが含まれます。当社の ORB-SLAM2 システムはすべてのループ クロージャを検出でき、その後マップを再利用できます (ビデオ シーケンス 09 を除く。ループ クロージャはシーケンスの終わりに向けた数フレームでのみ発生するため)。表 1 は、11 のトレーニング ビデオ シーケンスの評価結果と、公開されている対応するグラウンド トゥルースを示しています。私たちの知る限り、上記のすべてのビデオ シーケンスで微妙な結果を実行できるのは両眼 SLAM アルゴリズムだけであるため、私たちの方法を現在の最先端の両眼 LSD-SLAM [11] と比較します。絶対平行移動 RMSE t_abs [3]、相対平行移動平均誤差 t_rel、相対回転平均誤差 r_rel [2] という 2 つの異なるメトリクスを使用します。当社のシステムは、ほとんどのビデオ シーケンスで両眼 LSD-SLAM よりも優れた性能を発揮し、通常は相対誤差が 1% 未満です。図 3 に示すビデオ シーケンスは、トレーニング セット内の高速道路上の唯一のビデオ シーケンスであり、その変換エラーはわずかに悪化しています。このシーケンスでは、高速かつ低フレーム レートにより追跡されるポイントが非常に少なくなるため、移動量を見積もるのがさらに困難になります。ただし、長時間追跡できる遠くの点が多数あるため、推定された回転は非常に正確で、誤差は 100 メートルあたりわずか 0.21 度です。図 4 に、推定された軌道の例をいくつか示します。

表 1 KITTI データセット内の各 SLAM システムの精度の比較

 

 図 4 KITTI 00、01、05、07 の推定軌道 (黒) とグラウンド トゥルース (赤): [1] の単眼 ORB-SLAM の結果と比較して、この論文で提案されている双眼バージョンは単眼システムの処理を処理できます。シーケンス01。図 3 から、このハイウェイ シーケンスでは、近傍点が数フレームでしか継続して表示されないことがわかります。双眼バージョンは、単眼のような遅延初期化 (2 つのキーフレームで一致するペアを探す) を使用する代わりに、マップ ポイントの作成に 1 つのステレオ キーフレームのみを必要とするステレオ バージョンを必要とせず、ステレオ キーフレームに基づいてマップ ポイントを作成できます。この順序で失われる可能性は低くなります。さらに、ステレオ システムは、スケール ドリフトなしで地図と軌道のスケールを推定できます。

図 5. KITTI 08 の推定軌道 (黒) とグラウンド トゥルース (赤)。左: 単眼 ORB-SLAM [1]、右: ORB-SLAM2 (双眼)。単眼 ORBSLAM は、このシーケンスで、特にターン時に深刻なスケール ドリフトを生成します。比較すると、この論文で提案されている両眼バージョンは、スケール ドリフトなしで軌道と地図の正確なスケールを適切に推定できます。

4.2 EuRoC データセット

最近の EuRoc データセット [21] には、2 つの異なる住宅と大規模な産業環境で超小型無人航空機 (MAV) によって撮影された 11 の両眼ビデオ シーケンスが含まれています。両眼センサーの基線長は 11 cm で、20 Hz で WVGA 画像を出力します。これらのビデオ シーケンスは、マイクロ ドローンの速度、照明条件、シーンのテクスチャに応じて、易、中、難に分類されます。すべてのビデオ シーケンスで、マイクロ ドローンは以前いた場所に戻り、必要に応じて ORB-SLAM2 システムがマップを再利用したり、ループを閉じたりできるようになります。表 2 は、このデータセットのすべてのビデオ シーケンスにおける ORB-SLAM2 と両眼 LSD-SLAM [11] の絶対平行移動量の二乗平均平方根誤差を示します。ORB-SLAM2の測位精度はセンチメートルレベルに達し、両眼LSD-SLAMよりも高くなります。V2_03_difficult シーケンスの一部は、深刻なモーション ブラーのため、トラッキング モジュールによって失われます。[22] で説明されているように、このシーケンスは慣性測定ユニット (IMU) 情報を追加することで処理できます。図 6 は、いくつかの計算された軌道推定値とグランド トゥルースとの比較を示しています。

表 2 EuRoC データセット: 変換二乗平均平方根誤差 (RMSE) 結果の比較

図6 EuRoC V1 02培地、V2 02培地、MH 03培地、MH 05困難シーケンスにおける推定軌跡(黒)と真値(赤)。

4.3 TUM RGB-D データセット

TUM RGB-D データセット [3] は、RGB-D センサーによってキャプチャされた屋内ビデオ シーケンスで構成されており、さまざまなテクスチャ、照明、構造条件下でのオブジェクトの再構築および SLAM/オドメトリ手法を評価するために、いくつかのカテゴリにグループ化されています。RGB-D 方式の評価に最も一般的に使用されるいくつかのビデオ シーケンスの評価結果を示します。表 3 では、現在の最良の方法 (ElasticFusion [15]、Kintinuous [12]、DVO-SLAM [14]、RGB-D SLAM [13])) と私たちの方法の精度を比較しています。私たちの方法は唯一の BA-ベースのメソッドであり、その効果はほとんどのシーケンスで他のメソッドよりも優れています。[1] の RGB-D SLAM では、フライブルク 2 シーケンスの深度マップに 4% のスケール偏差があることが観察されました。これは誤ったキャリブレーションによって引き起こされる可能性があるため、これをオンザフライで補正しました。これは私たちの良い結果を部分的に説明しています。図 7 は、4 つのビデオ シーケンスで計算されたキーフレーム ポーズに従ってセンサー深度マップを逆投影することによって得られた点群の結果を示しています。実験の結果、本手法は表やポスターの輪郭をよく再現しており、位置特定精度が高いことがわかりました。

表 3 TUM RGB-D データセット: 平行移動二乗平均平方根誤差の結果の比較

図 7 推定されたキーフレーム ポーズとセンサー深度マップに基づく TUM RGB-D fr3_office、fr1_room、fr2_desk、fr3_nst シーケンスの密な点群再構成。

4.4 タイミング結果

提案したシステムをより包括的に評価するために、表 4 に 3 つのビデオ シーケンスにおけるさまざまな画像解像度とセンサー条件下での計算時間の消費を示します。スレッドごとの平均経過時間と、その 2 つの標準偏差の範囲を示します。これらのシーケンスは 1 つのループで構成されているため、グローバル BA およびループ検出スレッドの一部のタスクは 1 回だけ実行する必要があるため、1 回の時間測定のみを示します。各シーケンスのフレームごとの平均追跡時間は、カメラのフレーム レートの逆数よりも短いため、システムはリアルタイムで実行できます。両眼の左右画像の ORB 特徴抽出は並列であるため、V2_02 シーケンスの両眼 WVGA 画像で 1000 個の ORB 特徴を抽出する速度は、fr3_office の単一 VGA 画像チャネルでの速度と同じであることがわかります。機能にはほぼ同じ時間がかかります。

表 4 スレッドあたりの計算時間/ms (平均 ± 2 標準偏差)

ループ クロージャのキーフレーム数を示します。これは、ループ クロージャの検出にかかる時間の参考として使用されます。KITTI 07 シーケンスにはより多くのキーフレームが含まれていますが、fr3_office 屋内シーケンスの可視性グラフはより高密度であるため、ループ クロージャ フュージョン、ポーズ グラフの最適化、およびグローバル BA のオーバーヘッドが大きくなります。可視性グラフの密度が高くなるほど、ローカル マップに含まれるオフフレームとポイントが増えるため、ローカル マップの追跡とローカル BA のオーバーヘッドが大きくなります。

5。結論

私たちは、単眼、両眼、または RGB-D センサーに基づいた完全な SLAM システムを提案します。これは、標準 CPU 上でリアルタイムの再局在化、ループ クロージャ、マップの再利用を実現できます。私たちは、実験で提示された大規模な環境で長期的な位置特定を行うための、世界的に一貫したマップを構築することに重点を置いています。再位置推定を含む私たちが提案する位置推定スキームは、既知の環​​境における堅牢でゼロドリフトの軽量な位置推定方法です。このモードは、環境が適切にマッピングされている仮想現実でのユーザーの視点の追跡など、特定のアプリケーションに適合させることができます。

現在の最高の SLAM システムと比較して、ORB はほとんどの場合で最高の精度を実現します。KITTI の視覚オドメトリ ベンチマークでは、ORB-SLAM2 が現時点で最良の両眼 SLAM ソリューションです。重要なのは、最近普及している両眼視覚オドメトリ法と比較して、ORB-SLAM2 はマッピングされたエリア内でゼロドリフト定位を達成することです。

驚くべきことに、RGB-D の結果は、最高精度のカメラ位置特定が必要な場合、BA が直接法や ICP よりも優れたパフォーマンスを発揮すること、さらに計算量が少なく、GPU の実行に依存せずにリアルタイムで実行できることを示しています。

他の研究者が簡単にシステムを利用できるよう、システムのソースコード、サンプル、説明書を公開しています。私たちの知る限り、ORB-SLAM2 は、単眼、両眼、または RGB-D 入力で動作する初のオープンソース ビジュアル SLAM システムです。さらに、当社のソース コードには、ソリューションの可能性を示すために、単眼カメラを使用した拡張現実アプリケーションの例が含まれています。

将来の研究の方向性には、重複しない複数のカメラ、魚眼カメラ、パノラマ カメラのサポート、大規模な高密度融合、協調マッピング、モーション ブラーに対する堅牢性の強化などが含まれる可能性があります。

転載場所: https://www.cnblogs.com/MingruiYu/p/12991119.html

おすすめ

転載: blog.csdn.net/weixin_58045467/article/details/130887883
おすすめ