Library for performing RGB-D Visual Odometry
Currently supported approaches:
- Robust Dense Visual Odometry [1]
This project contain some external modules as git submodules, so after clonning the repository one must run:
git submodule update --init --recursive
To buld the library vo
, on project's root dir run these commands
mkdir build && cd build
cmake ../
cmake --build . {-DUSE_GPU=ON, -DBUILD_PYTHON=OFF, -DUSE_OMP=OFF}
NOTE: (
{-DXX=ON} are optional flags)
This repository contains Python bindings (tested with Python3.7
) thanks to pybind11. One can install this library's Python wrappers pyvo
by running (on project's root):
pip install setup.py
There is a Python CLI script to test the approach, supported benchmark are:
- TUM RGB-D benchmarks
- Custom benchmark format (TODO: Explain)
This scripts requirements are specified in here.
To run an evaluation (from project's root):
python3 examples/test_dvo.py {tum-fr1, test} -d /path/to/benchmark/dir -c /path/to/dvo/config.yaml -i /path/to/camera/intrinsics.yaml {-v} {-s 100}
An example of a DVO config file located here and for the camera intrinsics file here. The optional arguments:
-v
: Boolean flag to display the estimated trajectory vs groundtruth-s X
: Optional option to use the firstX
samples of the benchmark. If not set, the complete benchmark is computed
[1] C. Kerl, J. Sturm, and D. Cremers, “Robust odometry estimation for rgb-d cameras,” in International Conference on Robotics and Automation (ICRA), May 2013.