Visual SLAM: モデルの紹介、アルゴリズム フレームワーク、およびアプリケーション シナリオ

著者:張 長紅湖南大学

証明:ドン・ヤーウェイ

編集者: Zheng Xinxin @一点Artificial Intelligence

元のアドレス: Visual SLAM: モデルの紹介、アルゴリズム フレームワーク、およびアプリケーション シナリオ

目次

01 スラムとは

 1.1 カメラのモデル

1.2 カメラの動き

1.3 マッピング

02 SLAMアルゴリズムフレームワーク

03 SLAM適用シナリオ

3.1 自動運転のための高精度測位

3.2 自律移動ロボット

知識の拡大:

統合ナビゲーション (GNSS/INS)

QRコードナビゲーション/磁気ナビゲーション

3.3 屋内シーンの3D再構築:AR(拡張現実技術)など

04 エピローグ

参考文献:


この記事では、ビジュアル SLAM がどのように位置付けられているかを専門用語をできるだけ使用せずに説明することを主にしたいと考えています (一部の表現は厳密ではないかもしれません)。 SLAM 、このペーパーでは、ビジュアル SLAM の古典的なフレームワークとアプリケーション シナリオも紹介します。さらに詳しく知りたいパートナーは、より専門的で体系的な書籍や文献も参照してください。

01 スラムとは

SLAM(Simultaneous Localization and Mapping)、つまり、測位と地図構築を同時に行うことは、環境事前情報(事前情報とは何ですか?ご自身で確認できます)を持たずに、特定のセンサーを搭載した車両やドローンなどの移動ロボットを指します。運動のモデルを構築しながら、自分自身の運動状態を推定する一連の作業です。

現在、より多くの接触を持ち、SLAM技術を実生活に応用した人々がロボットを掃除しています。考えてみましょう。掃除ロボットが慣れない環境に来た後、どのようにしてゴミを掃除するのでしょうか。直感的なアイデアとしては、ロボットは最初に自分自身の位置を決定し、次に自分自身に対するゴミの位置を決定します。つまり、開始点と終了点があり、ロボットは開始点から開始点まで移動するだけで済みます。ゴミを片づける終点。しかし、これは非常に直感的なアイデアであり、このアイデアの前提は次のとおりです。部屋のマップ構造を知っているため、ゴミ掃除のタスクをより適切に完了できるようになります。したがって、掃除ロボットが行うべきプロセスは、周囲の環境を把握し、部屋の地図を作成し、自分自身とゴミの位置を確認し、ルートを計画し、移動して掃除を完了するというものです。このプロセス全体において、マップを構築し、自分自身の位置を特定することが、SLAM の主なタスクです。

このような小さな例を通して、SLAM の役割を反映することができますが、一般的に言えば、SLAM は主に次の 2 つの問題を解決する必要があります。

1. ここはどこですか? - - 位置

2. 周囲の環境はどうですか? - - マッピング

表 1 に示すように、センサーの種類に応じて、SLAM はさまざまな種類に分類できます。

表 1 SLAM の種類

この記事では主にカメラをセンサーとしたビジュアルSLAMについて紹介します。Visual SLAMは、連続的に入力される画像をもとにカメラの動きや周囲の環境を推測するものです。次に、カメラ モデルとカメラの動きを紹介します。カメラ モデルが既知の画像情報を使用して観測方程式を構築し、観測方程式からカメラの動きを解きます。カメラの動きを取得したら、位置決めは完了します。ここで。カメラのモデルから始めて、段階的に推定して、最後に位置決めを完了しましょう。

 1.1 カメラのモデル

カメラのイメージング モデルは、現実世界の 3D 点と画像内の 2D ピクセル点の間の対応関係を表します。つまり、カメラの視野内の 3D 点は、画像上の対応するピクセル点を見つけることができます。歪みを考慮せずに、単一のカメラ結像の理想的なモデルは、図 1 に示すようなピンホール モデルです。光学中心 O はレンズの中心であり、光軸は光学中心とレンズの中心を通る直線です。物理結像面、f は焦点距離、つまり物理結像面までのピンホールを表します。距離はカメラ座標系の 3 次元空間内の任意の点を表し、光学中心を通過し、光学中心の中点に投影されます。 2 次元の物理的結像面であり、各 3 次元空間点は物理的結像面上のピクセルに対応します。

ピンホール モデルは、イメージング プロセスにおける幾何学的関係を通じて、3 次元世界から 2 次元ピクセル平面へのマッピング関係を確立します。数学的記述は関数関係です。

、観測方程式とも呼ばれます。このうち、2次元のピクセル座標と3次元の空間点座標P、Kはカメラの内部基準行列であり、カメラ自体の特性によって決まる。

図1 カメラ画像モデル
図2 3次元空間における座標変換

1.2 カメラの動き

カメラの動きを理解する前に、いくつかの基本概念を理解する必要があります。

世界座標系:ビジュアル SLAM では、通常、最初の画像が撮影されたときのカメラ座標系が世界座標系として指定され、指定後は変更されず一意になります。世界座標系は、デカルト座標の原点として理解できます。システム。

カメラ座標系:カメラの光学中心(小さな穴)を原点とし、カメラの動きに応じて変化する座標系。

カメラの運動は剛体運動であり、剛体運動の座標変換は回転行列(R)と並進ベクトル(t)で表すことができ、三次元空間上の点Pを考える。世界座標系における点 P の値は、カメラ座標におけるその座標系での観測値、異なる座標系での点 P の観測値の変換関係は次のとおりです。

上記のコンテンツの導入により、次の手順に従って位置決めがどのように完了するかを理解できます。

(1) ビジュアル SLAM システムの入力情報は、異なる時刻のカメラ画像です。使用したいのは画像のピクセル情報です。最初のフレームの座標系で、ある空間点が既知であると仮定すると、 1フレーム目とP(X,Y,Z)2フレーム目の画像Pフレーム画像上の撮像点はそれぞれ ですp_1、p_2

(2) カメラ モデルを通じて、次の 2 つの観測方程式が得られます。これらは、Rt1 フレーム座標系から第 2 フレーム座標系への回転と平行移動を表しますp_1=\frac{1}{Z_1}KP,\ \ p_2=\frac{1}{Z_2}K(RP+t)

(3) 8 つのこのような一致点ペアに基づいて(p_1、p_2)、上記の方程式を解くと、 が得られます(R,t)

(4) (R,t)2 つの座標系の変換関係を表します。通常は 1 番目のフレーム座標系を世界座標系として定義しますが、世界座標系は固定されているため、2 番目のフレームのカメラ座標を求めることができます。カメラ座標系の位置と姿勢、すなわち測位が完了することをいい、測位とはワールド座標系に対するカメラ座標系の位置と姿勢を随時求めることである。

上記の手順は、問題を大幅に単純化した後に得られたものですが、実際には、カメラの種類の違い、カメラの動きの表現方法の違い、それに対応する具体的な解決プロセスなど、考慮すべき要素はさらに多くあります。徹底的な調査と研究。

1.3 マッピング

マッピングとは、地図を構築するプロセスを指します。マップは環境の記述です。この記述にはさまざまな形式があります。対応するマップは、さまざまな要件に従って構築する必要があります。マップの表現形式は、主に計量マップと位相マップの 2 種類に分けられます。SLAM の分野では、研究者はメトリック マップにさらに注目しています。

メトリック マップは、マップ内のオブジェクトの位置関係の正確な表現を強調します。メトリック マップはさらに密マップと疎マップに分類され、このうち疎マップはテーブルの端など、画像から識別しやすい環境内の代表的な空間点のみを表し、その他の代表的ではない点は表しません。は無視され、スパース マップは主に SLAM 測位に使用されます。スパース マップと比較すると、デンス マップはテーブルの平面全体など、環境内のすべての空間点を再構成します。2 次元のデンス マップは正方形のグリッドで構成され、3 次元のデンス マップは立方体のグリッドで構成されます。グリッド。通常、小さなブロックには占有、アイドル、グリッド内に物体があるかどうかを表す不明の 3 つの状態が含まれており、高密度マップは主にロボットやスマート カーのナビゲーションや障害物回避に使用されます。

02 SLAMアルゴリズムフレームワーク

古典的なビジュアル SLAM アルゴリズム フレームワークを図 3 に示します。これには、主にセンサー情報の読み取り、フロントエンド (オドメーター)、バックエンド、ループ検出、マッピングが含まれます。異なる種類の SLAM テクノロジは、フロントエンドの処理が異なるだけであり、バックエンドで使用される最適化アルゴリズムは共通であることに注意してください。このセクションには少し専門的な用語が出てきます。よくわからない場合は、根気よく何度も読んでください。最先端の研究の方向性に興味がある場合は、原文を参照すると理解できます。

図 3 ビジュアル SLAM アルゴリズムのフレームワーク

入力:カメラ画像を収集し、前処理します。

フロントエンド(ビジュアルオドメーター):短時間に収集されたカメラ画像に基づいて、移動ロボットの座標系におけるカメラの位置と姿勢、つまりポーズを計算し、ローカルマップを構築します。

フロントエンドの主流の手法には、特徴点法(間接法)と直接法があります。特徴点はキーポイントとディスクリプタで構成されます. キーポイントとは画像内の特徴点の位置を指します. 複数フレームの画像から検出でき, ディスクリプタを比較することによってペア関係が確立されます.投影エラーを繰り返してカメラのポーズを最適化します。最も古典的な間接的な方法は orb-SLAM2 です。直接法には特徴抽出ステップがなく、ピクセルのグレースケール情報を直接使用して、ピクセルの測光誤差を最小限に抑えて姿勢を最適化します。最も古典的な直接法は DSO です。

間接法と直接法の理論的基礎は比較的完成しており、現在の改善の方向性は、スケール制約、平面フィーチャ制約、平行線フィーチャ制約などの事前制約を既存の理論的枠組みに追加することです。カンファレンスで発表された作品「EDPLVO: Efficient Direct Point-Line Visual Odometry」は、フロントエンドを改善し、ライン機能をダイレクト方式に拡張し、Best Navigation Paper Awardを受賞しました。

バックエンド:さまざまな時点の視覚走行距離計によって計算されたカメラのポーズ、3D マップ ポイント、およびループ検出情報に従って、ポーズと 3D マップ ポイントがグローバルに最適化されます。バックエンドは、SLAM プロセスのノイズ問題を処理します。数学的には、最大事後確率推定問題としてモデル化されており、拡張カルマンフィルタリングに代表されるフィルタ法や非線形最適化法が主流です。フィルター方法はよりコンパクトで、コンピューティング リソースが限られているシナリオに適しています。非線形最適化手法を使用すると、カメラの姿勢とマップ ポイントの位置をより正確に最適化できますが、計算時間が長くなり、より多くのコンピューティング リソースが必要になります。

ループバック検出:ロボットが前の位置に到達したかどうかを判断します。ループバックが検出された場合、より長い時間制約を提供し、累積誤差を排除できます。主に画像間の類似性によって判断されます。最も古典的な方法はバッグ オブ ワード モデルです。 。深層学習の急速な発展に伴い、CNN (畳み込みニューラル ネットワーク) と RNN (リカレント ニューラル ネットワーク) に基づく手法により、ループ クロージャ検出の効率を効果的に向上させることができます。

マッピング:推定された軌道に基づいて、タスクの要件に対応するマップを構築します。SLAM の場合、マップは測位を支援するために使用されますが、ナビゲーション、障害物回避、3D 再構成などのタスクでは、マップはより重要な役割を果たし、さまざまなタスクを完了するためにマップの形式も異なります。一般的なマップ タイプには、占有グリッド マップ、オクツリー マップ、セマンティック マップなどが含まれます。

上記は、過去 20 年間のビジュアル SLAM の開発によって形成された古典的な枠組みであり、研究者の長年の研究の結晶であり、私たち自身の研究の基礎でもあります。深層学習と組み合わせたセマンティック セグメンテーション ネットワーク、深度推定ネットワーク、注意メカニズムなどを開発 これらのネットワークは、特徴抽出とマッチング、深度推定、姿勢推定と再配置など、ビジュアル SLAM の多くのリンクと組み合わせることができます。 , ビジュアル SLAM のパフォーマンスを向上させます。もちろん、全体的なパフォーマンスは、深層学習と組み合わせたビジュアル SLAM テクノロジーはまだ十分に成熟していません。ビジュアル SLAM のパートナーであることが確実な場合は、試してみるとよいでしょう~

03 SLAM適用シナリオ

このパートでは、SLAM の 3 つの主要なアプリケーション シナリオ、つまり自動運転の高精度測位、自律移動ロボット、屋内シーンの 3D 再構築を主に紹介します。シナリオが異なれば、アルゴリズムの精度、コンピューティング リソース、コンピューティング速度の要件も異なります。さまざまなシナリオに対して、適切なアルゴリズムを選択する必要があります。

3.1 自動運転のための高精度測位

測位は高度な自動運転の重要な部分です。現在、高速シナリオでの自動運転の測位は主に統合ナビゲーション技術に依存しています。高速シナリオでは、道路状況は単純で、車両の相互作用はほとんどなく、このシナリオでは、車線レベル/デシメートルレベルの測位精度で十分であり、統合ナビゲーション (GNSS/INS) テクノロジーがこのシナリオの精度要件を満たすことができます。

都市部の低速シーンでは、車線が狭く交通量が多く、特に交差点などの複雑なシーンでは車線変更が発生し、車両の車線変更や車両の衝突を避けるためには、車両がセンチメートルレベルに達する必要があります。このシナリオでは、通常、センチメートルレベルの測位精度を達成するための統合測位には、統合ナビゲーション、ビジュアル SLAM、レーザー SLAM などの複数のテクノロジーが必要です。

GNSS 信号のない地下ガレージやトンネルなどのシナリオでは、現時点では統合ナビゲーション (GNSS/INS) アルゴリズムが失敗し、測位にはビジュアル SLAM またはレーザー SLAM に依存する必要があります。

図4 高精度位置決め

3.2 自律移動ロボット

移動ロボットの知能が徐々に向上するにつれて、自動移動ロボットがホームサービス、物流倉庫保管と取扱い、故障検出などの分野で登場し始めています。かつては特殊な産業用シナリオでしか存在しなかった移動ロボットが、徐々に私たちの社会に参入しつつあります。日常生活。

さまざまなシナリオのロボットは、さまざまな複雑なタスクを実行する必要がありますが、最も複雑なタスクを完了するには、優れた自律ナビゲーションが必要条件です。ナビゲーションとは、ロボットが現在位置から指定された目標点まで移動できることを意味し、正確な位置決めが自律ナビゲーションの鍵となります。重要なのは、自身の位置の推定が間違っていると、最終的なナビゲーション結果が遠くなる可能性があり、当然ロボットが割り当てられたタスクを完了することが不可能になるということです。

SLAM 技術は、ロボットの位置決めのニーズを満たすことができます。これにより、ロボットは未知の環境を移動しながら、独自の位置決めと地図の構築を完了できます。地図上のロボットの位置と周囲の環境が決定されると、経路計画が可能になります。アルゴリズムは、指定された位置に到達するためのロボットの軌道を計算し、指定された軌道に沿って移動するようにロボットを制御します。つまり、ナビゲーション タスクが完了します。現在、移動ロボットにはビジュアルSLAM技術とレーザーSLAM技術の両方が適用されていますが、レーザーセンサーは環境の影響を受けにくく、レーザーSLAM技術の開発も早いため、大規模に実用化されています。レーザー SLAM アルゴリズムと比較して、ビジュアル SLAM アルゴリズムの堅牢性は、カメラが光や環境構造の影響を受けやすいため、レーザー SLAM アルゴリズムと同じレベルに達することができないため、より優れた性能を実現するには IMU と組み合わせる必要があります。堅牢性と高精度。

SLAM 技術の場合、ナビゲーション タスクを完了するには地図を構築する必要があります。この地図は道路標識や環境の視覚化を実現することができ、さらに、地図はロボットがより適切に位置決めしたり、位置を失った後に再位置決めしたりするのに役立ちます。移動ロボットに必要なのは3Dの緻密な地図であり、シーンの増加に伴って地図の縮尺も大きくなり、地図を大きくするほど地図を保存するために多くのメモリリソースが必要になるため、地図を更新するかどうかをどのように判断するか、マップを効率的に保存、表現、更新することは研究する価値があります。

図 5 移動ロボットの位置決めとマッピング

知識の拡大:

現在主流の移動ロボット測位技術には、SLAMのほかに、統合ナビゲーション(GPS/INS)、二次元コードナビゲーション/磁気ナビゲーションなどがあります。

統合ナビゲーション (GNSS/INS)

GNSS 技術とは、GNSS 衛星を観測して座標系における絶対位置座標を取得する計測技術のことで、中国の北斗ナビゲーション システムやアメリカの GPS も GNSS 技術であり、オープンスペースにおける 1 台の GNSS の測位誤差は 5 メートル未満です。都市環境では GNSS 信号が遮断されやすく、現時点では GNSS の測位誤差が数十メートルに達する可能性があります。したがって、現在は統合ナビゲーション (GNSS/INS) が主に使用されており、統合ナビゲーションの堅牢性を大幅に向上させることができますが、その適用シナリオは主に屋外です。

QRコードナビゲーション/磁気ナビゲーション

AGVはもともと港内でコンテナを運ぶために使われていました AGVは当初磁気航法を使用していました この方式ではロボットが走行する道路にあらかじめ一定間隔で磁性釘を埋め込んでおく必要があります AGV車が自らの磁石で磁性釘を受け取りますナビゲーションセンサーの情報を取得して独自の位置決めを行い、磁性爪の配置により移動経路を決定するため、経路計画技術の要件を軽減し、密閉型ロボットを自動で扱う港湾や工場などに適した技術です。移動経路が固定されている。この技術の欠点は、磁性爪の老朽化の問題、磁性爪の交換費用が非常に高額であること、ロボットの動作ルートを簡単に変更できないことが挙げられ、AGV技術の広範な適用を大きく制限しています。もちろんAGVは現在まで発展しており、倉庫内で使用するAGV車で天井や床にあるQRコードを読み取ることで現在地情報を取得するQRコードナビゲーションを利用する手法も登場しています。物流業界とサービス提供ロボット。

図6 GNSS測位(左)無人ドックAGV(右)

3.3 屋内シーンの3D再構築:AR(拡張現実技術)など

AR は、画像やその他のセンサー情報を通じてカメラの位置と 3 次元環境構造を計算し、それを 3D レンダリングと組み合わせて、より自然な人間とコンピューターのインタラクション機能を提供するテクノロジーとして理解できます。簡単なシナリオを例に挙げると、VR デバイス内に仮想の子猫を飼うことができます。週末の午後、子猫はあなたの足元でのんびりと横たわり、時々あくびをします。このようなシナリオを実現するには、AR デバイスには次の 3 つの機能が必要です。

· セルフポジショニング: AR デバイスが仮想オブジェクトを適切な位置にレンダリングできるように、空間内の AR デバイスの位置を指定します。足元の「子猫」をレンダリングするには、空間内のその位置を知る必要があります。

環境知覚:仮想オブジェクトが現実世界と相互作用できるように、周囲環境の 3 次元幾何学的情報の知覚を指します。「子猫」をテーブルの上にジャンプさせたい場合は、空間的な位置と空間位置を知る必要があります。テーブルの形状。

· 人間とコンピューターの相互作用:人間の言語、ジェスチャーなど、周囲環境からの入力を理解し、フィードバックを提供します。

自己測位機能と環境認識機能を実現するには、SLAM 技術が必要です。具体的には、視覚慣性ナビゲーション SLAM 技術が必要です。視覚慣性ナビゲーション SLAM は、現在、AR の主流ソリューションでもあります。カメラのみに依存する純粋なビジョンと比較して、視覚慣性ナビゲーション SLAM ソリューションナビゲーションSLAMは、カメラから入力される画像情報とIMUの速度・加速度情報を相互作用させることで、より正確な測位を完了します。さらに、製造プロセスの成熟により、MIUとカメラ機器は小型軽量化されており、価格も比較的安価であるため、上記の要因を考慮すると、視覚慣性航法SLAM技術はAR機器のニーズにより適しています。次に、最も古典的な視覚慣性航法 SLAM アルゴリズムは、vins-mono アルゴリズムです。

図7 ARの模式図

もちろん、現在の視覚慣性ナビゲーション SLAM アルゴリズムは、基本的に AR デバイスのニーズを満たしているとしか言えませんが、消費者がより良い体験を得るために、AR デバイスは必然的に小型化、軽量化の方向に発展します。ハードウェア 機械の小型化・軽量化はまさに切実なニーズです。もちろん、アルゴリズムが重要ではないというわけではなく、自動運転車や移動ロボットに比べて、AR デバイスは SLAM アルゴリズムに対する要求が高くなります。

まず第一に、SLAM アルゴリズムの計算効率が高くなります。デバイスが小型になると、多くの場合、計算リソースが少なくなります。より少ない計算能力で同じ効果を達成する方法は、長期的な研究の方向性です。

第二に、自動運転車やロボットと比較して、AR デバイスは体が突然 180 度回転するなど、いくつかの極端な状況に陥りやすいです。これは AR デバイスを装着している人にとっては正常ですが、AR デバイスはこの激しい回転のせいで発生する可能性があります。測位失敗の原因となり、SLAM アルゴリズムの堅牢性に対するより高い要件が要求されます。

最後に、ラップトップをできるだけ早く起動したい、AR デバイスの電源がオンになるまで待つ必要がないのと同じように、より短い時間とより少ない操作で初期化を迅速に完了する方法も非常に重要です。 AR デバイスを装着した後は、30 秒待ってから特定のアクションを実行してから、デバイスを使用してください。

04  エピローグ

全体として、SLAM には多くの知識が必要です。フロントエンドには、カメラ画像処理、LIDAR 点群処理、IMU データ処理が含まれます。バックエンドの最適化アルゴリズムには、カルマン フィルタリング、非線形最適化、ループ検出が含まれます。マシンのカテゴリに属します。さまざまなマッピング アルゴリズムと同様に、ディープ ラーニングに関するさらなる知識が必要です。SLAM を理解したい、または参加したい場合は、まず Gao Xiang 博士の Visual SLAM に関する講義 14 をお勧めします。最初の学習プロセスでは、SLAM がどのような部分で構成され、各部分の目的は何であるかをすぐに理解できます。研究では、14 回の講義の要約論文、古典論文、コード、理論的知識を組み合わせることができます。基礎を固めた後は、最先端の学術論文を読み、研究の方向性を選択しますが、研究の方向性が就職に偏るか、学業に偏るかは、個々の事情によりますので注意してください。同時に、先輩、フォーラム、コミュニケーション グループなど、同僚とコミュニケーションをとるあらゆる機会を逃さないようにしてください。SLAM には非常に多くのテクノロジーが含まれるため、視野を広げ、学習ルートを常に更新する必要があります。

参考文献:

[1] Visual SLAM14 講義: 理論から実践へ 第 2 版

[2] Visual SLAM の概要: 伝統からセマンティックまで

[3]  https://mp.weixin.qq.com/s/3YRQMAk6eaqBCQSLkxWjKQ

[4] ビジュアル SLAM アルゴリズムの包括的な調査

おすすめ

転載: blog.csdn.net/weixin_40359938/article/details/130275299