sba is a generic sparse bundle adjustment C/C++
library based on the Levenberg-Marquardt
algorithm. Bundle adjustment is almost invariably
used as the last step of every feature-based
multiple view reconstruction vision algorithm to
obtain optimal 3D structure and motion (i.e.
camera matrix) parameter estimates. Provided with
initial estimates, BA simultaneously refines
motion and structure by minimizing the
reprojection error between the observed and
predicted image points. sba is generic in the
sense that it grants the user full control over
the definition of the parameters describing
cameras and 3D structure.