Skip to main content
Log in

A fast Hough Transform algorithm for straight lines detection in an image using GPU parallel computing with CUDA-C

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

The Hough Transform (HT) is a digital image processing method for the detection of shapes which has multiple uses today. A disadvantage of this method is its sequential computational complexity, particularly when a single processor is used. An optimized algorithm of HT for straight lines detection in an image is presented in this article. Optimization is realized by using a decomposition of the input image recently proposed via central processing unit (CPU), and the technique known as segment decomposition. Optimized algorithms improve execution times significantly. In this paper, the optimization is implemented in parallel using graphics processing unit (GPU) programming, allowing a reduction of total run time and achieving a performance more than 20 times better than the sequential method and up to 10 times better than the implementation recently proposed. Additionally, we introduce the concept of Performance Ratio, to emphasize the outperforming of the GPU over the CPUs.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12

Similar content being viewed by others

References

  1. Duda RO, Hart PE (1975) Use of the Hough transformation to detect lines and curves in pictures. Commun ACM 15(1):11–15

    Article  MATH  Google Scholar 

  2. Satzoda RK, Suchitra S, Srikanthan T (2008) Parallelizing the Hough transform computation. IEEE Signal Process Lett 15:297–300

    Article  MATH  Google Scholar 

  3. Ito Y, Ogawa K, Nakano K (2011) Fast ellipse detection algorithm using Hough transform on the GPU. In: Proceedings of the Second International Conference on Networking and Computing (ICNC), pp 313–319

  4. Mukhopadhyay P, Chaudhuri BB (2015) A survey of Hough transform. Pattern Recognit 48(3):993–1010

    Article  Google Scholar 

  5. Parker J (2011) Algorithms for image processing and computer vision, 2nd edn. Wiley, London

    Google Scholar 

  6. Xu Z, Shin B-S, Klette R (2015) Closed form line-segment extraction using the Hough transform. Pattern Recognit 48:4012–4023

    Article  Google Scholar 

  7. Gonzalez RC, Woods RE (2008) Digital image processing, 3rd edn. Pearson, Upper Saddle River

    Google Scholar 

  8. Ji J, Chen G, Sun L (2011) A novel Hough transform method for line detection by enhancing accumulator array. Pattern Recogn Lett 32(11):1503–1510

    Article  Google Scholar 

  9. Atiquzzaman M (1992) Multiresolution Hough transform—an efficient method of detecting patterns in images. IEEE Trans Pattern Anal 14(11):1090–1095

    Article  Google Scholar 

  10. Vladimir T, Jeon D, Kim DH (2013) Hough transform with Kalman filter on GPU for real-time line tracking. In: Proceedings of the Seventh International Conference on Innovative Mobile and Internet Services in Ubiquitous Computing (IMIS), pp 212–216

  11. Chen ZH, Su AWY, Sun MT (2012) Resource-efficient FPGA architecture and implementation of Hough transform. IEEE Trans Very Large Scale Integr Syst 20:1419–1428

    Article  Google Scholar 

  12. Chen L, Chen H, Pan YI, Chen Y (2004) A fast efficient parallel Hough transform algorithm on LARPBS*. J Supercomput 29:185–195

    Article  MATH  Google Scholar 

  13. Braunl T, Feyrer S, Rapf W, Reinhardt M (2000) Parallel image processing. Springer, New York

    MATH  Google Scholar 

  14. Nvidia C (2015) CUDA C programming guide. NVIDIA Corporation. http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf. Accessed 30 Nov 2016

  15. Cook S (2012) CUDA programming: a developer’s guide to parallel computing with GPUs. Morgan Kaufmann, Los Altos

    Google Scholar 

  16. Harris H (2015) GPU Pro Tip: CUDA 7 streams simplify concurrency. NVIDIA Corporation. http://devblogs.nvidia.com/parallelforall/gpu-pro-tip-cuda-7-streams-simplify-concurrency/. Accessed 30 Nov 2016

  17. Arceo C, Lopez-Martinez JL, Narvaez-Diaz L (2015) Fast algorithm of the Hough transform to straight lines detection in an image. Program Mat Softw 7(2):8–13

    Google Scholar 

  18. Canny J (1986) A computational approach to edge detection. IEEE Trans Pattern Anal Mach Intell 8:679–698

    Article  Google Scholar 

  19. JaJa J (1992) An introduction to parallel algorithms. Addison-Wesley Publishing Company, Reading

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to J. L. Lopez-Martinez.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Yam-Uicab, R., Lopez-Martinez, J.L., Trejo-Sanchez, J.A. et al. A fast Hough Transform algorithm for straight lines detection in an image using GPU parallel computing with CUDA-C. J Supercomput 73, 4823–4842 (2017). https://doi.org/10.1007/s11227-017-2051-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-017-2051-5

Keywords

Navigation