DocumentCode :
1540963
Title :
Fast Morphological Image Processing Open-Source Extensions for GPU Processing With CUDA
Author :
Thurley, Matthew J. ; Danell, Victor
Author_Institution :
Dept. of Comput. Sci., Electr. & Space Eng., Lulea Univ. of Technol., Lulea, Sweden
Volume :
6
Issue :
7
fYear :
2012
Firstpage :
849
Lastpage :
855
Abstract :
GPU architectures offer a significant opportunity for faster morphological image processing, and the NVIDIA CUDA architecture offers a relatively inexpensive and powerful framework for performing these operations. However, the generic morphological erosion and dilation operation in the CUDA NPP library is relatively naive, and performance scales expensively with increasing structuring element size. The objective of this work is to produce a freely available GPU capability for morphological operations so that fast GPU processing can be readily available to those in the morphological image processing community. Open-source extensions to CUDA (hereafter referred to as LTU-CUDA) have been produced for erosion and dilation using a number of structuring elements for both 8 bit and 32 bit images. Support for 32 bit image data is a specific objective of the work in order to facilitate fast processing of image data from 3D range sensors with high depth precision. Furthermore, the implementation specifically allows scalability of image size and structuring element size for processing of large image sets. Images up to 4096 by 4096 pixels with 32 bit precision were tested. This scalability has been achieved by forgoing the use of shared memory in CUDA multiprocessors. The vHGW algorithm for erosion and dilation independent of structuring element size has been implemented for horizontal, vertical, and 45 degree line structuring elements with significant performance improvements over NPP. However, memory handling limitations hinder performance in the vertical line case providing results not independent of structuring element size and posing an interesting challenge for further optimisation. This performance limitation is mitigated for larger structuring elements using an optimised transpose function, which is not default in NPP, and applying the horizontal structuring element. LTU-CUDA is an ongoing project and the code is freely available at https://github.com/VictorD/LTU-CUDA.
Keywords :
graphics processing units; image processing; image sensors; parallel architectures; public domain software; shared memory systems; 3D range sensors; CUDA NPP library; CUDA multiprocessors; GPU architectures; GPU processing; LTU-CUDA; NVIDIA CUDA architecture; dilation operation; fast morphological image processing; generic morphological erosion; horizontal structuring element; open-source extensions; shared memory; structuring element size; transpose function; vHGW algorithm; Application software; Graphics processing unit; Image processing; Libraries; Message systems; Signal processing algorithms; Timing; CUDA; GPU; Morphological image processing; NVIDIA; dilation; erosion;
fLanguage :
English
Journal_Title :
Selected Topics in Signal Processing, IEEE Journal of
Publisher :
ieee
ISSN :
1932-4553
Type :
jour
DOI :
10.1109/JSTSP.2012.2204857
Filename :
6218162
Link To Document :
بازگشت