Skip to main content
Log in

Hybrid Parallel Bundle Adjustment for 3D Scene Reconstruction with Massive Points

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

Bundle adjustment (BA) is a crucial but time consuming step in 3D reconstruction. In this paper, we intend to tackle a special class of BA problems where the reconstructed 3D points are much more numerous than the camera parameters, called Massive-Points BA (MPBA) problems. This is often the case when high-resolution images are used. We present a design and implementation of a new bundle adjustment algorithm for efficiently solving the MPBA problems. The use of hardware parallelism, the multi-core CPUs as well as GPUs, is explored. By careful memory-usage design, the graphic-memory limitation is effectively alleviated. Several modern acceleration strategies for bundle adjustment, such as the mixed-precision arithmetics, the embedded point iteration, and the preconditioned conjugate gradients, are explored and compared. By using several high-resolution image datasets, we generate a variety of MPBA problems, with which the performance of five bundle adjustment algorithms are evaluated. The experimental results show that our algorithm is up to 40 times faster than classical Sparse Bundle Adjustment, while maintaining comparable precision.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Agarwal S, Snavely N, Simon I, Seitz S M, Szeliski R. Building Rome in a day. In Proc. the 12th ICCV, Sept. 2001, pp.72–79.

  2. Frahm J M, Georgel P, Gallup D et al. Building Rome on a cloudless day. In Proc. the 11th ECCV, Sept. 2010, pp.368–381.

  3. Snavely N, Seitz S, Szeliski R. Photo tourism: Exploring photo collections in 3D. In Proc. SIGGRAPH, Jul. 30-Aug. 3, 2006, pp.835–846.

  4. Agarwal S, Snavely N, Seitz S et al. Bundle adjustment in the large. In Proc. the 11th ECCV, Part 2, Sept. 2010, pp.29–42.

  5. Wu C C, Agarwal S, Curless B, Seitz S. Multicore bundle adjustment. In Proc. CVPR, June 2011, pp.3057–3064.

  6. Lourakis M, Argyros A. SBA: A software package for generic sparse bundle adjustment. ACM Transactions on Mathematical Software, 2009, 36(1), Article No. 2.

  7. Triggs B, Mclauchlan P, Hartley R et al. Bundle adjustment — A modern synthesis. In Proc. the Int. Workshop on Vision Algorithms: Theory and Practice, Sept. 1999, pp.298–372.

  8. Byröd M, Åström K. Bundle adjustment using conjugate gradients with multiscale preconditioning. In Proc. BMVC, Sept. 2009.

  9. Byröd M, Åström K. Conjugate gradient bundle adjustment. In Proc. the 11th ECCV, Sept. 2010, pp.114–127.

  10. Jeong Y, Nister D, Steedly D et al. Pushing the envelope of modern methods for bundle adjustment. In Proc. CVPR, June 2010, pp.1474–1481.

  11. Choudhary C, Gupta S, Narayanan P J. Practical time bundle adjustment for 3D reconstruction on the GPU. In ECCV Workshop on Computer Vision on GPUs, Sept. 2010.

  12. Chen DH, Chen WG, Zheng WM (2012) CUDA-Zero: A framework for porting shared memory GPU applications to multi-GPUs. Science China Information Sciences 55(3):663–676

    Article  Google Scholar 

  13. Yang X, Tang T, Wang G et al (2012) MPtostream: An OpenMP compiler for CPU-GPU heterogeneous parallel systems. Science China Information Sciences 55(9):1961–1971

    Article  Google Scholar 

  14. Engels C, Stewenius S, Nister D. Bundle adjustment rules. In Proc. PCV, Sept. 2006, pp.266–271.

  15. Shonkwiler R, Lefto L (2006) An Introduction to Parallel and Vector Scientific Computing. Cambridge University Press, London

    Book  Google Scholar 

  16. Park IY, Singhal N, Lee MH et al (2011) Design and performance evaluation of image processing algorithms on GPUs. IEEE Trans Parallel and Distributed Systems 22(1):91–104

    Article  Google Scholar 

  17. Castan̈o-Díez D, Moser D, Schoenegger A et al (2008) Performance evaluation of image processing algorithms on the GPU. Journal of Structural Biology 164(1):153–160

    Article  Google Scholar 

  18. Bordawekar R, Bondhugula U, Rao R. Can CPUs match GPUs on performance with productivity?: Experiences with optimizing a FLOP-intensive application on CPUs and GPU. Technical Report, IBM T. J. Watson Research Center, 2010.

  19. Alcantara D, Sharf A, Abbasinejad F et al. Real-time parallel hashing on the GPU. ACM Transactions on Graphics, 2009, 28(5), Article No. 154.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xin Liu.

Additional information

This work was supported by the National Natural Science Foundation of China under Grant No. 60835003 and the Strategic Priority Research Program of the Chinese Academy of Sciences under Grant No. XDA06030300.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Liu, X., Gao, W. & Hu, ZY. Hybrid Parallel Bundle Adjustment for 3D Scene Reconstruction with Massive Points. J. Comput. Sci. Technol. 27, 1269–1280 (2012). https://doi.org/10.1007/s11390-012-1303-3

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-012-1303-3

Keywords

Navigation