Implementation of a parallel algorithm of image segmentation based on region growing

Authors

DOI:

https://doi.org/10.15587/1729-4061.2020.197095

Keywords:

computer vision, image processing, segmentation techniques, Region growing, parallel processing, parallel algorithms, GPU, SIMD, texture analysis, Digital Image Processing

Abstract

In computer vision and image processing, image segmentation remains a relevant research area that contains many partially answered research questions. One of the fields of most significant interest in Digital Image Processing corresponds to segmentation, a process that breaks down an image into its different components that make it up. A technique widely used in the literature is called Region Growing, this technique makes the identification of textures, through the use of characteristic and particular vectors. However, the level of its computational complexity is high. The traditional methods of Region growing are based on the comparison of grey levels of neighbouring pixels, and usually, fail when the region to be segmented contains intensities similar to adjacent regions. However, if a broad tolerance is indicated in its thresholds, the detected limits will exceed the region to identify; on the contrary, if the threshold tolerance decreases too much, the identified region will be less than the desired one. In the analysis of textures, multiple scenes can be seen as the composition of different textures. The visual texture refers to the impression of roughness or smoothness that some surfaces created by the variations of tones or repetition of visual patterns therein. The texture analysis techniques are based on the assignment of one or several parameters indicating the characteristics of the texture present to each region of the image. This paper shows how a parallel algorithm was implemented to solve open problems in the area of image segmentation research. Region growing is an advanced approach to image segmentation in which neighbouring pixels are examined one by one and added to an appropriate region class if no border is detected. This process is iterative for each pixel within the boundary of the region. If adjacent regions are found, a region fusion algorithm is used in which weak edges dissolve, and firm edges remain intact, this requires a lot of processing time on a computer to make parallel implementation possible

Author Biographies

Jesús Antonio Álvarez-Cedillo, Instituto Politécnico Nacional – UPIICSA, México Av. Te 950, Col. Granjas México, Iztacalco, 08400

PhD. Advance Technology

Section of postgraduate studies and research of the interdisciplinary professional unit of social and administrative sciences of the IPN

Mario Aguilar-Fernández, Instituto Politécnico Nacional – UPIICSA, México Av. Te 950, Col. Granjas México, Iztacalco, 08400

PhD. Industrial Engineering

Section of postgraduate studies and research of the interdisciplinary professional unit of social and administrative sciences of the IPN

Teodoro Álvarez-Sánchez, Instituto Politécnico Nacional – CITEDI Av. Instituto Politécnico Nacional No. 131O, Nueva Tijuana, Tijuana, Baja California, 22435

PhD Informatic Sciences

Section of postgraduate studies and research- IPN

Raúl Junior Sandoval-Gómez, Instituto Politécnico Nacional – UPIICSA, México Av. Te 950, Col. Granjas México, Iztacalco, 08400

PhD Public relations

Section of postgraduate studies and research of the interdisciplinary professional unit of social and administrative sciences of the IPN

References

Keely, C. C., Hale, J. M., Heard, G. W., Parris, K. M., Sumner, J., Hamer, A. J., Melville, J. (2015). Genetic structure and diversity of the endangered growling grass frog in a rapidly urbanizing region. Royal Society Open Science, 2 (8), 140255. doi: https://doi.org/10.1098/rsos.140255

Ashburner, J., Friston, K. J. (2005). Unified segmentation. NeuroImage, 26 (3), 839–851. doi: https://doi.org/10.1016/j.neuroimage.2005.02.018

Bandler, R., Tork, I. (1987). Midbrain periaqueductal grey region in the cat has afferent and efferent connections with solitary tract nuclei. Neuroscience Letters, 74 (1), 1–6. doi: https://doi.org/10.1016/0304-3940(87)90041-3

Patel, N. H., Liu, P. Z. (2009). Segmentation. Encyclopedia of Insects, 909–912. doi: https://doi.org/10.1016/b978-0-12-374144-8.00240-x

Taylor, J. R. A., deVries, M. S., Elias, D. O. (2019). Growling from the gut: co-option of the gastric mill for acoustic communication in ghost crabs. Proceedings of the Royal Society B: Biological Sciences, 286 (1910), 20191161. doi: https://doi.org/10.1098/rspb.2019.1161

Chen, D. (2008). Image Segmentation. User Centered Design for Medical Visualization, 258–279. doi: https://doi.org/10.4018/978-1-59904-777-5.ch013

Hsiao, Y.-T., Chuang, C.-L., Jiang, J.-A., Chien, C.-C. (2005). Robust Multiple Targets Tracking Using Object Segmentation and Trajectory Estimation in Video. 2005 IEEE International Conference on Systems, Man and Cybernetics. doi: https://doi.org/10.1109/icsmc.2005.1571289

Tynan, A. C., Drayton, J. (1987). Market segmentation. Journal of Marketing Management, 2 (3), 301–335. doi: https://doi.org/10.1080/0267257x.1987.9964020

Felzenszwalb, P. F., Huttenlocher, D. P. (2004). Efficient Graph-Based Image Segmentation. International Journal of Computer Vision, 59 (2), 167–181. doi: https://doi.org/10.1023/b:visi.0000022288.19776.77

Hu, R., Dollar, P., He, K., Darrell, T., Girshick, R. (2018). Learning to Segment Every Thing. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. doi: https://doi.org/10.1109/cvpr.2018.00445

Owens, J. D., Houston, M., Luebke, D., Green, S., Stone, J. E., Phillips, J. C. (2008). GPU Computing. Proceedings of the IEEE, 96 (5), 879–899. doi: https://doi.org/10.1109/jproc.2008.917757

Stuart, J. A., Owens, J. D. (2011). Multi-GPU MapReduce on GPU Clusters. 2011 IEEE International Parallel & Distributed Processing Symposium. doi: https://doi.org/10.1109/ipdps.2011.102

Nickolls, J., Dally, W. J. (2010). The GPU Computing Era. IEEE Micro, 30 (2), 56–69. doi: https://doi.org/10.1109/mm.2010.41

Bergstra, J., Breuleux, O., Bastien, F. F., Lamblin, P., Pascanu, R., Desjardins, G. et. al. (2010). Theano: a CPU and GPU math compiler in Python. Proceedings of the Python for Scientific Computing Conference (SciPy).

Sanders, J., Kandrot, E. (2010). CUDA by Example: An Introduction to General-Purpose GPU Programming. NVIDIA Corporation, 311.

Pratx, G., Xing, L. (2011). GPU computing in medical physics: A review. Medical Physics, 38 (5), 2685–2697. doi: https://doi.org/10.1118/1.3578605

Sengupta, S., Harris, M., Zhang, Y., Owens, J. D. (2007). Scan primitives for GPU computing. Proceedings of the SIGGRAPH/Eurographics Workshop on Graphics Hardware, 97–106.

Che, S., Boyer, M., Meng, J., Tarjan, D., Sheaffer, J. W., Skadron, K. (2008). A performance study of general-purpose applications on graphics processors using CUDA. Journal of Parallel and Distributed Computing, 68 (10), 1370–1380. doi: https://doi.org/10.1016/j.jpdc.2008.05.014

Power, J., Hestness, J., Orr, M. S., Hill, M. D., Wood, D. A. (2015). gem5-gpu: A Heterogeneous CPU-GPU Simulator. IEEE Computer Architecture Letters, 14 (1), 34–36. doi: https://doi.org/10.1109/lca.2014.2299539

Feng, W., Xiao, S. (2010). To GPU synchronize or not GPU synchronize? Proceedings of 2010 IEEE International Symposium on Circuits and Systems. doi: https://doi.org/10.1109/iscas.2010.5537722

Lee, V. W., Hammarlund, P., Singhal, R., Dubey, P., Kim, C., Chhugani, J. et. al. (2010). Debunking the 100X GPU vs. CPU myth. Proceedings of the 37th Annual International Symposium on Computer Architecture - ISCA ’10. doi: https://doi.org/10.1145/1815961.1816021

Zhou, Y., Tan, Y. (2009). GPU-based parallel particle swarm optimization. 2009 IEEE Congress on Evolutionary Computation. doi: https://doi.org/10.1109/cec.2009.4983119

Shah, S., Bull, M. (2006). OpenMP---OpenMP. Proceedings of the 2006 ACM/IEEE Conference on Supercomputing - SC ’06. doi: https://doi.org/10.1145/1188455.1188469

Hermanns, M. (2002). Parallel programming in Fortran 95 using OpenMP. School of Aeronautical Engineering.

Chapman, B., Jost, G., Van Der Pas, R. (2008). Using OpenMP. Cluster Computing.

Downloads

Published

2020-02-29

How to Cite

Álvarez-Cedillo, J. A., Aguilar-Fernández, M., Álvarez-Sánchez, T., & Sandoval-Gómez, R. J. (2020). Implementation of a parallel algorithm of image segmentation based on region growing. Eastern-European Journal of Enterprise Technologies, 1(9 (103), 6–11. https://doi.org/10.15587/1729-4061.2020.197095

Issue

Section

Information and controlling system