Blind deconvolution using alternating maximum a posteriori estimation with heavy-tailed priors

Blind deconvolution aims to estimate the blur PSF from a single blurred image and then deblur the image using this PSF. As this is clearly an ill-posed task admitting unlimited number of solutions, prior information on the sharp image is usually taken into account to relieve some of the ambiguity. In the common MAP setting, this prior information arises in the form of prior distributions, which serve as regularizers in the minimization problem.

In the presented approach, we used heavy-tailed (i.e. very sparse) Lp, p<1 prior on image gradients and combined this with straightforward simultaneous MAP estimation of blur h and sharp image u using alternating minimization. Using such sparse prior has two advantages. First, it has strong peak around zero (we are talking about image derivatives) which serves as a strong regularization for otherwise ill-posed problem. And second, it gives relatively high probability (i.e. low penalization) for extreme values of image derivatives, which is necessary for reconstruction of sharp edges. It is even advantageous to somewhat exaggerate the sparsity of gradient distribution in natural images because this pushes the solution away from the no-blur solution, which is otherwise known to be an unwelcome result of MAP blur estimation. For the numerical optimization we use the alternating direction method of multipliers, which relatively easily allows for splitting the data and prior terms (which are easier to minimize separately) and incorporating additional constraints like PSF positivity. See the paper for details.

Paper: Jan Kotera, Filip Šroubek, Peyman Milanfar: Blind deconvolution using alternating maximum a posteriori estimation with heavy-tailed priors, Computer Analysis of Images and Patterns, vol. 8048 (2013), pp 59-66 Download PDF. This paper received the Outstanding Contribution Award!

Below you can download our MATLAB implementation, for easy testing run demo.m or demo_levin.m (the latter requires separately downloading levin.mat which contains the input data) and see comments there. Contact Jan Kotera or Filip Šroubek if you have any questions about the code or the algorithm in general.

By downloading the code you accept the following terms:

  1. I will use the tools solely for educational and/or research purposes.
  2. I will not provide the code to any third party without first asking for permission the authors of the tools.
  3. I will acknowledge the work of the authors of the tools in all my publications, which will utilize results, ideas or parts of the code in some way, and I will send the preliminary or final publications to the authors.

Our gradient prior model fitted over gradient distribution of natural images for different values of p. (log scale)

Deconvolution result of a motion blurred photo capture by a hand-held camera, estimated PSF superimposed.

Deconvolution result of the image 1 blurred by PSF 1 from the dataset of Levin et al., 2009. Estimated PSF (left) and ground truth (right).
Input data for "demo_levin.m". Contains dataset of Levin et al., 200913.16 MB
MATLAB implementation of our algorithm588.14 KB
CAIP 2013 article985.95 KB