Menu
Home
Download

Image Deblurring

[Click to download a package with the executable and examples]

This is an executable for image blind deconvolution. The command is:

deblur.exe blurImageFileName outputFileName kernelWidth kernelHeight multiScaleRatio noiseStr deblurStrength kCutRatio weight1 weight2 weight3 weight4 weight5 modelUnfitStr

Examples

Type "deblur.exe picassoBlurImage.png picassoOut.png 27 19 0.618 0.01 0.2 0.06667 0 0 0 0 0" in the command line and press ENTER. There are four blurred images included in the package. To deblur them, you can run "run.bat".


Parameter Definition

blurImageFileName the file name of the blurred image (.bmp, .png, and .jpg files are supported)
outputFileName the file name of the output image (.bmp, .png, and .jpg files are supported)
kernelWidth the estimated width (in pixel) of the blur kernel
kernelHeight the estimated height (in pixel) of the blur kernel
multiScaleRatio a parameter for multi-scale configuration. It specifies the ratio of sizes for the images in two adjacent layers, and is with default value 0.618. The user does not need to provide any kernel initialization in this executable.
noiseStr the degree of image noise, 0.01 by default
deblurStrength a parameter affecting the completeness of deblurring, 0.2 by default
kCutRatio a parameter to suppress the kernel noise, 0.06667 by default
weight1 ~ weight5 parameters for suppressing ringings, 0,0,0.5,2,1 by default
modelUnfitStr reserved parameter with value 0


Parameter Tuning

We suggest tuning the parameters noiseStr and deblurStrength. In many cases, you can use the default values for others. The guideline is as follows.

multiScaleRatio the width ratio of images in two adjacent scales in our multi-scale implementation. It should be in the range of [0.5, 1]. Increasing this value may improve the result quality with longer computation time.
noiseStr the value is in the range of [0.002, 0.5]. Increasing the value makes the result more smoothed while less sensitive to noise. This value corresponds to $\lambda_1$ in our paper.
deblurStrength the value is in the range of [0.01, 1]. A large value makes the image show more details but risk over-sharpening. This parameter depends on $\tau$ described in our paper.
kCutRatio  kernel elements smaller than kCutRatio (which are regarded as noise) are set to zeros. The range of kCutRatio is [0.04, 0.1].
weight1 ~ weight5 usually with default values.

System Requirement

Windows XP, 2003 Server, or Vista.

The required memory and the computational time depend on the size of the blur image and the estimated kernel. For the "Picasso" example with size 800x532, the peak memory requirement is about 600 Megabytes and the computational time is approximately 8 minutes on a laptop computer.

Version Information:

Distribution Version: 0.2.1 (Oct. 3rd, 2008) by Qi Shan and Jiaya Jia ({qshan, leojia}@cse.cuhk.edu.hk), CSE department, the Chinese University of Hong Kong. This program is tested on Windows XP, 2003 Server and Vista, but is still not guaranteed to be bug-free and work properly with all versions of Windows. It is for educational use ONLY. If you use this executable for your academic publication, please acknowledge this work:

@article{hqdeblurring_siggraph2008,
author = {Qi Shan and Jiaya Jia and Aseem Agarwala},
title = {High-quality Motion Deblurring from a Single Image},
journal = {ACM Transactions on Graphics (SIGGRAPH)},
year = {2008},
}

 


*** The End ***