Deconvolution (for image processing) Has anyone done this with CUDA yet?


due to a personal interest in this topic I am raising this question: Has anyone accelerated deconvolution with CUDA yet?

Here’s a bit of glossary:

Deconvolution is a process where one tries to reverse a blur effect on an image. If a known convolution filter (for example a gaussian blur) is applied to an image, in principle this operation can be reversed. For example if the camera that took a picture was shaken during an exposure, there is still a chance to recover much of the original image’s sharpness with a process called deconvolution. One needs to know how the camera was shaken, for example by determining the path of motion of tiny specular reflections in the image. By performing another convolution with the mathematical inverse of the blur filter kernel, one can reconstruct the original image.

An particularly difficult goal is to perform blind convolution where the root cause of the blur (the convolution kernel) is not known and has to be estimated (“guessed”) from the resulting blurry image.

So… anyone who’s got a CUDA deconvolver available - or even some source code?


I don’t see much on the forum but Google had some hits…

Not sure if they are what you are looking for, but it’s a start.…lution-library/

CUDAs Photoshop Filters Tutorials

There’s also some deconvolution papers that mention CUDA: