Fast Hough Transform on GPUs: Exploration of Algorithm Trade-Offs

  • Gert-Jan van den Braak
  • Cedric Nugteren
  • Bart Mesman
  • Henk Corporaal
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6915)


The Hough transform is a commonly used algorithm to detect lines and other features in images. It is robust to noise and occlusion, but has a large computational cost. This paper introduces two new implementations of the Hough transform for lines on a GPU. One focuses on minimizing processing time, while the other has an input-data independent processing time. Our results show that optimizing the GPU code for speed can achieve a speed-up over naive GPU code of about 10×. The implementation which focuses on processing speed is the faster one for most images, but the implementation which achieves a constant processing time is quicker for about 20% of the images.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allusse, Y., Horain, P., Agarwal, A., Saipriyadarshan, C.: GpuCV: An OpenSource GPU-Accelerated Framework for Image Processing and Computer Vision. In: 16th ACM International Conf. on Multimedia, MM 2008, pp. 1089–1092. ACM, New York (2008)Google Scholar
  2. 2.
    Bramberger, M., Brunner, J., Rinner, B., Schwabach, H.: Real-Time Video Analysis on an Embedded Smart Camera for Traffic Surveillance. In: Proceedings of 10th IEEE Symposium on Real-Time and Embedded Technology and Applications, RTAS 2004, pp. 174–181 (2004)Google Scholar
  3. 3.
    Duda, R.O., Hart, P.E.: Use of the Hough Transformation to Detect Lines and Curves in Pictures. Commun. ACM 15 (January 1972)Google Scholar
  4. 4.
    Forsberg, J., Larsson, U., Wernersson, A.: Mobile Robot Navigation using the Range-Weighted Hough Transform. IEEE Robotics Automation Magazine (1995)Google Scholar
  5. 5.
    Fung, J., Mann, S.: OpenVIDIA: Parallel GPU Computer Vision. In: Proceedings of the 13th Annual ACM International Conference on Multimedia, pp. 849–852. ACM, New York (2005)CrossRefGoogle Scholar
  6. 6.
    Hough, P.: Method and Means for Recognising Complex Patterns. US Patent No. 3,069,654 (1962)Google Scholar
  7. 7.
    Nistér, D., Stewénius, H.: Scalable recognition with a vocabulary tree. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR), vol. 2, pp. 2161–2168 (June 2006)Google Scholar
  8. 8.
    Nugteren, C., van den Braak, G.J., Corporaal, H., Mesman, B.: High Performance Predictable Histogramming on GPUs: Exploring and Evaluating Algorithm Trade-offs. GPGPU 4 (2011)Google Scholar
  9. 9.
    NVIDIA Corporation: NVIDIA’s Next Generation CUDA Compute Architecture: Fermi (2009)Google Scholar
  10. 10.
    NVIDIA Corporation: NVIDIA CUDA C Programming Guide - Version 3.1 (2010)Google Scholar
  11. 11.
    Takacs, G., et al.: Outdoors Augmented Reality on Mobile Phone using Loxel-Based Visual Feature Organization. In: Proceeding of the 1st ACM International Conference on Multimedia Information Retrieval, MIR 2008, pp. 427–434. ACM, New York (2008)Google Scholar
  12. 12.
    TunaCode (Limited): Cuda Vision and Imaging Library,
  13. 13.
    Ujaldón, M., Ruiz, A., Guil, N.: On the computation of the Circle Hough Transform by a GPU rasterizer. Pattern Recognition Letters 29(3), 309–318 (2008)CrossRefGoogle Scholar
  14. 14.
    Wang, Y., Shi, M., Wu, T.: A Method of Fast and Robust for Traffic Sign Recognition. In: Fifth International Conference on Image and Graphics, ICIG 2009 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Gert-Jan van den Braak
    • 1
  • Cedric Nugteren
    • 1
  • Bart Mesman
    • 1
  • Henk Corporaal
    • 1
  1. 1.Dept. of Electrical Engineering, Electronic Systems GroupEindhoven University of TechnologyThe Netherlands

Personalised recommendations