Abstract
Fuzzy clustering is one of the most popular techniques in medical image segmentation. The fuzzy C-means (FCM) algorithm has been widely used as it provides better performance and more information than other algorithms. As the data set becomes large, the serial implementation of the FCM algorithm becomes too slow to accomplish the clustering task within acceptable time. Hence, a parallel implementation [for example, using today’s fast graphics processing unit (GPU)] is needed. In this paper, we implement brFCM algorithm, a faster variant of the FCM algorithm, on two different GPU cards, Tesla M2070 and Tesla K20m. We compare our brFCM GPU-based implementation with its CPU-based sequential implementation. Moreover, we compare brFCM with the traditional version of the FCM algorithm. The experiments used lung CT and knee MRI images for clustering. The results show that our implementation has a significant improvement over the traditional CPU sequential implementation. GPU parallel brFCM is 2.24 times faster than its CPU implementation, and 23.43 times faster than a GPU parallel implementation of the traditional FCM.
Similar content being viewed by others
References
Aerkewar PN, Agrawal G (2013) Image segmentation methods for dermatitis disease: a survey. Int J Eng Inven 2(1):01–06
Oqaily A et al (2014) Localization of coronary artery thrombosis using coronary angiography. In: The Third international conference on informatics engineering and information science (ICIEIS2014), pp 310–316
Alawneh K et al (2015) Computer-aided diagnosis of lumbar disk herniation. In: Proceedings of the 6th international conference on information and communication systems (ICICS 2015)
Jain AK (2010) Data clustering: 50 years beyond k-means. Pattern Recogn Lett 31(8):651–666. doi:10.1016/j.patrec.2009.09.011
Bezdek JC, Ehrlich R, Full W (1984) FCM: the fuzzy c-means clustering algorithm. Comput Geosci 10(23):191–203. doi:10.1016/j.patrec.2009.09.011
Eklund A, Dufort P, Forsberg D, LaConte SM (2013) Medical image processing on the GPU past, present and future. Med Image Anal 17(8):1073–1094. doi:10.1016/j.media.2013.05.008
Eschrich S, Ke J, Hall L, Goldgof D (2003) Fast accurate fuzzy clustering through data reduction. IEEE Trans Fuzzy Syst 11(2):262–270. doi:10.1109/TFUZZ.2003.809902
(n.d.) Lung image database consortium (lidc). http://imaging.cancer.gov/programsandresources/informationsystems/lidc. Accessed Oct 2014
(n.d.) Knee MRI. http://www.mr-tip.com/serv1.php?type=img&img=Sagittal+Knee+MRI+Images+T1+Weighted. Accessed Oct 2014
di San Amat, Filippo C, Fichtinger G, Morris W, Salcudean S, Dehghan E, Fallavollita P (2014) Intraoperative segmentation of iodine and palladium radioactive sources in C-arm images. Int J Comput Assist Radiol Surg 9(5):769–776. doi:10.1007/s11548-014-0983-2
Al-Darabsah K, Al-Ayyoub M (2013) Breast cancer diagnosis using machine learning based on statistical and texture features extraction. In: Proceedings of the 4th International conference on information and communication systems (ICICS 2013)
Al-Ayyoub M, Alawad D, Al-Darabsah K, Aljarrah I (2013) Automatic detection and classification of brain hemorrhages. WSEAS Trans Comput 12(10):395–405
Baldevbhai PJ, Anand R (2012) Review of graph, medical and color image base segmentation techniques. IOSR J Electr Electron Eng 1(1):1–19
Sharma S, Goel M, Kaur P (2013) Performance comparison of various robust data clustering algorithms. Int J Intell Syst Appl 5(7):63
Lm YIN, JIANG C, JIANG C, HU Yb (2012) The fast gpu parallel algorithm based on image segmentation of a level set. J Converg Inf Technol 7(18):332–339
Guler Z, Cinar A (2013) GPU-based image segmentation using level set method with scaling approach. In: International conference on advanced information technologies and applications (ICAITA), pp 81–92. doi:10.5121/csit.2013.3808
Oberhuber T, Suzuki A, Vacata J, Žabka V (2011) Image segmentation using CUDA implementations of the runge-kutta-merson and GMRES methods. J Math Ind 3:73–79
Zhuge Y, Cao Y, Miller R (2009) Gpu accelerated fuzzy connected image segmentation by using cuda. In: Engineering in medicine and biology society, 2009. EMBC 2009. Annual International conference of the IEEE, pp 6341–6344. doi:10.1109/IEMBS.2009.5333158
Smistad E, Elster A, Lindseth F (2014) GPU accelerated segmentation and centerline extraction of tubular structures from medical images. Int J Comput Assist Radiol Surg 9(4):561–575. doi:10.1007/s11548-013-0956-x
Pan L, Gu L, Xu J (2008) Implementation of medical image segmentation in CUDA. In: Information technology and applications in biomedicine, 2008. ITAB 2008. International conference on, pp 82–85. doi:10.1109/ITAB.2008.4570542
Wani MA, Arabnia HR (2003) Parallel edge-region-based segmentation algorithm targeted at reconfigurable multi-ring network. J Supercomput 25(1):43–63
Bhandarkar SM, Arabnia HR, Smith JW (1995) A reconfigurable architecture for image processing and computer vision. Int J Pattern Recogn Artif Intell 9(2):201–229
Shehab MA et al (2015) Improving FCM and T2FCM algorithms performance using GPUS for medical images segmentation. In: Proceedings of the 6th international conference on information and communication systems (ICICS 2015)
Wlodarczyk J, Czaplicka K, Tabor Z, Wojciechowski W, Urbanik A (2014) Segmentation of bones in magnetic resonance images of the wrist. Int J Comput Assist Radiol Surg, pp 1–13. doi:10.1007/s11548-014-1105-x
Won Suk H, Yeh Choi J, Hwang H (2012) Hierarchically structured fuzzy c-means clustering. Behaviormetrika 40(1):1–17. doi:10.2333/bhmk.40.1
Ganguly S, Bose D, Konar A (2013) Clustering using vector membership: an extension of the fuzzy c-means algorithm. CORR abs/1312.4074
Liua W, Cuia T, Hungb CC, Chenc S (2013) An adaptive weighted fuzzy c-means clustering algorithm for remote sensing image classification. J Inform Comput Sci 10(7):2009–2020. doi:10.12733/jics20101678
AlZubi S et al (2012) Medical volume segmentation using 3d multiresolution analysis. In: 2012 international conference on innovations in information technology (IIT)
Jararweh Y, Jarrah M, Hariri S (2012) Exploiting gpus for compute-intensive medical applications. In: Multimedia computing and systems (ICMCS), 2012 international conference on, IEEE, pp 29–34
Jararweh Y, Hariri S, Moukabary T (2009) Simulating of cardiac electrical activity with autonomic run time adjustments. AHSC frontiers in biomedical research
(n.d.) Parallel programming and computing platform CUDA NVIDIA. http://www.nvidia.com/object/cuda_home_new.html. Accessed Oct 2014
(n.d.) Nvcc: Cuda toolkit documentation. http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/. Accessed Oct 2014
Harris C, Haines K (2005) Iterative solutions using programmable graphics processing units. In: Fuzzy systems, 2005. FUZZ ’05. The 14th IEEE international conference on, pp 12–18
Anderson D, Luke R, Keller J (2007) Incorporation of non-euclidean distance metrics into fuzzy clustering on graphics processing units. In: Melin P, Castillo O, Ramrez E, Kacprzyk J, Pedrycz W (eds) Analysis and design of intelligent systems using soft computing techniques, advances in soft computing, vol 41, Springer, Berlin Heidelberg, pp 128–139. doi:10.1007/978-3-540-72432-2_14
Shalom SAA, Dash M, Tue M (2008) Graphics hardware based efficient and scalable fuzzy c-means clustering. In: Proceedings of the 7th Australasian data mining conference, volume 87, Australian Computer Society Inc, Darlinghurst, Australia, AusDM ’08, pp 179–186
Anderson D, Luke R, Keller J (2008) Speedup of fuzzy clustering through stream processing on graphics processing units. IEEE Trans Fuzzy Syst 16(4):1101–1106. doi:10.1109/TFUZZ.2008.924203
Pangborn AD (2010) Scalable data clustering using GPUS. Master’s thesis, Rochester Institute of Technology
Rowińska Z, Gocławski J (2012) Cuda based fuzzy c-means acceleration for the segmentation of images with fungus grown in foam matrices. Image Process Commun 17(4):191–200. doi:10.2478/v10248-012-0046-7
Li H, Yang Z, He H (2014) An improved image segmentation algorithm based on GPU parallel computing. J Softw 9(8):1985–1990. doi:10.4304/jsw.9.8.1985-1990
Arabnia HR, Smith JW (1993) A reconfigurable interconnection network for imaging operations and its implementation using a multi-stage switching box. In: Proceedings of the 7th annual international high performance computing conference, pp 349–357
Arabnia HR, Oliver MA (1987) A transputer network for the arbitrary rotation of digitised images. Comput J 30(5):425–432
Graham SL, Kessler PB, Mckusick MK (1982) Gprof: a call graph execution profiler. ACM Sigplan Not 17(6):120–126. doi:10.1145/872726.806987
(n.d.) The Cy-Tera project. http://www.linksceem.eu/ls2/project/hpc-sites/castorc/cytera.html. Accessed Oct 2014
Sesame synchrotron-light for experimental science and applications in the middle east. http://sesame.org.jo/sesame/. Accessed Oct 2014
(n.d.) Soroosh129/GPU-FCM. https://github.com/Soroosh129/GPU-FCM. Accessed Oct 2014
(n.d.) Unified memory in CUDA 6. http://devblogs.nvidia.com/parallelforall/unified-memory-in-cuda-6/. Accessed Oct 2014
Acknowledgments
This work was supported in part by the Deanship of Research at the Jordan University of Science and Technology Grant number 20130195. For the experiments, this work benefited from the computing resources of IMAN1 provided by the Synchrotron-Light for Experimental Science and Applications in the Middle East (SESAME). Also, this work was co-funded by the European Regional Development Fund and the Republic of Cyprus through the Research Promotion Foundation (Project Cy-Tera NEA Y\(\varPi \)O\(\varDelta \)OMH/*\(\sum \)TPATH/0308/31).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Al-Ayyoub, M., Abu-Dalo, A.M., Jararweh, Y. et al. A GPU-based implementations of the fuzzy C-means algorithms for medical image segmentation. J Supercomput 71, 3149–3162 (2015). https://doi.org/10.1007/s11227-015-1431-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-015-1431-y