ORBSLAM2はORBSLAMをステレオ、デプスカメラにも対応させ安定化させたリリース版として公開され、論文はIEEE TRANSACTION ON ROBOTICSに投稿されている。

Raul Mur-Artal, Juan D. Tardos
"ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras"
IEEE Transactions on Robotics ( Volume: PP, Issue: 99 )


http://ieeexplore.ieee.org/document/7946260/

以前windowsに導入するために四苦八苦したが、有志によるORBSLAM2のWindowsサポート版が公開されていたので導入した。その際のログについて記載しておく。


ORBSLAM24Windows




基本的には、リンク先に書いてある通りに進めれば良い。
https://github.com/phdsky/ORBSLAM24Windows

◯必要なもの
・OpenCV3.1 (2.4.13以降)

・CMake
(インストールはここ参照)
・VisualStudio 2013

◯導入
1.ORBSLAM24Windowsのダウンロード
https://github.com/phdsky/ORBSLAM24Windows

2.DBoW2のコンパイル
/Thirdparty/DBoW2/以下をCMakeかける。

以下のように入力し、Configueを実行する。
次に、OpenCVのパスがエラー出るので、OpenCVのconfigファイルのあるパスを追加で入力する。
最後にGenerateを実行することでbuild以下に.slnファイルが生成される。

DBoW2

.slnファイルをVisualStudioで開き、バッチビルドすればよい。


3.DBoW2のコンパイル
/Thirdparty/g2o/以下をCMakeかける。

以下のように入力し、Configueを実行する。
次にGenerateを実行することでbuild以下に.slnファイルが生成される。

g2o

.slnファイルをVisualStudioで開き、バッチビルド。
途中、vasprintf識別子が見つかりませんでしたのエラーが出ることがあるが、気にしなくて良い。

4. pangorinのコンパイル
/Thirdparty/pangorin/以下も同様にCMake,コンパイル

pangorin

ちょいちょいエラーが出るが問題ない。

5.ORBSLAM2のコンパイル
同様にORBSLAM2もコンパイルする。

CMakeORBSLAM2


6.実行する。
まず、ORBのデスクリプタを記述したファイルを展開しておく。
/Vocabulary/ORBvoc.txt.tar.gzを展開してORBvoc.txtを得ておく。

ここでは、車載カメラを利用した大規模データセットであるKITTIを使うものとする。
KITTIデータセットは以下からダウンロードしておく。http://www.cvlibs.net/datasets/kitti/eval_odometry.php
Download odometry data set (grayscale, 22 GB)

ORBSLAM2をVisualStudioで開く。
以下のように、stereo_kittiをスタートアッププロジェクトにしておく。

vs

stereo_kittiのプロパティを開き、デバッグ項目に以下に入力する。
propaty

コマンド引数には、ORBの辞書 KITTIのパラメータファイル KITTIの画像フォルダの順で記載する。
以下に例を示す。
C:\lib\ORBSLAM24Windows-master\Vocabulary\ORBvoc.txt C:\lib\ORBSLAM24Windows-master\Examples\Stereo\KITTI00-02.yaml C:\dataset\KITTI\00

また、OpenCV3.1のdllのパスを通していない場合には、環境の項目にdllのフォルダを指定しておく。

以上でコンパイルすれば動作する。