Stella-VSLAM
Community 2021 · 論文
一行要約 — ライセンスの懸念を受けて再出発した、OpenVSLAMのコミュニティ主導の後継プロジェクトであり、パースペクティブ・魚眼・正方位図法(equirectangular)カメラを第一級でサポートするモジュール式・ライブラリ形式の視覚SLAMフレームワークを継続している。
問題
OpenVSLAM(Sumikura et al., ACMMM 2019)は、その独自のマルチカメラモデルサポートにより広く採用されていたが、コードの一部がGPLv3ライセンスのORB-SLAM2に由来していると疑われながらそのライセンスを付していなかったため、2020年に元のリポジトリはGitHubから取り下げられた。これにより、人気のあるデプロイメント指向のSLAMライブラリの利用者は、保守されている上流を失うことになった——特に、魚眼レンズを使うドローンアプリケーションや、360度カメラを用いた屋内スキャンにとってはこれが痛手であり、他に活発に保守されているシステムがそのギャップを埋めることはなかった。stella-cvコミュニティはこのプロジェクトをStella-VSLAMとして継続し、ライセンス問題に対処することで、GPLの義務が実際の制約となる商用コンテキストを含め、このフレームワークを引き続き組み込めるようにした。
手法とアーキテクチャ
Stella-VSLAMは論文に基づく研究システムではなく、OpenVSLAMの設計を継続するエンジニアリング的な取り組みである。OpenVSLAM自体はORB-SLAM2の3スレッド構成(トラッキング、ローカルマッピング、ループ閉じ込み)を踏襲し、それを呼び出し可能なライブラリとして再構築している。
- 統一カメラモデルの抽象化 — パースペクティブ(ピンホール+放射-接線歪み)、魚眼(Kannala-Brandt等距離射影)、正方位図法(360度)投影をサポートする汎用カメラインターフェースを持つ。特徴抽出、マップ点の三角測量、バンドル調整といった下流のモジュールはすべて、変更を加えることなくこのインターフェースを介して動作する。
- モデルを意識したORB特徴の扱い — ORBキーポイントがトラッキング、マッピング、リローカリゼーションを駆動する。正方位図法の入力に対しては、特徴マッチングとエピポーラ幾何が球面上でも有効に保たれるよう画像が処理される。
- ステレオデプスの統合 — ステレオ構成では、ORB-SLAM2に従い、各左画像キーポイントがエピポーラブロックマッチングによる右画像対応点からデプスを得る:
ここでは焦点距離、はステレオ基線、は視差である。
- DBoW2による場所認識とループ閉じ込み — ORB-SLAM2と同じbag-of-wordsパイプラインを用い、単眼モードでは最適化、メトリック(ステレオ/RGB-D)モードでは最適化を通じてループ制約を検証する。
- デプロイメント用ツール群 — マップの保存・読み込み、マップ再利用デプロイメント向けのローカリゼーション専用モードに加え、ROS1/ROS2ラッパー(launchファイル、TF2統合)、改善されたビルドシステム、そして継続的なコミュニティによるバグ修正やリローカリゼーション/マップ管理の改善。
実験結果
単独の評価論文は存在せず、結果はOpenVSLAMから継承・再現されたものである。ロードマップブックの記載によれば、Stella-VSLAMはEuRoC、KITTI、TUM RGB-Dベンチマークにおいて公開されたOpenVSLAMの結果を再現しており、EuRoCの魚眼入力ではORB-SLAM3の魚眼モードと同等のATEを達成し、正方位図法モードはRicoh Theta 360度カメラを用いた屋内環境のマッピングに成功する(標準的なパースペクティブSLAMが失敗するケースで)。コミュニティによるベンチマークレポートはOpenVSLAMとの数値的な一致を確認している。実務上、これは組み込み可能で360度対応、法的にクリーンな特徴ベースSLAMライブラリとしてのデフォルトの推奨選択肢となっている。
SLAMにおける意義
Stella-VSLAMは、特徴ベースの視覚SLAM、特に360度や魚眼カメラのサポートが必要な場合や、より大きなシステムにSLAMを組み込みたい場合の実用的で活発に保守されているエントリーポイントである。その来歴は、SLAMコミュニティが学んだ戒めでもある。オープンソースのライセンス(GPL対パーミッシブ)は、研究コードがプロダクトに流入する際の実際のエンジニアリング上の制約となる。またレベル7でもステレオ対応システムとして再度登場する。