Abstract
Conventional connected component analysis (CCA) algorithms render a slow performance in real-time embedded applications due to multiple passes to resolve label equivalences. As this fundamental task becomes crucial for stream processing, single-pass algorithms were introduced to enable a stream-oriented hardware design. However, most single-pass CCA algorithms in the literature inhibit maximum streaming throughput as additional time such as horizontal blanking period is required to resolve label equivalence. This paper proposes a novel single-pass CCA algorithm, using a combination of linked list and run-length-based techniques to label and resolve equivalences as well as extracting the object features in a single raster scan. The proposed algorithm involves a label recycling scheme which attains low memory requirement design. Experimental results show the implementation of the proposed CCA achieves one cycle per pixel throughput and surpasses the most memory-efficient state-of-the-art work up to 25 % reduction in memory usage for \(7680\times 4320\) pixels image.
Similar content being viewed by others
References
Alnuweiri, H.M., Prasanna, V.K.: Parallel architectures and algorithms for image component labeling. IEEE Trans. Pattern Anal. Mach. Intell. 14(10), 1014–1034 (1992)
Bailey, D., Johnston, C.: Single pass connected components analysis. In: Proceedings of Image and Vision Computing New Zealand, pp. 282–287 (2007)
Chang, F., Chen, C.J., Lu, C.J.: A linear-time component-labeling algorithm using contour tracing technique. Comput. Vis. Image Underst. 93(2), 206–220 (2004)
Chen, W., Giger, M.L., Bick, U.: A fuzzy c-means (fcm)-based approach for computerized segmentation of breast lesions in dynamic contrast-enhanced mr images 1. Acad. Radiol. 13(1), 63–72 (2006)
Cheng, H.Y., Weng, C.C., Chen, Y.Y.: Vehicle detection in aerial surveillance using dynamic Bayesian networks. IEEE Trans. Image Process. 21(4), 2152–2159 (2012)
De Bock, J., Philips, W.: Fast and memory efficient 2-d connected components using linked lists of line segments. IEEE Trans. Image Process. 19(12), 3222–3231 (2010)
Di Stefano, L., Bulgarelli, A.: A simple and efficient connected components labeling algorithm. In: Proceedings of International Conference on Image Analysis and Processing, pp. 322–327. IEEE (1999)
Dillencourt, M.B., Samet, H., Tamminen, M.: A general approach to connected-component labeling for arbitrary image representations. J. ACM 39(2), 253–280 (1992)
Flatt, H., Blume, S., Hesselbarth, S., Schunemann, T., Pirsch, P.: A parallel hardware architecture for connected component labeling based on fast label merging. In: International Conference on Application-Specific Systems, Architectures and Processors (ASAP), pp. 144–149. IEEE (2008)
García Sánchez, C., Botella Juan, G., Ayuso Márquez, F., González Rodríguez, D., Prieto-Matías, M., Tirado Fernández, F.: Implementation of a low-cost mobile devices to support medical diagnosis. Comput. Math. Methods Med. 2013 (2013)
Grana, C., Borghesani, D., Cucchiara, R.: Fast block based connected components labeling. In: 16th IEEE International Conference on Image Processing (ICIP), pp. 4061–4064 (2009)
Haralick, R.: Real Time Parallel Computing Image Analysis. Plenum Pub Corp, Mass (1981)
Hashizume, A., Suzuki, R., Yokouchi, H., Horiuchi, H., Yamamato, S.: An algorithm of automated rbc classification and its evaluation. Bio Med. Eng. 28(1), 25–32 (1990)
He, L., Chao, Y., Suzuki, K.: A run-based two-scan labeling algorithm. IEEE Trans. Image Process. 17(5), 749–756 (2008)
He, L., Chao, Y., Suzuki, K., Wu, K.: Fast connected-component labeling. Pattern Recognit. 42(9), 1977–1987 (2009)
Hu, Q., Qian, G., Nowinski, W.L.: Fast connected-component labelling in three-dimensional binary images based on iterative recursion. Comput. Vis. Image Underst. 99(3), 414–434 (2005)
Johnston, C.T., Bailey, D.G.: FPGA implementation of a single pass connected components algorithm. In: 4th IEEE International Symposium on Electronic Design, Test and Applications (DELTA), pp. 228–231. IEEE (2008)
Joshi, K.A., Thakore, D.G.: A survey on moving object detection and tracking in video surveillance system. Int. J. Soft Comput. Eng. 2(3), 44–48 (2012)
Klaiber, M., Bailey, D., Baroud, Y., Simon, S.: A resource-efficient hardware architecture for connected components analysis. IEEE Trans. Circuits Syst. Video Technol. (2015). doi:10.1109/TCSVT.2015.2450371
Klaiber, M., Rockstroh, L., Wang, Z., Baroud, Y., Simon, S.: A memory-efficient parallel single pass architecture for connected component labeling of streamed images. In: 2012 International Conference on Field-Programmable Technology (FPT), pp. 159–165 (2012)
Klaiber, M.J., Bailey, D.G., Ahmed, S., Baroud, Y., Simon, S.: A high-throughput FPGA architecture for parallel connected components analysis based on label reuse. In: 2013 International Conference on Field-Programmable Technology (FPT), pp. 302–305. IEEE (2013)
Ma, N., Bailey, D.G., Johnston, C.T.: Optimised single pass connected components analysis. In: International Conference on Computer and Electrical Engineering (ICECE), pp. 185–192. IEEE (2008)
Otsu, N.: A threshold selection method from gray-level histograms. Automatica 11(285–296), 23–27 (1975)
Samet, H., Tamminen, M.: Efficient component labeling of images of arbitrary dimension represented by linear bintrees. IEEE Trans. Pattern Anal. Mach. Intell. 10(4), 579–586 (1988)
Snyder, W., Galbi, D., Wasson, P.: Free verilog and systemc software—serious tools for real projects. http://www.veripool.org/wiki/verilator
Suzuki, K., Horiba, I., Sugie, N.: Linear-time connected-component labeling based on sequential local operations. Comput. Vis. Image Underst. 89(1), 1–23 (2003)
Weber, A.: The USC-SIPI image database. http://sipi.usc.edu/database/
Wu, K., Koegler, W., Chen, J., Shoshani, A.: Using bitmap index for interactive exploration of large datasets. In: 15th International Conference on Scientific and Statistical Database Management, pp. 65–74. IEEE (2003)
Wu, K., Otoo, E., Suzuki, K.: Optimizing two-pass connected-component labeling algorithms. Pattern Anal. Appl. 12(2), 117–135 (2009)
Zhao, F., Zhang Lu, H., Yong Zhang, Z.: Real-time single-pass connected components analysis algorithm. EURASIP J. Image Video Process. 2013(1), 1–10 (2013)
Acknowledgments
The authors would like to thank Universiti Teknologi Malaysia (UTM) for support in the research and development of this work. This work is supported by the Ministry of Science, Technology and Innovation, Malaysia (MOSTI), (Science Fund Grant No. 01-01-06-SF1197, R.J130000.7923.4S081 and Grant No. 01-01-06-SF1229, R.J130000.7923.4S093).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Tang, J.W., Shaikh-Husin, N., Sheikh, U.U. et al. A linked list run-length-based single-pass connected component analysis for real-time embedded hardware. J Real-Time Image Proc 15, 197–215 (2018). https://doi.org/10.1007/s11554-016-0590-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11554-016-0590-2