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.
|Tags||Scientific/Engineering Image Recognition|
|Operating Systems||OS Independent|
Release Notes: This release has support for fixed points (e.g., ground control points) in the adjustment. A couple of issues with memory alignment on 64-bit systems were fixed. The demo program was improved by implementing a local rotation representation, adding the option of refining the camera distortion parameters and employing more optimized user-supplied projection and Jacobian functions.
Release Notes: Support was added for including the covariance matrices of the image projections in the optimization. This feature provides the option of weighting the reprojection errors with the inverses of the point covariances. The memory requirements of sba_motstr_levmar_x() were reduced further by using the same memory to store the matrices V* and V*-1. Any working memory retained between invocations of the linear solvers is now ensured to be released upon the termination of all sba routines.
Release Notes: This release improves memory management by reusing memory among certain computations. This reduces the total required memory size, and reduces total execution time by improving locality. A MATLAB MEX file, has been added, allowing sba to be used directly from MATLAB with user-defined projection and Jacobian functions. The included Euclidean bundle adjustment demo program has been improved: the unit norm property for the rotation quaternions is explicitly enforced, and the option of refining the intrinsic camera parameters in addition to the camera motions has been added.