年後には…
SLAM はアルゴリズムではなく、アプローチであり、目標に到達するための段階的な分解です。各ステップでは、さまざまな特性 (パフォーマンス、精度など) を持つ多くの適切なアルゴリズムから 1 つを選択できます。
SLAM は、ビジュアル オドメトリに関連する SLAM の特殊なブランチである Visual monocular SLAM (monoSLAM) である場合があります。
FAST & BRIEF のような特徴検出器および記述子抽出アルゴリズムから始めることができます。アルゴリズムの多くは、ORB と AKAZE のように、両方のことを行います。
したがって、フレームから画像から点群を抽出して記述します。
次に、力ずくのハミング距離マッチャーのようなマッチャーを使用して、2 つの (たとえば連続した) フレームからポイントを一致させ、速度ベクトルのようなものを取得します。
https://www.youtube.com/watch?v=G8XAHLJR8A4
次に、PnP ソルバーなどのアルゴリズムを適用して、相対的なカメラの動きを説明する回転変換行列を取得します。これで、各フィーチャの 3D 位置ベクトルが得られました。
検出されたフィーチャからランドマークを選択し、3D ポイント クラウド ベース マップの作成を開始します。それぞれにエラー分布があります。次に、sba のようなバンドル調整を適用します。
これが低レベルの開始点です。テクスチャを使用して 3D ワールドを構築したい、パスを正確に閉じたい、可動部分 (人、車両など) に対する堅牢性が必要な場合...
あなたが夢見てきたすべてがここにあり、自分で開発するのを待っています:)