This code is mainly linked with the following publication, which was subject to peer review:
Robust and Accurate Line- and/or Point-Based Pose Estimation without Manhattan Assumptions, Yohann Salaun, Renaud Marlet, and Pascal Monasse, ECCV 2016
It computes the calibration between two cameras using both lines and points. It gives performant results in textured scenes and in indoor scenes.
and with
Robust SfM with Little Image Overlap, Yohann Salaun, Renaud Marlet, and Pascal Monasse, arXiv.org 2017
This code has been tested on linux 64 bits. It might not work well on other os. If you have tested it on Windows, we would be glad to know if it works.
For now, no point detector is included. We advise you to use openMVG detections (you need to change the output of the .bin matching file to .txt file if you use the lastest version).
Distorsion strongly decreases results quality. we advise you to get rid of it before computing calibration.
Requirement:
-
CMake (available for free at https://cmake.org/download/)
-
openCV (available for free at http://opencv.org/) > 2.x
-
Eigen library > 3
-
Blas library
-
Lapack library
-
Ceres library (http://ceres-solver.org/installation.html)
-
Arpack++ with SuperLU (https://github.com/m-reuter/arpackpp)
-
C++ compiler
I am working on simplifying the required libraries, do not hesitate to contact me if you have any issue or any solution for simplification.
Look at the folder TEST_IMAGES for some information on how the code works
MPL2 for the main code
Different for third party
Yohann Salaun <yohann.salaun AT imagine.enpc.fr>
Renaud Marlet <renaud.marlet AT enpc.fr>
Pascal Monasse <pascal.monasse AT enpc.fr>
If you used our code in your publication, please cite the following:
- Line detection
[1] Yohann Salaun, Renaud Marlet, and Pascal Monasse, Multiscale line segment detector for robust and accurate SfM, ICPR 2016
[2] Rafael Grompone von Gioi, Jérémie Jakubowicz, Jean-Michel Morel, and Gregory Randall, LSD: a Line Segment Detector, Image Processing On Line, 2 (2012), pp. 35–55.
- Line Matching
[3] Lilian Zhang, and Reinhard Koch, An efficient and robust line segment matching approach based on LBD descriptor and pairwise geometric consistency, JVCI 2013
- Vanishing point detection
[4] Almansa, A. and Desolneux, A. and Vamech, S., Vanishing point detection without any a priori information, TPAMI 2003
- Calibration
[5] Yohann Salaun, Renaud Marlet, and Pascal Monasse, Robust and Accurate Line- and/or Point-Based Pose Estimation without Manhattan Assumptions, ECCV 2016
[6] Yohann Salaun, Renaud Marlet, and Pascal Monasse, Robust SfM with Little Image Overlap, arXiv.org 2017