--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: ITP: sba -- sparse bundle adjustment C/C++ package
- From: Andrew Straw <strawman@astraw.com>
- Date: Tue, 03 Jun 2008 17:31:42 -0700
- Message-id: <4845E26E.1020600@astraw.com>
Package: wnpp
Severity: wishlist
* Package name : sba
Version : 1.4
Upstream Author : Manolis Lourakis <lourakis@ics.forth.gr>
* URL : http://www.ics.forth.gr/~lourakis/sba/
* License : GPL
Programming Lang: C
Description : sparse bundle adjustment C/C++ package
I have begun a Debian-izing effort with this Bazaar branch on Launchpad:
lp:~astraw/sba/sba-debian-package
sba is a C/C++ package for generic sparse 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, partially or fully
intrinsically calibrated cameras, exterior orientation (i.e. pose)
estimation from fixed 3D points, refinement of intrinsic parameters,
etc. All 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.
--- End Message ---