LIBVISO: Library for VISual Odometry
Authors: Andreas Geiger, Bernd KittInstitute of Measurement and Control Systems
Karlsruhe Institute of Technology
Please send any feedback or bugreports to: geiger@kit.edu
Note: A new version, Libviso 2, is available here!
Introduction
LIBVISO (Library for Visual Odometry) is a cross-platfrom (Linux, Windows) C++ library with MATLAB wrappers for computing the 6 DOF motion of a moving stereo camera. Input is a sequence of rectified stereo images. Output is a 6D vector containing the motion between 2 consecutive frames, or the respective homography. Libviso includes a small and fast feature matcher based on gradient images. Motion computation is performed using an iterated Sigma Point Kalman Filter with a simple constant motion model and a Trifocal tensor based observation model. More details can be found in our related publications.

Coordinate System Definition

Changelog
- 07.03.2011: A new version which improves matching speeds and visual odometry by 1 to 2 orders of magnitude is under construction and probably released in June 2011.
- 06.03.2011: Added -msse2 flag which is needed by some compilers, thanks to Abhijit Kundu for reporting
- 01.10.2010: Added new test video sequences at full resolution with ground truth odometry (datasets)
- 22.09.2010: Bugfix: Crashes in the presence of only few correspondences, thanks to Bob Mottram for reporting
- 20.09.2010: Increased matching speed, Added outlier removal option based on triangulation
- 02.09.2010: Added missing MATLAB function 'project.m', thanks to Diego Cheda for reporting
- 30.08.2010: First version online
Prerequisites
We tried to keep dependencies as small as possible, but to start with libviso you are going to need at least:- CVM library (linear algebra library)
- CMAKE (if you want to compile a c++ library)
- MATLAB (if you want to use the MATLAB wrappers)
Downloads
- Libviso for Linux/Windows including a test sequence and demo code: libviso.zip
- Bob Mottram wrote some standalone C++ wrapping code for libviso, the project website is available here.
Datasets: Video Sequences with Ground Truth Odometry
- The datasets used in our paper are available for download here.
- Figure 5a: 2009_09_08_drive_0021
- Figure 5b: 2009_09_08_drive_0016
Using this Code as part of your Software
This code is published under the GNU General Public License. If you distribute a software that uses libviso, you have to distribute it under GPL with the source code. Another option is to contact us to purchase a commercial license.If you find this software useful or if you use this software for your research, we would be happy if you cite the following related publications:
LATEX BIBTEX CITATION ENTRY:
@INPROCEEDINGS{Kitt10,
author = {Bernd Kitt and Andreas Geiger and Henning Lategahn},
title = {Visual Odometry based on Stereo Image Sequences with RANSAC-based Outlier Rejection Scheme},
booktitle = {IEEE Intelligent Vehicles Symposium},
year = {2010},
month = {June},
address = {San Diego, USA}
}
LATEX BIBTEX CITATION ENTRY:
@INPROCEEDINGS{Geiger10,
author = {Andreas Geiger and Bernd Kitt},
title = {ObjectFlow: A Descriptor for Classifying Traffic Motion},
booktitle = {IEEE Intelligent Vehicles Symposium},
year = {2010},
month = {June},
address = {San Diego, USA}
}
Disclaimer
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.Please send any feedback or bugreports to: geiger@kit.edu