avisingh599 / mono-vo

An OpenCV based implementation of Monocular Visual Odometry
MIT License
780 stars 294 forks source link

This is an OpenCV 3.0 based implementation of a monocular visual odometry algorithm.

Algorithm

Uses Nister's Five Point Algorithm for Essential Matrix estimation, and FAST features, with a KLT tracker. More details are available here as a report, and here as a blog post.

Note that this project is not yet capable of doing reliable relative scale estimation, so the scale informaion is extracted from the KITTI dataset ground truth files.

Demo Video

Demo video

Requirements

OpenCV 3.0

How to compile?

Provided with this repo is a CMakeLists.txt file, which you can use to directly compile the code as follows:

mkdir build
cd build
cmake ..
make

How to run?

After compilation, in the build directly, type the following:

./vo

Before you run

In order to run this algorithm, you need to have either your own data, or else the sequences from KITTI's Visual Odometry Dataset. In order to run this algorithm on your own data, you must modify the intrinsic calibration parameters in the code.

Performance

Results on the KITTI VO Benchmark

Contact

For any queries, contact: avisingh599@gmail.com

License

MIT