Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why can't we remove very high blur from an image?

I am working in digital image restoration field. Recently I have studied a number of image restoration techniques based papers. I have also used MATLAB codes that are provided on the project page of these papers. One thing that I have noticed is that algorithms presented in these papers are able to remove blur from images that are included in respective papers, but these are not able to remove high quality blur.

Can anyone please explain, that why is it so?

This is a simple image having high quality blur:

img

Expert advice needed, with complete explanation.

I also want to know; is high quality blur removal an open problem in digital image processing or not?

like image 884
Mayank Tiwari Avatar asked Feb 17 '23 06:02

Mayank Tiwari


2 Answers

Since the blur kernel is unknown, the algorithm should be a blind-deconvolution algorithm. A typical blind-deconvolution algorithm would recover the convolution kernel (point-spread function) as well as the image itself.

But most such algorithm only deals with spatially invariant blur, which need the blur kernel to be stable across the whole image. The image you provided contains shift-variant spatially-variant blur. Both the camera and the dog are moving during exposure, result in an very complex blurred image. AFAIK, there is no algorithm that can recover your blurred dog. If you can remove the dog from the image the result could be much better.

Moreover, camera blur can also affect the result. Since it is a real photo, the focal point should be clearer while other stuff outside the depth of focus is blured out. It adds another dimention of spacial variance. A lot of research papers only evaluate their algorithm against computed blur images or simple real photos. The deblur algorithm for complex shift-variant blur is still a open problem.

Further more, noises in images can also affect the deblur quality. And real photos always contains noises.

At last, you should remember that mathematically speaking, deblurring is an ill-posed inverse problem, so small perturbations in the data (for instance noise in the measured “blurred” image) lead to large errors in the reconstruction. It is not always possible to recover a blured image since a lot of information are lost in the blurring.

like image 98
Naruil Avatar answered Feb 18 '23 21:02

Naruil


In order to successfully remove "high quality" blur, you need the mathematical model of all the blurs involved in your image. There is camera motion blur, which has been well modelled. Furthermore, it is a simple function applicable to all pixels in the image.

However, your image has also out-of-focus blur: objects at different distances from the camera are differently unfocused. The dog, the bushes, the log, etc. are blurred by different amounts. The blur model is not the same for each part of the image. Deblurring this type of blur is very difficult.

Research tags: Out-of-focus blur, Spatially variant blur.

Some authors propose breaking up the image into small regions and calculating the blur functions in each, taking the border pixels into consideration.

Try this paper presented at ICASSP 2012 by C.T.Shen, W.L.Hwang and S.C.Pei: "Spatially-varyingg out-of-focus image deblurring with L1-2 optimisation and a guided blur map"

like image 22
peter.cyc Avatar answered Feb 18 '23 20:02

peter.cyc