OpenMVG : C++ library for multi-view geometry in computer vision

This software was developed (or is under development) within the higher education and research community. Its stability can vary (see fields below) and its working state is not guaranteed.
Higher Edu - Research dev card
  • Creation or important update: 22/09/13
  • Minor correction: 22/09/13
  • Index card author: Pascal Monasse (LIGM)
  • Theme leader: Teresa Gomez-Diaz (LIGM)
General software features

The library provides solvers for multi-view geometry, from 2 to n views:

  • homography,
  • fundamental matrix,
  • essential matrix,
  • pose estimation,
  • triangulation.

A generic framework allows using these solvers in robust estimation, as RANSAC and AC-RANSAC.

Moreover, a complete algorithmic pipeline for external calibration is provided, as a modern alternative to Bundler software.

The philosophy of this C++ library is to write clear and maintainable code. All modules have unitary tests. It relies on Eigen for linear algebra, Google's Ceres for Levenberg-Marquardt minimization and Lemon for graph processing.

Context in which the software is used

Internally used for multi-view calibration and 3D reconstruction.

Publications related to software

Adaptive Structure from Motion with a contrario model estimation. Pierre Moulon, Pascal Monasse and Renaud Marlet. Proceedings of ACCV 2012.