sba

C/C++ package for generic sparse bundle adjustment
Download

sba Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Manolis Lourakis
  • Publisher web site:
  • http://www.ics.forth.gr/~lourakis/homest/
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 484 KB

sba Tags


sba Description

C/C++ package for generic sparse bundle adjustment sba (Sparse Bundle Adjustment) is a C/C++ package for generic sparse bundle adjustment that is distributed under the GNU General Public License. sba is generic in the sense that it provides increased flexibility regarding the choice of parameters and functional relations defining the image projections involved in bundle adjustment.Bundle Adjustment (BA) 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. The minimization is typically carried out with the aid of the Levenberg-Marquardt (LM) algorithm. However, due to the large number of unknowns contributing to the minimized reprojection error, a general purpose implementation of the LM algorithm (such as MINPACK's lmder) incurs high computational costs when applied to the minimization problem defined in the context of BA.Fortunately, the lack of interaction among parameters for different 3D points and cameras results in the underlying normal equations exhibiting a sparse block structure (click this for an example). sba exploits this sparseness by employing a tailored sparse variant of the LM algorithm that leads to considerable computational gains. sba is generic in the sense that it grants the user full control over the definition of the parameters describing cameras and 3D structure. Therefore, it can support virtually any manifestation/parameterization of the multiple view reconstruction problem such as arbitrary projective cameras, fully or partially intrinsically calibrated cameras, refinement of intrinsic parameters, exterior orieAll the user has to do to adapt sba to any such problem is to supply it with appropriate routines for computing the estimated image projections and their Jacobian for the problem and parameterization at hand. Routines for computing analytic Jacobians can be either coded by hand, generated with a tool supporting symbolic differentiation (e.g. maple), or obtained using automatic differentiation techniques. There is also the alternative of approximating Jacobians with the aid of finite differences. Additionally, sba includes routines for checking the consistency of user-supplied Jacobians. To the best of our knowledge, sba is the first and currently the only software package of its kind to be placed in the public domain in source form.


sba Related Software