Removing blur due to camera shake from images. William T. Freeman Joint work with Rob Fergus, Anat Levin, Yair Weiss, Fredo Durand, Aaron Hertzman, Sam.

Slides:



Advertisements
Similar presentations
Pattern Recognition and Machine Learning
Advertisements

A Two-Step Approach to Hallucinating Faces: Global Parametric Model and Local Nonparametric Model Ce Liu Heung-Yeung Shum Chang Shui Zhang CVPR 2001.
Inferring the kernel: multiscale method Input image Loop over scales Variational Bayes Upsample estimates Use multi-scale approach to avoid local minima:
Bayesian Belief Propagation
Image Registration  Mapping of Evolution. Registration Goals Assume the correspondences are known Find such f() and g() such that the images are best.
Image Processing IB Paper 8 – Part A Ognjen Arandjelović Ognjen Arandjelović
CSCE 643 Computer Vision: Template Matching, Image Pyramids and Denoising Jinxiang Chai.
Factorial Mixture of Gaussians and the Marginal Independence Model Ricardo Silva Joint work-in-progress with Zoubin Ghahramani.
Optimizing and Learning for Super-resolution
1 Parametric Empirical Bayes Methods for Microarrays 3/7/2011 Copyright © 2011 Dan Nettleton.
Reducing Drift in Parametric Motion Tracking
Shaojie Zhuo, Dong Guo, Terence Sim School of Computing, National University of Singapore CVPR2010 Reporter: 周 澄 (A.J.) 01/16/2011 Key words: image deblur,
Single Image Blind Deconvolution Presented By: Tomer Peled & Eitan Shterenbaum.
Unnatural L 0 Representation for Natural Image Deblurring Speaker: Wei-Sheng Lai Date: 2013/04/26.
1 Removing Camera Shake from a Single Photograph Rob Fergus, Barun Singh, Aaron Hertzmann, Sam T. Roweis and William T. Freeman ACM SIGGRAPH 2006, Boston,
Rob Fergus Courant Institute of Mathematical Sciences New York University A Variational Approach to Blind Image Deconvolution.
Optimization & Learning for Registration of Moving Dynamic Textures Junzhou Huang 1, Xiaolei Huang 2, Dimitris Metaxas 1 Rutgers University 1, Lehigh University.
Personal Photo Enhancement using Example Images Neel Joshi Wojciech Matusik, Edward H. Adelson, and David J. Kriegman Microsoft Research, Disney Research,
Lecture 2: Filtering CS4670/5670: Computer Vision Kavita Bala.
Recovering Intrinsic Images from a Single Image 28/12/05 Dagan Aviv Shadows Removal Seminar.
Edge detection. Edge Detection in Images Finding the contour of objects in a scene.
Learning Low-Level Vision William T. Freeman Egon C. Pasztor Owen T. Carmichael.
Lecture 1: Images and image filtering
Announcements Kevin Matzen office hours – Tuesday 4-5pm, Thursday 2-3pm, Upson 317 TA: Yin Lou Course lab: Upson 317 – Card access will be setup soon Course.
1 Bayesian Restoration Using a New Nonstationary Edge-Preserving Image Prior Giannis K. Chantas, Nikolaos P. Galatsanos, and Aristidis C. Likas IEEE Transactions.
Collaborative Ordinal Regression Shipeng Yu Joint work with Kai Yu, Volker Tresp and Hans-Peter Kriegel University of Munich, Germany Siemens Corporate.
Image Deblurring with Optimizations Qi Shan Leo Jiaya Jia Aseem Agarwala University of Washington The Chinese University of Hong Kong Adobe Systems, Inc.
Linear View Synthesis Using a Dimensionality Gap Light Field Prior
Lecture 2: Image filtering
Deriving intrinsic images from image sequences. Yair Weiss, Presentation by Leonid Taycher.
Understanding and evaluating blind deconvolution algorithms
CS Bayesian Learning1 Bayesian Learning. CS Bayesian Learning2 States, causes, hypotheses. Observations, effect, data. We need to reconcile.
(1) A probability model respecting those covariance observations: Gaussian Maximum entropy probability distribution for a given covariance observation.
Rician Noise Removal in Diffusion Tensor MRI
Noise Estimation from a Single Image Ce Liu William T. FreemanRichard Szeliski Sing Bing Kang.
Super-Resolution of Remotely-Sensed Images Using a Learning-Based Approach Isabelle Bégin and Frank P. Ferrie Abstract Super-resolution addresses the problem.
Advanced Image Processing Image Relaxation – Restoration and Feature Extraction 02/02/10.
Linear Algebra and Image Processing
Binary Variables (1) Coin flipping: heads=1, tails=0 Bernoulli Distribution.
1 Patch Complexity, Finite Pixel Correlations and Optimal Denoising Anat Levin, Boaz Nadler, Fredo Durand and Bill Freeman Weizmann Institute, MIT CSAIL.
© by Yu Hen Hu 1 ECE533 Digital Image Processing Image Restoration.
Chapter 7 Case Study 1: Image Deconvolution. Different Types of Image Blur Defocus blur --- Depth of field effects Scene motion --- Objects in the scene.
Discrete Images (Chapter 7) Fourier Transform on discrete and bounded domains. Given an image: 1.Zero boundary condition 2.Periodic boundary condition.
Yu-Wing Tai, Hao Du, Michael S. Brown, Stephen Lin CVPR’08 (Longer Version in Revision at IEEE Trans PAMI) Google Search: Video Deblurring Spatially Varying.
ECE 8443 – Pattern Recognition LECTURE 07: MAXIMUM LIKELIHOOD AND BAYESIAN ESTIMATION Objectives: Class-Conditional Density The Multivariate Case General.
Image Processing Edge detection Filtering: Noise suppresion.
CS 782 – Machine Learning Lecture 4 Linear Models for Classification  Probabilistic generative models  Probabilistic discriminative models.
Why is computer vision difficult?
Learning to Perceive Transparency from the Statistics of Natural Scenes Anat Levin School of Computer Science and Engineering The Hebrew University of.
Fields of Experts: A Framework for Learning Image Priors (Mon) Young Ki Baik, Computer Vision Lab.
Vincent DeVito Computer Systems Lab The goal of my project is to take an image input, artificially blur it using a known blur kernel, then.
Lecture 2: Statistical learning primer for biologists
Lecture#4 Image reconstruction
Removing motion blur from a single image
Vincent DeVito Computer Systems Lab The goal of my project is to take an image input, artificially blur it using a known blur kernel, then.
Machine Vision Edge Detection Techniques ENT 273 Lecture 6 Hema C.R.
Lecture 1: Images and image filtering CS4670/5670: Intro to Computer Vision Noah Snavely Hybrid Images, Oliva et al.,
ICCV 2007 Optimization & Learning for Registration of Moving Dynamic Textures Junzhou Huang 1, Xiaolei Huang 2, Dimitris Metaxas 1 Rutgers University 1,
Biointelligence Laboratory, Seoul National University
Image Resampling & Interpolation
Variational filtering in generated coordinates of motion
Image Deblurring and noise reduction in python
A Neural Approach to Blind Motion Deblurring
Deconvolution , , Computational Photography
Removing motion blur from a single image
Presented by: Mingyuan Zhou Duke University, ECE Feb 22, 2013
Biointelligence Laboratory, Seoul National University
Deblurring Shaken and Partially Saturated Images
Lecture 7 Patch based methods: nonlocal means, BM3D, K- SVD, data-driven (tight) frame.
Presentation transcript:

Removing blur due to camera shake from images. William T. Freeman Joint work with Rob Fergus, Anat Levin, Yair Weiss, Fredo Durand, Aaron Hertzman, Sam Roweis, Barun Singh Massachusetts Institute of Technology

Overview Original Our algorithm

Close-up Original Naïve SharpeningOur algorithm

Lets take a photo Blurry result

Slow-motion replay

Motion of camera

Image formation process = Blurry image Sharp image Blur kernel Input to algorithm Desired output Convolution operator Model is approximation

Why is this hard? Simple analogy: 11 is the product of two numbers. What are they? No unique solution: 11 = 1 x = 2 x = 3 x etc….. Need more information !!!!

Multiple possible solutions = Blurry image Sharp image Blur kernel = =

Is each of the images that follow sharp or blurred?

Another blurry one

Natural image statistics Histogram of image gradients Characteristic distribution with heavy tails

Blury images have different statistics Histogram of image gradients

Parametric distribution Histogram of image gradients Use parametric model of sharp image statistics

Uses of natural image statistics Denoising [Roth and Black 2005] Superresolution [Tappen et al. 2005] Intrinsic images [Weiss 2001] Inpainting [Levin et al. 2003] Reflections [Levin and Weiss 2004] Video matting [Apostoloff & Fitzgibbon 2005] Corruption process assumed known

Existing work on image deblurring Software algorithms: – Extensive literature in signal processing community – Mainly Fourier and/or Wavelet based – Strong assumptions about blur not true for camera shake – Image constraints are frequency-domain power-laws Assumed forms of blur kernels

A focus on image constraints, not image priors

Some image constraints/priors

Toy example: observed image:

Toy example: observed image:

1.00.0

Three sources of information 1. Reconstruction constraint: = Input blurry image Estimated sharp image Estimated blur kernel 3. Blur prior: Positive & Sparse 2. Image prior: Distribution of gradients

Prior on image gradients (mixture of Gaussians giving a Laplacian-like distribution) Distribution of gradients (log-scale) Green curve is our mixture of gaussians fit.

Prior on blur kernel pixels (mixture of exponentials) b P(b)

How do we use this information? Obvious thing to do: – Combine 3 terms into an objective function – Run conjugate gradient descent – This is Maximum a-Posteriori (MAP)

Maximum A-Posteriori y – observed blurry image x – unobserved sharp image b – blur kernel i – image patch index f – derivative filter Likelihood Latent image prior Blur prior Assumption: all pixels independent of one another Sparse and

Results from MAP estimation Maximum a-Posteriori (MAP) Our method: Variational Bayes Input blurry image

Variational Bayes

Miskin and Mackay, 2000

Setup of variational approach Need likelihood and prior in same space, so use gradients: Likelihood Prior on latent image gradients – mixture of Gaussians Prior on blur elements – mixture of Exponentials i – image pixel j – blur pixel We use C=4, D=4 Also have Gamma hyperpriors on

Variational inference Approximate posterior with Cost function Assume Use gradient descent, alternating between updating while marginalizing out over and vice versa Adapted code from Miskin & Mackay 2000 is Gaussian on each pixel is rectified Gaussian on each pixel

Variational Bayesian method Based on work of Miskin & Mackay 2000 Keeps track of uncertainty in estimates of image and blur by using a distribution instead of a single estimate Helps avoid local maxima and over-fitting

Variational Bayes Variational Bayesian method Maximum a-Posteriori (MAP) Pixel intensity Score Objective function for a single variable

MAP vs Variational MAP Variational MAP using variational initialization

Blurry synthetic image

Inference – initial scale

Inference – scale 2

Inference – scale 3

Inference – scale 4

Inference – scale 5

Inference – scale 6

Inference – final scale

Our output

Ground truth

Matlabs deconvblind

True kernel Estimated kernel

Tried the same algorithm on an image of real camera blur, with very similar blur kernel Failure!

Whiteboard scene: Does camera shake give a stationary blur kernel? 8 different people, handholding camera, using 1 second exposure

View of the dots at each corner in photos taken by 4 people Top left Bot. left Top right Bot. right Person 1 Person 3 Person 4 Person 2

Tonescale: output from camera

Linear response to light intensities looks like this

Overview of algorithm Input image 1. Pre-processing 2. Kernel estimation - Multi-scale approach 3. Image reconstruction -Standard non-blind deconvolution routine

Preprocessing Convert to grayscale Input image Remove gamma correction User selects patch from image Bayesian inference too slow to run on whole image Infer kernel from this patch

Initialization Input image Initialize 3x3 blur kernel Initial blur kernel Blurry patch Initial image estimate Convert to grayscale Remove gamma correction User selects patch from image