Modified version of LIBVISO2 (C++ Library for Visual Odometry 2)
Modified version of LIBVISO2 downloaded from this.
LIBVISO2: C++ Library for Visual Odometry 2 is a very fast cross-platfrom (Linux, Windows) C++ library with MATLAB wrappers for computing the 6 DOF motion of a moving mono/stereo camera. For its ROS wiki, please visit here;
The stereo version is based on minimizing the reprojection error of sparse feature matches and is rather general (no motion model or setup restrictions except that the input images must be rectified and calibration parameters are known).
The monocular version is still very experimental and uses the 8-point algorithm for fundamental matrix estimation. It further assumes that the camera is moving at a known and fixed height over ground (for estimating the scale). Due to the 8 correspondences needed for the 8-point algorithm, many more RANSAC samples need to be drawn, which makes the monocular algorithm slower than the stereo algorithm, for which 3 correspondences are sufficent to estimate parameters.
[TOC]
sudo apt-get install libpng++-dev
In the MATLAB directory of libviso, simply run make.m to generate the mex wrappers (Run mex -setup
before to choose your desired compiler)
Now try to run the demo*.m files (For some of them you will need the Karlsruhe dataset from www.cvlibs.net)
plain cmake (No ROS)
cd viso2_cg/viso2 & mkdir build & cd build & cmake .. -DBUILD_DEMO=true & make
./viso2 path/to/sequence/2010_03_09_drive_0019
With ROS
catkin_make
or catkin build viso2_cg
roslaunch viso2_cg demo_stereo.launch [rviz:=true]
@INPROCEEDINGS{Geiger11,
author = {Andreas Geiger and Julius Ziegler and Christoph Stiller},
title = {StereoScan: Dense 3d Reconstruction in Real-time},
booktitle = {IEEE Intelligent Vehicles Symposium},
year = {2011},
month = {June},
address = {Baden-Baden, Germany}
}