Blind and Semi-Blind Deblurring of Natural Images
(Abstract and MATLAB code)
Abstract (of ):
A method for blind image deblurring is presented. The method only makes weak assumptions about the blurring ﬁlter and is able to undo a wide variety of blurring degradations. To overcome the ill-posedness of the blind image deblurring problem, the method includes a learning technique which initially focuses on the main edges of the image and gradually takes details into account. A new image prior, which includes a new edge detector, is used. The method is able to handle unconstrained blurs, but also allows the use of constraints or of prior information on the blurring ﬁlter, as well as the use of ﬁlters deﬁned in a parametric manner. Furthermore, it works in both single-frame and multiframe scenarios. The use of constrained blur models appropriate to the problem at hand, and/or of multiframe scenarios, generally improves the deblurring results. Tests performed on monochrome and color images, with various synthetic and real-life degradations, without and with noise, in single-frame and multiframe scenarios, showed good results, both in subjective terms and in terms of the increase of signal to noise ratio (ISNR) measure. In comparisons with other state of the art methods, our method yields better results, and shows to be applicable to a much wider range of blurs.
In [1,2] we propose to compute the restoration quality of blind image debluring (BID) method using an adapted version of the improved signal to noise ratio (ISNR) measure, so that it would be invariant to the variability of the solutions that do not degrade the quality of the reconstructed image, i. e. a measure invariant to: 1) any affine transformation of the scale of intensities, 2) a small translations (in opposite directions) of the estimated image and blurring filter. The MATLAB code for this adapted ISNR measure is also available ahead.
More recently, we have proposed an automatic stopping criteria for the BID method of [1,2] based on measures of whiteness (see [3,4], and the webpage of this measures). The MATLAB code for these measures is also available in the following package.
References on this BID approach:
 M. S. C. Almeida and L. B. Almeida, “Blind deblurring of natural images”, IEEE International Conference on Acoustics, Speech and Signal Processing - ICASSP’ 2008, March, Las Vegas, 2008. (PDF, Poster)
References on Measures of Whiteness for stopping criteria (webpage here):
 M. S. C. Almeida and M. A. T. Figueiredo, “Stopping Criteria for Iterative Blind and Non-Blind Image Deblurring Algorithms Based on Residual Whiteness Measures”, IEEE Trans Image Processing, vol. 22, nº7, pp.2751-63, 2013. (Abstract and MATLAB code)
 M. S. C. Almeida and M. A. T. Figueiredo, “New stopping criteria for iterative blind image deblurring based on residual whiteness measures”, IEEE Workshop on Statistical Signal Processing – SSP’2011, Nice, France, 2011.
References on a newer (faster and better) version of this BID approach (webpage here):
 M. S. C. Almeida and M. A. T. Figueiredo,, "Blind Image Deblurring with Unknown Boundaries Using the Alternating Direction Method of Multipliers", IEEE International Conf. on Image Processing – ICIP’2013, Melbourne, Australia, September, 2013.
MATLAB Code: BID method + ISNR measures for BID + Whiteness measures for stopping criteria. This code includes the extra possibility of deblurring with unknown boundary conditions (UBC).
If you find any bug, please report it to me: M. S. C. Almeida. Thank you!
LICENSE: This code is copyright of Luís B. Almeida, Mário A. T. Figueiredo and Mariana S.C. Almeida. Free permission is given for their use for nonprofit research purposes. Any other use is prohibited, unless a license is previously obtained.
This package is compressed with 7-zip.