Section of Computer Science, EPFL
The goal of this semester project was to implement a deconvolution algorithm on the GPU, using the NVIDIA CUDA framework. The reasoning behind it is that a deconvolution process can be rather slow to perform, due to the heavy computational power needed. Thus, using GPU programming in such a case could result in great performance boosts. The implemented algorithm is based on the recent paper: A Hessian Schatten-Norm Regularization Approach For Solving Linear Inverse Problems.
Given the observed image and the point spread function (PSF) as image stacks, the program iteratively computes the solution to the deconvolution problem, as described in the corresponding paper.
Furthermore, boundary conditions, norm type, and the number of iterations can be parametrized in order to better fit each specific instance of a problem.
Performances results can be seen in figure 1.
Fig. 1 Performances comparison between the CPU and the GPU versions of the algorithm.