CUDA based Fast Bilateral Filter for Medical Imaging
Shraddha Dinesh Oza, Kalyani Rajiv Joshi · 2018
Noise removal in medical images is extremely critical as retention of body tissue structures, contours is necessary for proper diagnosis. The nonlinear spatial bilateral filter provides an efficient denoising solution but its performance slows down with increase in image size and resolution. With continually increasing resolution of medical images, the filter implementation has to face the challenges of time and computational complexity arising from large data volumes. In recent years, data parallel computations are being implemented using graphics processing units (GPU) which are being extremely fast and cost effective. The purpose of the research work is to achieve real time performance using CUDA compliant GPU for denoising medical images of varying size and resolution. The speed up thus achieved is compared with CPU implementation of the filter in sequential domain. The work here also intends to show difference in speed up achieved with Matlab and OpenCv image processing tool kits for sequential domain implementation. The windows 10 implementation platform consists of Nvidia’s CUDA GPU GTX 830M device hosted by intel i5 dual core @ 2.2GHz. It was observed that, the GPU implementation of the bilateral filter completed the denoising task in 1.175 msec which is 613 times faster than its Matlab based CPU version and 89 times faster than its OpenCV based CPU version for large input image of 64Mpixel resolution. Also, for the CUDA GPU performance, average occupancy of 85% is achieved indicating effective parallelization.