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.
Similar content being viewed by others
References
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
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
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
Ben Boudaoud L, Solaiman B, Tari A (2018) A modified ZS thinning algorithm by a hybrid approach. Vis Comput 34(5):689–706
Cheng J, Grossman M, McKercher T (2014) Professional Cuda C programming. Wiley, Hoboken
Couturier R (2013) Designing scientific applications on gpus. CRC Press, Boca Raton
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
Guo Z, Hall RW (1989) Parallel thinning with two-subiteration algorithms. Commun ACM 32(3):359–373
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
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
Lam L, Lee SW, Suen CY (1992) Thinning methodologies—a comprehensive survey. IEEE Trans Pattern Anal Mach Intell 14(9):869–885
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
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
Nvidia C (2011) Nvidia cuda c programming guide. Nvidia Corp 120(18):8
Palágyi K, Kuba A (1999) A parallel 3d 12-subiteration thinning algorithm. Graph Models Image Process 61(4):199–221
Saha PK, Borgefors G, di Baja GS (2016) A survey on skeletonization algorithms and their applications. Pattern Recognit Lett 76:3–12
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
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
Uhr L (2014) Parallel computer vision. Elsevier, Amsterdam
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
Zhang T, Suen CY (1984) A fast parallel algorithm for thinning digital patterns. Commun ACM 27(3):236–239
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
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
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-018-0653-2