The task to compute 3D reconstructions from large amounts of data has become an active field of research within the last years. Based on an initial estimate provided by structure from motion, bundle adjustment seeks to find a solution that is optimal for all cameras and 3D points. The corresponding nonlinear optimization problem is usually solved by the Levenberg-Marquardt algorithm combined with conjugate gradient descent. While many adaptations and extensions to the classical bundle adjustment approach have been proposed, only few works consider the acceleration potentials of GPU systems. This paper elaborates the possibilities of timeand space savings when fitting the implementation strategy to the terms and requirements of realizing a bundler on heterogeneous CPU-GPU systems. Instead of focusing on the standard approach of Levenberg-Marquardt optimization alone, nonlinear conjugate gradient descent and alternating resection-intersection are studied as two alternatives. The experiments show that in particular alternating resection-intersection reaches low error rates very fast, but converges to larger error rates than Levenberg-Marquardt. PBA, as one of the current state-of-the-art bundlers, converges slower in 50% of the test cases and needs 1.5-2 times more memory than the LevenbergMarquardt implementation.
Another GPU implementation by Hänsch et al. shows that is is possible to efficiently parallelise the Levenberg-Marquardt algorithm (LM) REF .
MODERN METHODS OF BUNDLE ADJUSTMENT ON THE GPU
ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences
Computer Science