Abstract
Connected component labeling is a frequently used image processing task in many applications. Moreover, in recent years, the use of 3D image data has become widespread, for instance, in 3D X-ray computed tomography and magnetic resonance imaging. However, because ordinary labeling algorithms use a large amount of memory and 3D images are generally large, labeling 3D image data can cause memory shortages. Furthermore, labeling a large image is time-consuming. In this paper, we proposed new memory-efficient connected component labeling algorithm for 3D images with parallel computing. In this method, we accelerate the labeling process using parallel computing. In addition, we use a spans matrix and compressed label matrix to reduce memory usage. We also use an equivalence chain approach to speed up the calculation. Furthermore, the algorithm has two options for further processing performance or further memory savings. In the experiments on real examples, the proposed algorithm with the option for processing speed was faster and used less memory than the conventional label equivalence method. In contrast, with the proposed method using the memory-efficient option, we could further reduce memory from one-eighth to one-thirteenth that used by the label equivalence method while maintaining the same performance.
Similar content being viewed by others
References
Chang, F., Chen, C.J.: A linear-time component-labeling algorithm using contour tracing technique. In: Proceedings of the International Conference on Document Analysis and Recognition, ICDAR 2003-Jan, pp. 741–745 (2003). doi:10.1109/ICDAR.2003.1227760
Fanny Nina, P., Kaeli, D.: Accelerated connected component labeling using CUDA framework. In: Chmielewski, L.J., Kozera, R., Shin, B.S., Wojciechowski, K. (eds.) Computer Vision and Graphics, vol. 8671, pp. 502–509. Springer, Warsaw (2014)
Gavrielides, M.A., Kinnard, L.M., Myers, K.J., Jenifer, P., Pritchard, W.F., Zeng, R., Petrick, N.: Data From Phantom_FDA. The Cancer Imaging Archive (2015). doi:10.7937/K9/TCIA.2015.ORBJKMUX
Hawick, K.A., Leist, A., Playne, D.P.: Parallel graph component labelling with GPUs and CUDA. Parallel Comput. 36(12), 655–678 (2010). doi:10.1016/j.parco.2010.07.002
Hirschberg, D.S., Chandra, A.K., Sarwate, D.V.: Computing connected components on parallel computers. Commun. ACM 22(8), 461–464 (1979). doi:10.1145/359138.359141
Nvidia: Cuda C best practices guide. http://docs.nvidia.com/cuda/pdf/CUDA_C_Best_Practices_Guide.pdf (2015)
Nvidia: Tuning CUDA Applications for Kepler (2015). http://docs.nvidia.com/cuda/pdf/Kepler_Tuning_Guide.pdf
Scholz, N., Moll, J., Mälzer, M., Nagovitsyn, K., Krozer, V.: Random bounce algorithm: real-time image processing for the detection of bats and birds. Signal Image Video Process. 10(8), 1449–1456 (2016). doi:10.1007/s11760-016-0951-0
Smith, K., Clark, K., Bennett, W., Nolan, T., Kirby, J., Wolfsberger, M., Moulton, J., Vendt, B., Freymann, J.: Data From CT_COLONOGRAPHY. The Cancer Imaging Archive (2015). doi:10.7937/K9/TCIA.2015.NWTESAY1
Štáva, O., Beneš, B.: Connected component labeling in CUDA. GPU Computing Gems Emerald Edition pp. 569–581 (2011). doi:10.1016/B978-0-12-384988-5.00035-8
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). doi:10.1016/S1077-3142(02)00030-9
Wu, K., Otoo, E., Suzuki, K.: Optimizing two-pass connected-component labeling algorithms. Pattern Anal. Appl. 12(2), 117–135 (2009). doi:10.1007/s10044-008-0109-y
Yang, C.K., Yeh, Y.C.: Stain removal in 2D images with globally varying textures. Signal Image Video Process. 8(7), 1373–1382 (2014). doi:10.1007/s11760-012-0364-7
Zhao, H.L., Fan, Y.B., Zhang, T.X., Sang, H.S.: Stripe-based connected components labelling. Electron. Lett. 46(21), 1434–1436 (2010). doi:10.1049/el.2010.2016
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Ohira, N. Memory-efficient 3D connected component labeling with parallel computing. SIViP 12, 429–436 (2018). https://doi.org/10.1007/s11760-017-1175-7
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11760-017-1175-7