Skip to main content
Log in

Implementation and comparison of binary thinning algorithms on GPU

  • Published:
Computing Aims and scope Submit manuscript

Abstract

Thinning algorithms have been widely applied in many applications such as computer graphics, computer vision and medical imaging. The performances of thinning algorithms are hampered by the increase of image’s size and image’s content. By employing graphics processing units (GPUs), the calculation of thinning algorithms can be accelerated. In this paper, we present GPU parallel versions of well-known binary thinning algorithms namely the ZS algorithm, the GH algorithm, the AW algorithm and the hybrid algorithm belonging to different classes for an efficient implementation using CUDA as a parallel programming model. These thinning algorithms are then evaluated and compared according to quality and runtime measures. The obtained results show that the GPU multithreaded implementations of the selected algorithms present high computational speed outperforming the central processing unit sequential implementations achieving the best average speedup when executing the AW algorithm.

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

Similar content being viewed by others

References

  1. Ahmed M, Ward R (2002) A rotation invariant rule-based thinning algorithm for character recognition. IEEE Trans Pattern Anal Mach Intell 24(12):1672–1678

    Article  Google Scholar 

  2. Bakken RH, Eliassen LM (2017) Real-time three-dimensional skeletonisation using general-purpose computing on graphics processing units applied to computer vision-based human pose estimation. Int J High Perform Comput Appl 31(4):259–273

    Article  Google Scholar 

  3. Ben Boudaoud L, Sider A, Tari A (2015) A new thinning algorithm for binary images. In: 2015 3rd international conference on control, engineering & information technology (CEIT). IEEE, pp 1–6

  4. Ben Boudaoud L, Solaiman B, Tari A (2018) A modified ZS thinning algorithm by a hybrid approach. Vis Comput 34(5):689–706

    Article  Google Scholar 

  5. Cheng J, Grossman M, McKercher T (2014) Professional Cuda C programming. Wiley, Hoboken

    Google Scholar 

  6. Couturier R (2013) Designing scientific applications on gpus. CRC Press, Boca Raton

    MATH  Google Scholar 

  7. Davalle D, Carnevale B, Saponara S, Fanucci L, Terreni P (2016) A real-time FPGA-based solution for binary image thinning. In: De Gloria A (ed) Applications in electronics pervading industry, environment and society: APPLEPIES 2014. Springer International Publishing, Cham, pp 169–174

  8. Guo Z, Hall RW (1989) Parallel thinning with two-subiteration algorithms. Commun ACM 32(3):359–373

    Article  MathSciNet  Google Scholar 

  9. Hu B, Yang X (2013) GPU-accelerated parallel 3d image thinning. In: IEEE international conference on embedded and ubiquitous computing (HPCC\_EUC), IEEE 10th international conference on high performance computing and communications. IEEE, pp 149–152

  10. Jiménez J, Ruiz de Miras J (2012) Three-dimensional thinning algorithms on graphics processing units and multicore cpus. Concurr Comput Pract Exp 24(14):1551–1571

    Article  Google Scholar 

  11. Lam L, Lee SW, Suen CY (1992) Thinning methodologies—a comprehensive survey. IEEE Trans Pattern Anal Mach Intell 14(9):869–885

    Article  Google Scholar 

  12. Montoya MDG, García I (1998) Implementation of parallel thinning algorithms on multicomputers: analysis of the work load balance. In: Proceedings of the sixth Euromicro workshop on parallel and distributed processing, 1998. PDP’98. IEEE, pp 257–263

  13. Németh G, Kardos P, Palágyi K (2014) 2d thinning algorithms with revised endpixel preservation. In: International conference image analysis and recognition. Springer, pp 65–72

  14. Nvidia C (2011) Nvidia cuda c programming guide. Nvidia Corp 120(18):8

    Google Scholar 

  15. Palágyi K, Kuba A (1999) A parallel 3d 12-subiteration thinning algorithm. Graph Models Image Process 61(4):199–221

    Article  Google Scholar 

  16. Saha PK, Borgefors G, di Baja GS (2016) A survey on skeletonization algorithms and their applications. Pattern Recognit Lett 76:3–12

    Article  Google Scholar 

  17. Sebastian TB, Klein PN, Kimia BB (2004) Recognition of shapes by editing their shock graphs. IEEE Trans Pattern Anal Mach Intell 26(5):550–571

    Article  Google Scholar 

  18. Tarabek P (2012) A robust parallel thinning algorithm for pattern recognition. In: 2012 7th IEEE international symposium on applied computational intelligence and informatics (SACI). IEEE, pp 75–79

  19. Uhr L (2014) Parallel computer vision. Elsevier, Amsterdam

    MATH  Google Scholar 

  20. Xie F, Xu G, Cheng Y, Tian Y (2011) Human body and posture recognition system based on an improved thinning algorithm. IET Image Process 5(5):420–428

    Article  Google Scholar 

  21. Zhang T, Suen CY (1984) A fast parallel algorithm for thinning digital patterns. Commun ACM 27(3):236–239

    Article  Google Scholar 

  22. Zhou R, Quek C, Ng GS (1995) A novel single-pass thinning algorithm and an effective set of performance criteria. Pattern Recognit Lett 16(12):1267–1275

    Article  Google Scholar 

Download references

Acknowledgements

This work was carried out in the framework of research activities of the laboratory LIMED which is affiliated to the Faculty of Exact Sciences of the University of Bejaia and the Image and Information processing department of IMT Atlantique Institute.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lynda Ben Boudaoud.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ben Boudaoud, L., Solaiman, B. & Tari, A. Implementation and comparison of binary thinning algorithms on GPU. Computing 101, 1091–1117 (2019). https://doi.org/10.1007/s00607-018-0653-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-018-0653-2

Keywords

Mathematics Subject Classification

Navigation