目標
前のセクションでは、ORB-SLAM2 のコンパイルとテストを完了しました。このセクションでは、テストに完全なデータ セットを使用します。
ノーマルモード
ここでの通常モードは、コンパイルされた実行可能ファイルを直接実行します。
単眼カメラ
1 つ目は単眼カメラです。
ここではオフライン テストに TUM データセットを使用します。TUM
データセットが保存されている場所に移動します。
https://vision.in.tum.de/data/datasets/rgbd-dataset/download
ここでは最初のデータセット fr1/xyz を使用し、圧縮パッケージをダウンロードします。
ダウンロードが完了したら、 に移動し/home/heying/ORB_SLAM2/Examples/datasets
て解凍します。
それからテストします
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Examples/datasets/rgbd_dataset_freiburg1_xyz
端末のディスプレイ入力センサーが次のように設定されていることがわかります。 単眼
しばらくすると、次の内容が表示されます
。この図では、端末プログラムが 2 つのウィンドウを呼び出していることを除いて、右側のウィンドウには 1 つの写真が表示されています。緑色の四角と丸は、画像から抽出された ORB 特徴点を示します。左側のウィンドウは、カメラのポーズ (つまりキー フレーム) とマップ ポイント (各マップ ポイントは画像内の特徴点と対応関係にあります) を表示するために使用されます。
このうち、緑色は現在のカメラの表示、青色は過去のカメラポーズの表示です。ウィンドウをズームアウトすると、カメラの軌跡が確認できます
使用したデータセットが再生されるとテストは完了です
双眼カメラ
KITTI データセットを使用します
https://www.cvlibs.net/datasets/kitti/eval_odometry.php
Download odometry data set (grayscale, 22 GB)
このデータセットはここで使用されています
https://www.cvlibs.net/download.php?file=data_odometry_gray.zip
ただし、ダウンロードには電子メールが必要です
ダウンロードが完了したら、テストのために解凍し、KITTI データセットを使用します。シーケンス 00 は、
フォルダー 00 のみを解凍することを意味します。これは、すべてを解凍するには少しスペースが必要であり、テスト段階では他に何も必要ありません。 , ただし、他のフォルダは解凍できます テストを実行します
すると、00 フォルダ内に、双眼カメラの左右のカメラのデータセットに対応して、写真を保存するためのフォルダが 2 つあります 解凍が完了したら、テストを実行し
ます
./Examples/Stereo/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTI00-02.yaml Examples/datasets/KITTI/00
端末に表示される入力センサーの設定が次のようになっていることがわかります。
プログラムが呼び出すウィンドウが表示されます
RGB-D
以前の TUM データセットを引き続き使用し、今回は深度情報を追加します。
ここでは、rgb 画像と深度画像を一致させる必要があります。公式スクリプト プログラム assign.py
https://svncvpr.in.tum.de/cvpr-ros-pkg/trunk/rgbd_benchmark/rgbd_benchmark_tools/src/rgbd_benchmark_tools/associate。パイ
assign.py ファイルをダウンロードします。
次に、Python を使用して assign.py を実行すると、指定したパスに associations.txt ファイルが生成されることがわかります。
python associate.py Examples/datasets/rgbd_dataset_freiburg1_xyz/rgb.txt Examples/datasets/rgbd_dataset_freiburg1_xyz/depth.txt > Examples/datasets/rgbd_dataset_freiburg1_xyz/associations.txt
指定したパスに associations.txt ファイルが生成されていることがわかります。
それからテストします
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml Examples/datasets/rgbd_dataset_freiburg1_xyz Examples/datasets/rgbd_dataset_freiburg1_xyz/associations.txt
ターミナルでは、入力センサーが RGB-D に設定されていることがわかります。
エフェクトビュー
ROSモード
次に、ROS オペレーティング システムでの使用をテストします。次に、rosbag からデータを公開する必要があるため、対応する rosbag データ パッケージをダウンロードする必要があります。
単眼カメラ
ここでテストした TUM データセットのダウンロードを続けますが、rosbag パッケージhttps://vision.in.tum.de/rgbd/dataset/freiburg1/rgbd_dataset_freiburg1_xyz.bagの形式で行います。
それではこのバッグパッケージの情報は
使用するトピックは で/camera/rgb/image_color
、rosnode ORB_SLAM2/Mono が受け取るトピック名は です/camera/image_raw
。
rosbag を再生するときに、/camera/rgb/image_color
rosbag のものを に変換できます/camera/image_raw
。
テストを実施する
roscore
rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml
プログラムのウィンドウが呼び出され、カメラのトピックを待っていることがわかります。
プレイバッグパッケージ
rosbag play --pause Examples/datasets/rgbd_dataset_freiburg1_xyz.bag /camera/rgb/image_color:=/camera/image_raw
スペースを押して再生すると、通常の操作が表示されます
単眼AR
上記と同様に、次ORB_SLAM2 MonoA
のように変更するだけで済みます。ORB_SLAM2 MonoAR
roscore
rosrun ORB_SLAM2 MonoAR Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml
プレイバッグパッケージ
rosbag play --pause Examples/datasets/rgbd_dataset_freiburg1_xyz.bag /camera/rgb/image_color:=/camera/image_raw
プログラムが視覚化ウィンドウから飛び出します。左上隅をクリックしてInsert Cube
立方体を追加すると、カメラの変化に応じてこれらの立方体がしっかりと配置されることがわかります。
それ以来、ORB_SLAM2 のインストールとテストが完了しました。