- No BA optimizatin in this project
- Buckect and circle match is a good idea. Bucket can be seen as a type of features extraction such as image segmentated into blocks.
- function distinguishNewPoints() will drag down the real-time nature of the system
- add new features, and check every feature is already exist.
- Not use keyframe strategy
This repository is C++ OpenCV implementation of SOFT (Stereo Odometry based on careful Feature selection and Tracking)
Original Paper: https://lamor.fer.hr/images/50020776/Cvisic2017.pdf
Demo vedio: https://www.youtube.com/watch?v=Z3S5J_BHQVw&t=17s
![image](https://github.com/cumtchenchang/visual_odom/row/master/images/euroc_trajectory.png)
Tested on KITTI odometry dataset
git clone https://github.com/ZhenghaoFei/visual_odom.git
Change EIGENPATH in visual_odometry/CMakeLists.txt
The system use Camera Parameters in calibration/xx.yaml, put your own camera parameters in the same format and pass the path when you run.
mkdir build
cd build
cmake ..
make -j4
./run /PathtoKITTI/sequences/00/ ../calibration/kitti00.yaml