1 research outputs found

    Parallel border tracking in binary images using GPUs

    Full text link
    [EN] Border tracking in binary images is an important kernel for many applications. There are very efficient sequential algorithms, most notably, the algorithm proposed by Suzuki et al., which has been implemented for CPUs in well-known libraries. However, under some circumstances, it would be advantageous to perform the border tracking in GPUs as efficiently as possible. In this paper, we propose a parallel version of the Suzuki algorithm that is designed to be executed in GPUs and implemented in CUDA. The proposed algorithm is based on splitting the image into small rectangles. Then, a thread is launched for each rectangle, which tracks the borders in its associated rectangle. The final step is to perform the connection of the borders belonging to several rectangles. The parallel algorithm has been compared with a state-of-the-art sequential CPU version, using two different CPUs and two different GPUs for the evaluation. The computing times obtained show that in these experiments with the GPUs and CPUs that we had available, the proposed parallel algorithm running in the fastest GPU is more than 10 times faster than the sequential CPU routine running in the fastest CPU.This work has been partially supported by the Spanish Ministry of Science, Innovation and Universities and the European Union through Grant RTI2018-098085-BC41 (MCUI/AEI/FEDER) and by GVA through PROMETEO/2019/109. The authors would also like to thank the AUTIS, S.L. company for their support of this work.García Mollá, VM.; Alonso-Jordá, P.; García-Laguía, R. (2020). Parallel border tracking in binary images using GPUs. The Journal of Supercomputing. https://doi.org/10.1007/s11227-021-04260-ySLeinio A, Lellis L, Cappabianco F (2019) Interactive border contour with automatic tracking algorithm selection for medical images: 23rd Iberoamerican Congress, CIARP 2018, Madrid, Spain, November 19–22, 2018, Proceedings, 2019, pp 748–756. https://doi.org/10.1007/978-3-030-13469-3_87Arbelaez P, Maire M, Fowlkes C, Malik J (2011) Contour detection and hierarchical image segmentation. IEEE Trans Pattern Anal Mach Intell 33:898–916. https://doi.org/10.1109/TPAMI.2010.161Olszewska J (2015) Active contour based optical character recognition for automated scene understanding. Neurocomputing. https://doi.org/10.1016/j.neucom.2014.12.089Soares de Oliveira L, Sabourin R, Bortolozzi F, Suen C (2002) Automatic recognition of handwritten numerical strings: a recognition and verification strategy. IEEE Trans Pattern Anal Mach Intell 24:1438–1454Bradski G (2000) The OpenCV library. Dr Dobb’s J Softw Tools 25:120–123Versaci M, Calcagno S, Morabito FC (2015) Fuzzy geometrical approach based on unit hyper-cubes for image contrast enhancement. In: IEEE International Conference on Signal and Image Processing Applications (ICSIPA) 2015:488–493. https://doi.org/10.1109/ICSIPA.2015.7412240Suzuki S, Abe K (1985) Topological structural analysis of digitized binary images by border following. Comput Vis Graph Image Process 30:32–46NVIDIA Corporation (2007) NVIDIA CUDA Compute Unified Device Architecture Programming Guide, NVIDIA CorporationPitas I (2000) Digital image processing algorithms and applications. Wiley, USACheong C-H, Han T-D (2006) Improved simple boundary following algorithm. J KIISE Softw Appl 33:427–439Toussaint G (2015) Grids, connectivity and contour tracing. http://www-cgrl.cs.mcgill.ca/~godfried/teaching/pr-notes/contour.psReddy P, Amarnadh V, Bhaskar M (2012) Evaluation of stopping criterion in contour tracing algorithms. Int J Comput Sci Inf Technol 3:3888–3894Seo J, Chae S, Shim J, Kim D-C, Cheong C, Han T (2016) Fast contour-tracing algorithm based on a pixel-following method for image sensors. Sensors Basel Switz 16:353Ren M, Yang J, Sun H (2002) Tracing boundary contours in a binary image. Image Vis Comput 20:125–131. https://doi.org/10.1016/S0262-8856(01)00091-9MATLABR (2018b) The MathWorks Inc.. Natick, Massachusetts, 2018Ferreira A, Ubéda S (1994) Ultra-fast parallel contour tracking, with applications to thinning. Pattern Recognit 27(7):867–878. https://doi.org/10.1016/0031-3203(94)90152-XCao M, Zhang F, Du Z, Liu R (2016) A parallel approach for contour extraction based on cuda platform. Int J Simul Syst Sci Technol 17:1.1-1.5. https://doi.org/10.5013/IJSSST.a.17.19.01Shin PJ, Gao X, Kleihorst R, Park J, Kak AC (2008) An efficient algorithm for the extraction of contours and curvature scale space on simd-powered smart cameras. In: Second ACM/IEEE International Conference on Distributed Smart Cameras 2008:1–10. https://doi.org/10.1109/ICDSC.2008.4635714Butt MU, Morris J, Patel N, Biglari-Abhari M (2015) Fast accurate contours for 3d shape recognition. In: IEEE Intelligent Vehicles Symposium (IV) 2015:832–838. https://doi.org/10.1109/IVS.2015.7225788Pavlidis T (1982) Algorithms for graphics and image processing. Springer, Berlin. https://doi.org/10.1007/978-3-642-93208-3Xeon e5-2697 v3@ 2.60ghz technical data. Accessed 06 Sept 2021. https://ark.intel.com/content/www/es/es/ark/products/81059/intel-xeon-processor-e5-2697-v3-35m-cache-2-60-ghz.htmlCore(tm) i9-7960x cpu @2.80ghz technical data. Accessed 06 Sept 2021. https://www.intel.es/content/www/es/es/products/sku/126697/intel-core-i97960x-xseries-processor-22m-cache-up-to- 4-20-ghz/specifications.htmlOpenMP v 4.5 specification (2015) http://www.openmp.org/wp-content/uploads/openmp-4.5.pd
    corecore