Advertisement

Journal of Real-Time Image Processing

, Volume 14, Issue 2, pp 267–277 | Cite as

A real-time implementation of SIFT using GPU

  • K. Aniruddha Acharya
  • R. Venkatesh Babu
  • Sathish S. Vadhiyar
Original Research Paper

Abstract

Scale-Invariant Feature Transform (SIFT) is one of the widely used interest point features. It has been successfully applied in various computer vision algorithms like object detection, object tracking, robotic mapping and large-scale image retrieval. Although SIFT descriptors are highly robust towards scale and rotation variations, the high computational complexity of the SIFT algorithm inhibits its use in applications demanding real-time response, and in algorithms dealing with very large-scale databases. This paper presents a parallel implementation of SIFT on a GPU, where we obtain a speed of around 55 fps for a 640 × 480 image. One of the main contributions of our work is the novel combined kernel optimization that has led to a significant improvement of 12.2 % in the execution speed. We compare our results with the existing SIFT implementations in the literature, and find that our implementation has better speedup than most of them.

Keywords

SIFT GPU CUDA Combined kernel 

References

  1. 1.
    Acharya, A., Venkatesh Babu, R.: Speeding up SIFT using GPU. Fourth national conference on computer vision. Pattern recognition, Image Processing and Graphics (NCVPRIPG), IEEE, pp. 1–4 (2013)Google Scholar
  2. 2.
    Bay, H., Tuytelaars, T., Van Gool L.: SURF: features. In: ECCV 2006, pp. 404–417. Springer (2006)Google Scholar
  3. 3.
    Fung, J., Mann, S.: Using graphics devices in reverse: GPU-based image processing and computer vision. In: IEEE international conference on multimedia and expo, pp. 9–12 (2008)Google Scholar
  4. 4.
    Harish, P., Narayanan, P.: Accelerating large graph algorithms on the GPU using CUDA. In: High performance computing, pp. 197–208. Springer (2007)Google Scholar
  5. 5.
    Harris, C., Stephens, M.: A combined corner and edge detector. In: Alvey vision conference, Manchester, UK, vol. 15, p. 50 (1988)Google Scholar
  6. 6.
    Heymann, S., Muller, K., Smolic, A., Frohlich, B., Wiegand, T.: SIFT implementation and optimization for general-purpose GPU. In: Proceedings of the international conference in Central Europe on computer graphics, visualization and computer vision, p. 144 (2007)Google Scholar
  7. 7.
    Lowe, D.G.: Distinctive image features from scale-invariant keypoints. Int J Comp Vis 60(2), 91–110 (2004)CrossRefGoogle Scholar
  8. 8.
    NVIDIA Corporation: CUDA C best practices guide (2010)Google Scholar
  9. 9.
    Podlozhnyuk, V.: Histogram calculation in CUDA. NVIDIA Corporation, White Paper (2007a)Google Scholar
  10. 10.
    Podlozhnyuk, V.: Image convolution with CUDA. NVIDIA Corporation white paper, vol. 2097, no 3 (2007b) Google Scholar
  11. 11.
    Shi, J., Tomasi, C.: Good features to track. In: IEEE conference on computer vision and pattern recognition, pp 593–600 (1994) Google Scholar
  12. 12.
    Sinha, S.N., Frahm, J.M., Pollefeys, M., Genc, Y.: Feature tracking and matching in video using programmable graphics hardware. Mach Vis Appl 22(1), 207–217 (2011)CrossRefGoogle Scholar
  13. 13.
    Vedaldi, A.: An open implementation of the SIFT detector and descriptor. UCLA CSD (2007)Google Scholar
  14. 14.
    Warn, S., Emeneker, W., Cothren, J., Apon, A.: Accelerating SIFT on parallel architectures. In: IEEE international conference on cluster computing and workshops, pp 1–4 (2009)Google Scholar
  15. 15.
    Wu, C.: SiftGPU: a GPU implementation of scale invariant feature transform (SIFT). http://cs.unc.edu/ccwu/siftgpu (2007)
  16. 16.
    Zhang, Q., Chen, Y., Zhang, Y., Xu, Y.: SIFT implementation and optimization for multi-core systems. In: IEEE international symposium on parallel and distributed processing, pp. 1–8 (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • K. Aniruddha Acharya
    • 1
  • R. Venkatesh Babu
    • 1
  • Sathish S. Vadhiyar
    • 2
  1. 1.Video Analytics Laboratory, Supercomputer Education and Research CentreIndian Institute of ScienceBangaloreIndia
  2. 2.Supercomputer Education and Research CentreIndian Institute of ScienceBangaloreIndia

Personalised recommendations