Abstract
In this work, the parallel implementation of a segmentation algorithm based on the gradient vector flow (GVF) deformable model in a graphics processing unit (GPU) is presented. The proposed implementation focuses on the parallelization of the computation of the GVF field. In order to make a performance comparison of the proposed GPU algorithm, an OpenMP-based implementation is presented too. We also present an analysis of the textures and global memory performance in the computing of the GVF field. To improve the efficiency and the performance of the active contour segmentation, a novel snaxel reallocation method is proposed. The main advantage of the reallocation process is the small linear system needed to perform the segmentation and its low computational load. To assure the convergence of the active contour deformation, we propose a stopping criterion based on the root mean square error for the iterative solution of the evolution equations.
Similar content being viewed by others
References
Dhawan AP, Huang HK, Kim DS (2008) Principles and advanced methods in medical imaging and image analysis. World Scientific Publishing Co. Pte, Ltd, Singapore
González RC, Woods RE (2002) Digital image processing, 2nd edn. Prentice Hall, Englewood Cliffs
He L, Peng Z, Everding B, Wang X, Han CY, Weiss KL, Wee WG (2008) A comparative study of deformable contour methods on medical image segmentation. Image Vis Comput 26(2):141–163
Li B, Acton ST (2007) Active contour external force using vector field convolution for image segmentation. IEEE Trans Image Process 16(8):2096–2106
Wang Y, Liu L, Zhang H, Cao Z, Lu S (2010) Image segmentation using active contours with normally biased GVF external force. IEEE Signal Process Lett 17(10):875–878
Terzopoulos D, McInerney T (1996) Deformable models in medical image analysis: a survey. Med Image Anal 1(2):91–108
Suri JS, Farag AA (eds) (2007) Deformable models II: theory and biomaterial applications. Springer, Berlin
Mahmoud MKA, Al-Jumaily A (2011) Segmentation of skin cancer images based on gradient vector flow (GVF) snake. In: IEEE international conference on mechatronics and automation. Beijing, China, pp 216–220
He Z, Kuester F (2006) GPU-based active contour segmentation using gradient vector flow. In: Advances in visual computing second international symposium, ISVC 2006. Lake Tahoe, NV, USA, pp 191–201
Zheng Z, Zhang R (2011) A GPU-accelerated GVF snake algorithm. In: Proceedings of the 2011 workshop on digital media and digital content management, DMDCM ’11. Hangzhou, China, pp 233–236
Perrot G, Domas S, Couturier R, Bertaux N (2011) GPU implementation of a region based algorithm for large images segmentation. In: 11th IEEE international conference on computer and information technology. Belfort, France, pp 291–298
Li T, Krupa A, Collewet C (2011) A robust parametric active contour based on Fourier descriptors. In: 18th IEEE international conference on image processing. Brussels, Belguim, pp 1037–1040
Smistad E, Elster AC, Lindseth F (2012) Real-time gradient vector flow on GPUs using OpenCL. J Real Time Image Process. doi:10.1007/s11554-012-0257-6
Kienel E, Brunnett G (2009) GPU-accelerated contour extraction on large images using snakes. Technical Report. CSR-09-02, Chemnitz University of Technology, Germany
Češnovar R, Risojević V, Babić Z, Dobravec T, Bulić P (2013) A GPU implementation of a structural-similarity-based aerial-image classification. J Supercomput 65:978–996
Valero P, Sánchez JL, Cazorla D, Arias E (2011) A GPU-based implementation of the MRF algorithm in ITK package. J Supercomput 58:403–410
Reyes R, López I, Fumero JJ, de Sande F (2013) A preliminary evaluation of OpenACC implementations. J Supercomput 65:1063–1075
Lenkiewicz P, Pereira M, Freire MM, Fernandes J (2009) A new 3D image segmentation method for parallel architectures. In: IEEE International conference on multimedia and expo, 2009. New York, USA, pp 1813–1816
Schellmann M, Gorlatch S, Meiländer D, Kösters T, Schäfers K, Wübbeling F, Burger M (2011) Parallel medical image reconstruction: from graphics processing units (GPU) to grids. J Supercomput 57:151–160
Pallipuram VK, Bhuiyan M, Smith MC (2012) A comparative study of GPU programming models and architectures using neural networks. J Supercomput 61:673–718
Belloch JA, González A, Martínez-Saldívar F, Vidal AM (2011) Real-time massive convolution for audio applications on GPU. J Supercomput 58:449–457
Xu C, Prince JL (1998) Snakes, shapes, and gradient vector flow. IEEE Trans Image Process 7(3):359–369
Terzopoulos D (1986) On matching deformable models to images. Technical Repprt 60, Schlumberger Palo Alto Research, USA
Kass M, Witkin A, Terzopoulos D (1988) Snakes: active contour models. Int J Comput Vis 1(4):321–331
Terzopoulos D, Platt J, Barr A, Fleischer K (1987) Elastically deformable models. SIGGRAPH 21(4):205–214
Davatzikosa C, Prince JL (1996) Convexity analysis of active contour problems. In: IEEE conference on computer vision and pattern recognition, CVPR ’96. San Francisco, USA, pp 674–679
Mishra AK, Fieguth PW, Clausi DA (2011) Decoupled active contour (DAC) for boundary detection. IEEE Trans Pattern Anal Mach Intell 33(2):310–324
Boukerroui D (2009) Efficient numerical schemes for gradient vector flow. In: 16th IEEE international conference on image processing (ICIP). Cairo, Egypt, pp 4057–4060
Canny J (1986) A computational approach to edge detection. IEEE Trans Pattern Anal Mach Intell 8(6):679–698
Huang S, Wang B, Huang X (2006) Using GVF snake to segment liver from CT images. In: 3rd IEEE/EMBS International Summer School on Medical Devices and Biosensors, 2006. Cambridge, USA, pp 145–148
Wagner S, Steinmetz M, Bode A, Muller M (2010) High performance computing in science and engineering. Springer, Berlin
Kirk DB, Wen-mei WH (2010) In Praise of Programming massively parallel processors: a hands-on approach. Elsevier, Amsterdam
Cook S (2013) CUDA programming: a developer’s guide to parallel computing with GPUs. Elsevier, Amsterdam
nVIDIA (2013) NVIDIA CUDA C programming guide
Farber R (2011) CUDA application design and development. Elsevier Inc., Amsterdam
nVIDIA (2013) CUDA C best practices guide
Chapman B, Jost G, van der Pas R (2008) Using OpenMP: portable shared memory parallel programming. The MIT press, Cambridge
The cancer imaging archive (2012) http://www.cancerimagingarchive.net/. Accessed 15 Jan 2012
Patient contributed image repository (2012) http://www.pcir.org/. Accessed 15 Jan 2012
Dicom sample image sets (2013) http://www.osirix-viewer.com/datasets/. Accessed 15 Jun 2013
Acknowledgments
This work has been partially supported by COFAA-IPN, and by Grant IPN-SIP-20120606.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Alvarado, R., Tapia, J.J. & Rolón, J.C. Medical image segmentation with deformable models on graphics processing units. J Supercomput 68, 339–364 (2014). https://doi.org/10.1007/s11227-013-1042-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-013-1042-4