Abstract
Large-scale 3D reconstruction has received a lot of attention recently. Bundle adjustment is a key component of the reconstruction pipeline and often its slowest and most computational resource intensive. It hasn’t been parallelized effectively so far. In this paper, we present a hybrid implementation of sparse bundle adjustment on the GPU using CUDA, with the CPU working in parallel. The algorithm is decomposed into smaller steps, each of which is scheduled on the GPU or the CPU. We develop efficient kernels for the steps and make use of existing libraries for several steps. Our implementation outperforms the CPU implementation significantly, achieving a speedup of 30-40 times over the standard CPU implementation for datasets with upto 500 images on an Nvidia Tesla C2050 GPU.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Snavely, N., Seitz, S.M., Szeliski, R.: Photo tourism: exploring photo collections in 3d. ACM Trans. Graph 25, 835–846 (2006)
Agarwal, S., Snavely, N., Simon, I., Seitz, S.M., Szeliski, R.: Building rome in a day. In: International Conference on Computer Vision, ICCV (2009)
Fung, J., Mann, S.: Openvidia: parallel gpu computer vision. In: MULTIMEDIA 2005: Proceedings of the 13th Annual ACM International Conference on Multimedia, pp. 849–852 (2005)
Vineet, V., Narayanan, P.J.: Cuda cuts: Fast graph cuts on the gpu. In: Computer Vision and Pattern Recognition Workshop (2008)
Sinha, S.N., Michael Frahm, J., Pollefeys, M., Genc, Y.: Gpu-based video feature tracking and matching. Technical report. In: Workshop on Edge Computing Using New Commodity Architectures (2006)
Frahm, J.-M., Fite-Georgel, P., Gallup, D., Johnson, T., Raguram, R., Wu, C., Jen, Y.-H., Dunn, E., Clipp, B., Lazebnik, S., Pollefeys, M.: Building Rome on a Cloudless Day. In: Daniilidis, K., Maragos, P., Paragios, N. (eds.) ECCV 2010, Part IV. LNCS, vol. 6314, pp. 368–381. Springer, Heidelberg (2010)
Snavely, N., Seitz, S.M., Szeliski, R.: Skeletal graphs for efficient structure from motion. In: CVPR (2008)
Brown, M., Lowe, D.G.: Unsupervised 3d object recognition and reconstruction in unordered datasets. In: 3DIM 2005: Proceedings of the Fifth International Conference on 3-D Digital Imaging and Modeling, pp. 56–63 (2005)
Lourakis, M.A., Argyros, A.: SBA: A Software Package for Generic Sparse Bundle Adjustment. ACM Trans. Math. Software 36, 1–30 (2009)
Ni, K., Steedly, D., Dellaert, F.: Out-of-core bundle adjustment for large-scale 3d reconstruction. In: International Conference on Computer Vision, ICCV (2007)
Lourakis, M.: levmar: Levenberg-marquardt nonlinear least squares algorithms in C/C++ (July 2004), http://www.ics.forth.gr/~lourakis/levmar/
Byröd, M., Äström, K.: Bundle adjustment using conjugate gradients with multiscale preconditioning. In: BMVC (2009)
Cao, J., Novstrup, K.A., Goyal, A., Midkiff, S.P., Caruthers, J.M.: A parallel levenberg-marquardt algorithm. In: ICS 2009: Proceedings of the 23rd International Conference on Supercomputing, pp. 450–459 (2009)
Triggs, B., McLauchlan, P.F., Hartley, R.I., Fitzgibbon, A.W.: Bundle adjustment - a modern synthesis. In: Proceedings of the International Workshop on Vision Algorithms: Theory and Practice, ICCV 1999 (2000)
Ranganathan, A.: The levenberg-marquardt algorithm. Technical Report Honda Research Institute (2004), http://www.ananth.in/docs/lmtut.pdf
Nielsen, H.: Damping parameter in marquardt’s method. Technical Report  hbn, Technical University of Denmark (1999), http://www.imm.dtu.dk/~hbn
Dongarra, J.: Compressed column storage (1995), http://netlib2.cs.utk.edu/linalg/html_templates/node92.html
Sengupta, S., Harris, M., Garland, M.: Efficient parallel scan algorithms for gpus. Technical report, NVIDIA Technical Report (2008)
Ltaief, H., Tomov, S., Nath, R., Dongarra, J.: Hybrid multicore cholesky factorization with multiple gpu accelerators. Technical report, University of Tennessee (2010)
Lindholm, E., Nickolls, J., Oberman, S., Montrym, J.: Nvidia tesla: A unified graphics and computing architecture. IEEE Micro 28, 39–55 (2008)
Snavely, N.: Notre dame dataset (2009), http://phototour.cs.washington.edu/datasets/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Choudhary, S., Gupta, S., Narayanan, P.J. (2012). Practical Time Bundle Adjustment for 3D Reconstruction on the GPU. In: Kutulakos, K.N. (eds) Trends and Topics in Computer Vision. ECCV 2010. Lecture Notes in Computer Science, vol 6554. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-35740-4_33
Download citation
DOI: https://doi.org/10.1007/978-3-642-35740-4_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-35739-8
Online ISBN: 978-3-642-35740-4
eBook Packages: Computer ScienceComputer Science (R0)