Presentation is loading. Please wait.

Presentation is loading. Please wait.

Image Deblurring and noise reduction in python

Similar presentations


Presentation on theme: "Image Deblurring and noise reduction in python"— Presentation transcript:

1 Image Deblurring and noise reduction in python
Vincent DeVito Computer Systems Lab

2 Abstract 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.

3 Background 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

4 Related Projects The group of Lu Yuan, et al. designed a 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 a project to estimate blur kernel from naturally blurred image A few inputs + kernel estimation algorithm + deconvolution = deblurred output image with few artifacts

5 Application Photography Improve image quality Restore image
From Fergus, et al.

6 Application (Cont.) Machine Vision
Requires input images to be of good clarity Blur could ruin techniques such as edge detection Intermediate step

7 Fourier Transform Extremely useful for convolution and deconvolution
Convert image to frequency domain Utilizes the formula eθi = cosθ + isinθ Usually display the magnitude, since DFT produces complex number (a + bi). Magnitude = (a2 + b2)1/2 Scale to range O(n2)

8 Fourier Transform (Cont.)
Separate sums 1D DFT in one direction (vertical/horizontal), then in the other O(nlog2n)

9 Fourier Transform (Cont.)
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

10 Completed Work Successful convolution program
Takes any image (square image of size 128x128 or smaller for best runtime) and blurs it using any given blur kernel

11 Completed Work (Cont.) Image deconvolution using a given kernel
Inconsistent, depending on what type of kernel Noisy

12 Current Work Noise Reduction for deblurred output image My algorithm
Tried a few simple methods One edge-sensitive Gaussian smoothing algorithm Created my own selective Gaussian smoothing noise reduction algorithm My algorithm Average of 3x3 neighborhood Average of all pixels in neighborhood within range of average Use unsharp sharpening filter to resharpen edges

13 Picture after My Noise Reduction Algorithm
Current Work (Cont.) Picture after Deblurring Picture after Edge Sensitive Noise Reduction Picture after My Noise Reduction Algorithm

14 Full Process Original Picture Blur Kernel Blurred Picture
Deblurred Picture Edge Sensitive Noise My Noise Reduction Reduction Algorithm

15 Future Work Expand deconvolution algorithm to include other forms of blur Research into deconvolution based on kernel type Kernel estimation Color restoration


Download ppt "Image Deblurring and noise reduction in python"

Similar presentations


Ads by Google