The goal of my project is to take an image input, artificially blur it using a known blur kernel, then using deconvolution to deblur and restore the image, then run a last step to reduce the noise of the image. The goal is to have the input and output images be identical with a blurry intermediate image. The final step is then to estimate the blur kernel of an image with an unknown blur kernel.
Running goal for image processors and photo editors
Many methods of deconvolution exist Many utilize the Fourier Transform
Current progress focused on blur kernel estimation Better kernel more accurate, clear output
image
The group of Lu Yuan, et al. designed project with blurry/noisy image pairs Blurry image intensity + noisy image
sharpness + deconvolution = sharp, deblurred output image
The group of Rob Fergus, et al. designed project to estimate blur kernel from naturally blurred image A few inputs + kernel estimation algorithm +
deconvolution = deblurred output image with few artifacts
Machine Vision Requires input images to be of good clarity Blur could ruin techniques such as edge
detection Intermediate step
Extremely useful for convolution and deconvolution
Convert image to frequency domain
Utilize the formula eθi = cosθ + isinθ Usually display the magnitude, since DFT
produces complex number (a + bi). Magnitude = (a2 + b2)1/2
Scale to 0-255 range O(n2)
Inverse Fourier Transform converts back to spatial domain
Also possible to separate Need full complex number from DFT or FFT
Original Picture Magnitude Only Phase Only
Successful FFT and IFFT program Successful convolution program
Takes any image (square image of size 128x128 or smaller for best runtime) and blurs it using any given blur kernel