A New Parallel Algorithm for Two-Pass Connected Component Labeling

Connected Component Labeling (CCL) is one of the most important step in pattern recognition and image processing. It assigns labels to the pixels such that adjacent pixels sharing the same features are assigned the same label. Typically, CCL requires several passes over the data. We focus on two-pass technique where each pixel is given a provisional label in the first pass whereas an actual label is assigned in the second pass. We present a scalable parallel two-pass CCL algorithm, called PAREMSP, which employs a scan strategy and the best union-find technique called REMSP, which uses REM'S algorithm for storing label equivalence information of pixels in a 2-D image. In the first pass, we divide the image among threads and each thread runs the scan phase along with REMSP simultaneously. In the second phase, we assign the final labels to the pixels. As REMSP is easily parallelizable, we use the parallel version of REMSP for merging the pixels on the boundary. Our experiments show the scalability of PAREMSP achieving speedups up to 20.1 using 24 cores on shared memory architecture using OpenMP for an image of size 465.20 MB. We find that our proposed parallel algorithm achieves linear scaling for a large resolution fixed problem size as the number of processing elements are increased. Additionally, the parallel algorithm does not make use of any hardware specific routines, and thus is highly portable.

[1]  Wilhelm Burger,et al.  Digital Image Processing - An Algorithmic Introduction using Java , 2008, Texts in Computer Science.

[2]  Kenji Suzuki,et al.  A Run-Based Two-Scan Labeling Algorithm , 2008, IEEE Transactions on Image Processing.

[3]  Kesheng Wu,et al.  Optimizing two-pass connected-component labeling algorithms , 2009, Pattern Analysis and Applications.

[4]  R. M. Haralick Some Neighborhood Operators , 1981 .

[5]  Dilip V. Sarwate,et al.  Computing connected components on parallel computers , 1979, CACM.

[6]  Kenji Suzuki,et al.  Linear-time connected-component labeling based on sequential local operations , 2003, Comput. Vis. Image Underst..

[7]  Hanan Samet,et al.  A general approach to connected-component labeling for arbitrary image representations , 1992, JACM.

[8]  Parimala Thulasiraman,et al.  A Parallel Algorithm for Connected Component Labelling of Gray-scale Images on Homogeneous Multicore Architectures , 2010 .

[9]  Azriel Rosenfeld,et al.  Sequential Operations in Digital Picture Processing , 1966, JACM.

[10]  Azriel Rosenfeld,et al.  Connectivity in Digital Pictures , 1970, JACM.

[11]  Linda G. Shapiro,et al.  A new connected components algorithm for virtual memory computers , 1983, Comput. Vis. Graph. Image Process..

[12]  Viktor K. Prasanna,et al.  Parallel Architectures and Algorithms for Image Component Labeling , 1992, IEEE Trans. Pattern Anal. Mach. Intell..

[13]  Toshiyuki Gotoh,et al.  Video-Rate Labeling Processor , 1989, Other Conferences.

[14]  Md. Mostofa Ali Patwary,et al.  Multi-core Spanning Forest Algorithms using the Disjoint-set Data Structure , 2012, 2012 IEEE 26th International Parallel and Distributed Processing Symposium.

[15]  SametHanan,et al.  Efficient Component Labeling of Images of Arbitrary Dimension Represented by Linear Bintrees , 1988 .

[16]  Prabir Bhattacharya Connected component labeling for binary images on a reconfigurable mesh architecture , 1996, J. Syst. Archit..

[17]  Felipe Knop,et al.  Parallel Labeling of Three-Dimensional Clusters on Networks of Workstations , 1998, J. Parallel Distributed Comput..

[18]  Hanan Samet,et al.  Connected Component Labeling Using Quadtrees , 1981, JACM.

[19]  Mineichi Kudo,et al.  Fast Labelling of Natural Scenes Using Enhanced Knowledge , 2001, Pattern Analysis & Applications.

[20]  Der-Chyuan Lou,et al.  Parallel Execution of a Connected Component Labeling Operation on a Linear Array Architecture , 2003, J. Inf. Sci. Eng..

[21]  Chun-Jen Chen,et al.  A linear-time component-labeling algorithm using contour tracing technique , 2004, Comput. Vis. Image Underst..

[22]  Rajeev Thakur,et al.  Connected Component Labeling on Coarse Grain Parallel Computers: An Experimental Study , 1994, J. Parallel Distributed Comput..

[23]  Hanan Samet,et al.  Efficient Component Labeling of Images of Arbitrary Dimension Represented by Linear Bintrees , 1988, IEEE Trans. Pattern Anal. Mach. Intell..

[24]  M. MANOHAR,et al.  Connected component labeling of binary images on a mesh connected massively parallel processor , 1989, Comput. Vis. Graph. Image Process..

[25]  Sartaj Sahni,et al.  Finding Connected Components and Connected Ones on a Mesh-Connected Parallel Computer , 1980, SIAM J. Comput..

[26]  Lifeng He,et al.  A New Two-Scan Algorithm for Labeling Connected Components in Binary Images , .

[27]  Hanan Samet,et al.  Computing Geometric Properties of Images Represented by Linear Quadtrees , 1985, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[28]  Jean R. S. Blair,et al.  Experiments on Union-Find Algorithms for the Disjoint-Set Data Structure , 2010, SEA.

[29]  Stephan Olariu,et al.  Fast component labelling and convex hull computation on reconfigurable meshes , 1993, Image Vis. Comput..

[30]  Hanan Samet,et al.  Efficient octree conversion by connectivity labeling , 1984, SIGGRAPH.

[31]  Ronald Lumia,et al.  A new three dimensional connected components algorithm , 1982, Comput. Graph. Image Process..

[32]  Shau-Yin Tseng,et al.  Parallelization of Connected-Component Labeling on TILE64 Many-Core Platform , 2014, J. Signal Process. Syst..

[33]  Yoshiaki Shirai,et al.  High-Speed Algorithm for Component Labeling , 1990, Systems and Computers in Japan.

[34]  Moncef Gabbouj,et al.  Parallel Image Component Labeling With Watershed Transformation , 1997, IEEE Trans. Pattern Anal. Mach. Intell..

[35]  Toshiyuki Gotoh,et al.  Component Labeling Algorithm For Video Rate Processing , 1987, Other Conferences.

[36]  Qingmao Hu,et al.  Fast connected-component labelling in three-dimensional binary images based on iterative recursion , 2005, Comput. Vis. Image Underst..

[37]  Raj Acharya,et al.  Connected component labeling with linear octree , 1991, Pattern Recognit..