This project was created with the aim of implementing a Structure-From-Motion (SFM) pipeline and to test it using estabalished datasets.
This project requires OpenCV 4 and CVSBA. The version of cvsba used is adapted from willdzeng's cvsba repository.
OpenCV 4 can be found in the OpenCV website. When installing OpenCV 4 from source, follow this tutorial here to build it with the contrib submodule and with non-free features enabled.
CVSBA seems very sensitive to incorrect feature correspondences. While setting the error threshold for the KNN matcher start with low threshold and slowly increase from there. It's all about finding a balance between having enough points for performing PnP pose calculation while still maintaining good correspondence.
- Mastering OpenCV with Practical Computer Vision Projects - Daniel Lélis Baggio
- Basic Knowledge on Visual SLAM: From Theory to Practice, by Xiang Gao, Tao Zhang, Qinrui Yan and Yi Liu