Optimization Online


The Design and Implementation of a Generic Sparse Bundle Adjustment Software Package Based on the Levenberg-Marquardt Algorithm

Manolis Lourakis (lourakis***at***ics.forth.gr)
Antonis Argyros (argyros***at***ics.forth.gr)

Abstract: Bundle adjustment using the Levenberg-Marquardt minimization algorithm is almost invariably used as the last step of every feature-based structure and motion estimation computer vision algorithm to obtain optimal 3D structure and viewing parameter estimates. However, due to the large number of unknowns contributing to the minimized reprojection error, a general purpose implementation of the Levenberg-Marquardt algorithm incurs high computational costs when applied to the problem of bundle adjustment. Fortunately, the lack of interaction among parameters for different 3D points and cameras in multiple view reconstruction results in the underlying normal equations exhibiting a sparse block structure, which can be exploited to gain considerable computational benefits. This paper presents the design and explains the use of sba, a publicly available C/C++ software package for generic bundle adjustment based on the sparse Levenberg-Marquardt algorithm.

Keywords: computer vision, 3D reconstruction, structure and motion estimation, bundle adjustment, non linear least squares, levenberg-marquardt

Category 1: Applications -- Science and Engineering (Basic Sciences Applications )

Category 2: Nonlinear Optimization (Nonlinear Systems and Least-Squares )

Category 3: Optimization Software and Modeling Systems (Other )

Citation: Technical Report No. 340, Institute of Computer Science - FORTH, Heraklion, Crete, Greece, Aug. 2004

Download: [Postscript]

Entry Submitted: 11/04/2004
Entry Accepted: 11/04/2004
Entry Last Modified: 11/04/2004

Modify/Update this entry

  Visitors Authors More about us Links
  Subscribe, Unsubscribe
Digest Archive
Search, Browse the Repository


Coordinator's Board
Classification Scheme
Give us feedback
Optimization Journals, Sites, Societies
Mathematical Programming Society