OpenVSLAM

Sumikura 2019 · 論文

一行要約 — 呼び出し可能なライブラリとして構築されたモジュール式のオープンソース視覚SLAMフレームワークであり、ORBベースの間接的パイプラインを備え、透視・魚眼・正距円筒(360度)カメラモデルに対応し、マップの保存/読み込みおよびローカライゼーションをサポートする。

問題

視覚SLAMはAR機器や自律ロボット、ドローン、UAVにとって不可欠であるが、「従来のオープンソース視覚SLAMフレームワークは、サードパーティのプログラムから呼び出されるライブラリとして適切に設計されていない」。事実上の標準であるORB-SLAM、LSD-SLAM、DSOは研究用アプリケーションであり、組み込みにくく、拡張しにくく、透視カメラに限定され、(論文の比較表によれば)マップの保存/読み込みができないものが多い。OpenMVGやOpenSfMのようなSfMパッケージは既に魚眼や正距円筒画像を扱っていたが、リアルタイム視覚SLAMフレームワークでそれを扱えるものは無かった。

手法とアーキテクチャ

OpenVSLAM(MM ‘19)は、C++(Eigen、OpenCV、g2o)で実装された単眼/ステレオ/RGB-Dシステムであり、その貢献はアルゴリズム的なものではなくアーキテクチャ的なものである——よく知られたSLAM手法が、明確なAPIと充実したドキュメント付きサンプルコードを備えた分離されたコンポーネントにカプセル化されている。

実験結果

Core i7-7820HKラップトップ上で、ORB-SLAM2と比較。

SLAMにおける意義

OpenVSLAMは、単にベンチマーク精度ではなく、ユーザビリティと統合を重視して設計された初期のSLAMコードベースの一つであり、研究・産業の両方で組み込み可能なコンポーネントとして広く採用された——特に、他のどのオープンシステムも対応していなかったパノラマ撮影リグ向けに。その歴史は一つの教訓も伝えている: GPLライセンスのORB-SLAM2から派生したコードに関する懸念から、オリジナルのリポジトリが削除され、コミュニティはStella-VSLAMとして開発を継続した。整理された特徴ベースSLAMアーキテクチャを学ぶための良い入門としては今も有効である。

関連ノート