分離された非線形最適化を備えた効率的な VI-SLAM システム - Snake-SLAM

まとめ

Snake-SLAM は、低電力の航空機器で安定して動作する VI SLAM 自律航法システムです。追跡フロントエンドには、マップの多重化、ループ クロージャ、および再局在化機能があり、単眼、ステレオ、および RGBD 入力をサポートします。システムはグラフ理論アルゴリズムを使用してキー フレームを削減し、正確なグローバル マップを確保するために「遅延マップ」メソッドを提案します. 最適化されたバックエンドは、IMU 状態推定をビジュアル ビーム調整から切り離します。これにより、計算の複雑さが大幅に軽減され、Snake-SLAM が既存の SLAM システムよりも大きなスライディング ウィンドウを使用できるようになります。当社のシステムは、ジャイロスコープ データを使用して視覚的な外れ値を検出し、速度、重力、スケールを復元する高度なマルチモーダル VI 初期化スキームを実装しています。EuRoC データセットで Snake-SLAM を評価し、効率の点で他のすべての方法よりも優れており、最先端の追跡精度を達成することを示します。

主な作品

1. デカップリングの最適化

非線形最適化の複雑さを軽減するため。状態推定は 2 つのサブ問題に分割されます. まず、IMU によって推定された速度、偏差、重力方向、およびスケールを使用して、連続するフレーム i および i+1 の誤差方程式を次のように構築します。
ここに画像の説明を挿入

次に、IMU によって推定されたパラメーターを使用して、次のように、フレーム i から i+1 への変換関係を計算し、この変換関係をビジュアル BA に追加します。
ここに画像の説明を挿入

  1. 堅牢な初期化

適切な初期化は, カメラの追跡と正確なスケールの回復に重要な役割を果たします. 現在, いくつかのソリューションは imu を 15 ミリ秒休ませて初期化しますが, この操作は不要です. 重力偏差はいくつかのキー フレームを介して計算できることがわかりました.スケールと重力方向の初期化に時間がかかります。Snake-SLAM では、8 つのキーフレームがマップに挿入されると、ジャイロ スコープのバイアスの初期化が開始されるときに、トラッキングが視覚専用モードで開始されます。グローバル偏差を計算するために、システムは次のように回転を構成して誤差を最小化します。
ここに画像の説明を挿入

  1. 地図の簡略化

冗長な計算を減らすために、キーフレームはグラフのノードとして使用され、グラフのエッジはキーフレーム間の一致する内部ポイントの数です; したがって、履歴キーフレームと候補キーフレームのグラフが構築されます. 新しいキーフレームが作成されると、挿入され、グラフの最大スパニング ツリーの最小エッジをマップの品質として取得します。品質が特定のしきい値よりも大きい場合は、下の図に示すように、キーフレームを破棄します。

ここに画像の説明を挿入

4.遅延マッパー

colmap post-triangulation の考え方を用いて、局所baが終了した後に再び局所baを三角化し、マップの密度を上げて安定性を向上させ、gbaドリフトを回避します。Snake-SLAM ローカル マッパーでは、遅延は 10 フレームです。つまり、ki が挿入されると、ki-10 が処理されます。

高効率と低消費電力により、Snake-SLAM はドローン、ロボット、携帯電話、ヘッドマウント AR デバイスなどのさまざまなモバイル デバイスで実行できます。

コード実行効果

ソースコードアドレス: https://github.com/darglein/Snake-SLAM

作者がアップロードしたコードにはバグが多く(意図的にやったのかはわかりません)、Snake-SLAMの環境設定は非常に困難です。環境とコードのバグを解決するのに長い時間がかかりました (現在、視覚化は解決されておらず、最終的な結果しか表示されていません) が、著者のコードと colmap が目的に類似性を持っていることは否定できません。よく読んでください 強くお勧めする VIO-SLAM システムです。同時に、Snake-SLAM のバックエンド最適化および可視化プラットフォームは、その作者によって開発された saiga プラットフォーム (軽量レンダリング フレームワーク) であり、コード アドレス: https://github.com/darglein/saiga、saiga 可視プラットフォーム視覚化 効果は次のとおりです。

ここに画像の説明を挿入

当初は、Snake-SLAM を実行したときの saiga の視覚的なスラム マップと弾道がどれほど素晴らしいかを確認する予定でしたが、残念ながら、このバグは自分では解決されていません (もし私と一緒に勉強したい人がいたら、私に連絡してください。デバッグ後のコードはあなたと共有されます)。

Snake-SLAM は次のように機能します。

マシン構成:i5-9300H CPU、24G

データセット: euroc/MH_05_difficult

画像解像度: 752*480

次のように evo を使用して軌跡を評価します。
ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_15642411/article/details/124388482