Deblurring. Basics, Problem definition and variants

Similar documents
Coded Computational Photography!

Coded photography , , Computational Photography Fall 2018, Lecture 14

Computational Camera & Photography: Coded Imaging

Coded photography , , Computational Photography Fall 2017, Lecture 18

Near-Invariant Blur for Depth and 2D Motion via Time-Varying Light Field Analysis

Recent Advances in Image Deblurring. Seungyong Lee (Collaboration w/ Sunghyun Cho)

Dappled Photography: Mask Enhanced Cameras for Heterodyned Light Fields and Coded Aperture Refocusing

Admin Deblurring & Deconvolution Different types of blur

Coding and Modulation in Cameras

A Framework for Analysis of Computational Imaging Systems

multiframe visual-inertial blur estimation and removal for unmodified smartphones

Deconvolution , , Computational Photography Fall 2017, Lecture 17

Improved motion invariant imaging with time varying shutter functions

When Does Computational Imaging Improve Performance?


Image Deblurring with Blurred/Noisy Image Pairs

Coded Exposure Deblurring: Optimized Codes for PSF Estimation and Invertibility

A Review over Different Blur Detection Techniques in Image Processing

Deconvolution , , Computational Photography Fall 2018, Lecture 12

Optimal Single Image Capture for Motion Deblurring

The ultimate camera. Computational Photography. Creating the ultimate camera. The ultimate camera. What does it do?

Recent advances in deblurring and image stabilization. Michal Šorel Academy of Sciences of the Czech Republic

Toward Non-stationary Blind Image Deblurring: Models and Techniques

Coded Aperture for Projector and Camera for Robust 3D measurement

Total Variation Blind Deconvolution: The Devil is in the Details*

Agenda. Fusion and Reconstruction. Image Fusion & Reconstruction. Image Fusion & Reconstruction. Dr. Yossi Rubner.

Implementation of Image Deblurring Techniques in Java

BlurBurst: Removing Blur Due to Camera Shake using Multiple Images

Computational Photography

To Do. Advanced Computer Graphics. Outline. Computational Imaging. How do we see the world? Pinhole camera

Implementation of Adaptive Coded Aperture Imaging using a Digital Micro-Mirror Device for Defocus Deblurring

Motion Deblurring using Coded Exposure for a Wheeled Mobile Robot Kibaek Park, Seunghak Shin, Hae-Gon Jeon, Joon-Young Lee and In So Kweon

Computational Cameras. Rahul Raguram COMP

Restoration of Motion Blurred Document Images

Computational Approaches to Cameras

A Recognition of License Plate Images from Fast Moving Vehicles Using Blur Kernel Estimation

To Denoise or Deblur: Parameter Optimization for Imaging Systems

Resolving Objects at Higher Resolution from a Single Motion-blurred Image

Motion-invariant Coding Using a Programmable Aperture Camera

Non-Uniform Motion Blur For Face Recognition

2015, IJARCSSE All Rights Reserved Page 312

fast blur removal for wearable QR code scanners

To Denoise or Deblur: Parameter Optimization for Imaging Systems

Extended depth of field for visual measurement systems with depth-invariant magnification

Transfer Efficiency and Depth Invariance in Computational Cameras

Coded Aperture Pairs for Depth from Defocus

Improving Signal- to- noise Ratio in Remotely Sensed Imagery Using an Invertible Blur Technique

4 STUDY OF DEBLURRING TECHNIQUES FOR RESTORED MOTION BLURRED IMAGES

Computational Photography Image Stabilization

Computational Photography Introduction

Spline wavelet based blind image recovery

Lenses, exposure, and (de)focus

Image Enhancement of Low-light Scenes with Near-infrared Flash Images

The Flutter Shutter Camera Simulator

Coded Aperture and Coded Exposure Photography

Image Enhancement of Low-light Scenes with Near-infrared Flash Images

Optical image stabilization (IS)

CS354 Computer Graphics Computational Photography. Qixing Huang April 23 th 2018

Optical image stabilization (IS)

Computational Photography and Video. Prof. Marc Pollefeys

Image Deblurring. This chapter describes how to deblur an image using the toolbox deblurring functions.

IJCSNS International Journal of Computer Science and Network Security, VOL.14 No.12, December

Correction of Spatially Varying Image and Video Motion Blur Using a Hybrid Camera

Motion Blurred Image Restoration based on Super-resolution Method

Motion Estimation from a Single Blurred Image

Focal Sweep Videography with Deformable Optics

Image Deblurring and Noise Reduction in Python TJHSST Senior Research Project Computer Systems Lab

What are Good Apertures for Defocus Deblurring?

Motion Deblurring Using Hybrid Imaging

An Analysis of Focus Sweep for Improved 2D Motion Invariance

Removing Temporal Stationary Blur in Route Panoramas

Tonemapping and bilateral filtering

2D Barcode Localization and Motion Deblurring Using a Flutter Shutter Camera

Applications of Flash and No-Flash Image Pairs in Mobile Phone Photography

Simulated Programmable Apertures with Lytro

Burst Photography! EE367/CS448I: Computational Imaging and Display! stanford.edu/class/ee367! Lecture 7! Gordon Wetzstein! Stanford University!

De-Convolution of Camera Blur From a Single Image Using Fourier Transform

SURVEILLANCE SYSTEMS WITH AUTOMATIC RESTORATION OF LINEAR MOTION AND OUT-OF-FOCUS BLURRED IMAGES. Received August 2008; accepted October 2008

High dynamic range imaging and tonemapping

Region Based Robust Single Image Blind Motion Deblurring of Natural Images

Recent Advances in Space-variant Deblurring and Image Stabilization

Blur and Recovery with FTVd. By: James Kerwin Zhehao Li Shaoyi Su Charles Park

Optical image stabilization (IS)

Last Lecture. photomatix.com

Wavefront coding. Refocusing & Light Fields. Wavefront coding. Final projects. Is depth of field a blur? Frédo Durand Bill Freeman MIT - EECS

Supplementary Materials

A Novel Image Deblurring Method to Improve Iris Recognition Accuracy

Modeling and Synthesis of Aperture Effects in Cameras

Removing Camera Shake from a Single Photograph

Removing Motion Blur with Space-Time Processing

Extended Depth of Field Catadioptric Imaging Using Focal Sweep

Blind Correction of Optical Aberrations

IMAGE TAMPERING DETECTION BY EXPOSING BLUR TYPE INCONSISTENCY. Khosro Bahrami and Alex C. Kot

PAPER An Image Stabilization Technology for Digital Still Camera Based on Blind Deconvolution

Flexible Depth of Field Photography

Why learn about photography in this course?

Flexible Depth of Field Photography

lecture 24 image capture - photography: model of image formation - image blur - camera settings (f-number, shutter speed) - exposure - camera response

A New Method for Eliminating blur Caused by the Rotational Motion of the Images

2990 IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 20, NO. 10, OCTOBER We assume that the exposure time stays constant.

Transcription:

Deblurring Basics, Problem definition and variants

Kinds of blur Hand-shake Defocus Credit: Kenneth Josephson Motion

Credit: Kenneth Josephson

Kinds of blur Spatially invariant vs. Spatially varying

Kinds of blur 1D vs 2D blur kernels

Problem definition Lets assume a spatially invariant blurring model

LTI modeling Blurring h(x)

LTI modeling Blurring h(x) Can we get back the sharp image?

LTI modeling Blurring h(x) Could we consider getting back the sharp image?

LTI modeling Blurring h(x) Could we consider getting back the sharp image? Challenges 1. What if has zeros? 2. Do we know h(t)? 3. (peril of DFT) Periodicity!

Image Priors Suppose h(t) is known, today image deblurring is considered close-to-solved Regularizer Data term Commonly used regularizers Wavelet sparsity Gradients of the image are sparse Poisson gradients Mixture of Gaussians model for image gradients

BlurBurst Multi-image deblurring technique

Telephoto imaging Low vision photography

Large blur Blur due to camera shake can be very large Telephoto (zoom) imaging Narrow field of view implies small handshake are amplified Low-light imaging Large exposure times leads to large blurs Hand-held high dynamic range (HDR) imaging

Deblurring on large blur (Shan et al, 2008)

Deblurring on large blur (Shan et al, 2008)

Why is large blur hard? Extreme loss of high-frequency information

Use multiple images!!! Most cameras have a burst-mode to capture images in rapid succession Two key ideas More images implies great resiliency to noise Camera shake is never the same across images! Different frequency components are attenuated in different images

Use multiple images!!!

Use multiple images!!! Most cameras have a burst-mode to capture images in rapid succession Two key ideas More images implies great resiliency to noise Camera shake is never the same across images! Different frequency components are attenuated in different images Challenges Registration!!!!

Why deblurring is easier with multiple image? (a) Single image Blur PSF 5 pixels (b) Single image Blur PSF 25 pixels Compensating high-frequency information each other along perpendicular directions of blur kernels. Improving SNR just by virtue of noise suppression (c) Two images Blur PSF 25 pixels (d) Six image Blur PSF 25 pixels (a) (b) (c) (d) Orig. Comparison of select patches

Algorithm Blur Latent Registration Kernel Image Regularization: L1 TV norm norm Feature extraction and matching: - Extracting SIFT features and match them to a pre-selected reference image. Homography estimation: - The feature correspondences are used to fit a homography transformation using RANSAC. Noise Model: Solved by by SPG-L1 M-Fista

Deblurring on large blur (Shan et al, 2008)

(Shan et al, 2008)

Input image

Shan et al.

BlurBurst (us)

Tripod image

Real Data Results Low Light Scene Exposure time: 1.6sec 49x49 blur kernel size 6 input images at 512x512 Shan s Single Deblur (08) Cho s Single Deblur (09) Input Images Estimated Blur Kernels Šroubek s Multi Deblur (12) Ours

Real Data Results Low Light Scene Exposure time: 0.25sec 39x39 blur kernel size 8 input images at 512x512 Shan s Single Deblur (08) Cho s Single Deblur (09) Input Images Estimated Blur Kernels Šroubek s Multi Deblur (12) Ours

Real Data Results Telephoto & Low Light Focal Length: 300mm Exposure time: 0.2sec 49x49 blur kernel size 6 input images at 512x512 Shan s Single Deblur (08) Cho s Single Deblur (09) Input Images Estimated Blur Kernels Šroubek s Multi Deblur (12) Ours

Coded Exposure Photography: Motion deblurring using fluttered shutter Raskar, Agrawal, and Tumblin SIGGRAPH 2006 Slide-deck credit: Raskar, Agrawal, Tumblin

Traditional Camera Shutter is OPEN

Our Camera Flutter Shutter

Shutter is OPEN and CLOSED

Comparison of Blurred Images

Implementation Completely Portable

Lab Setup

Sync Function Blurring == Convolution Traditional Camera: Box Filter

Preserves High Frequencies!!! Flutter Shutter: Coded Filter

Comparison

Inverse Filter Unstable Inverse Filter stable

Motion Blur as Convolution

Short Exposure Long Exposure Coded Exposure Our result Matlab Lucy Ground Truth

Are all codes good? Our Code All ones Alternate Random

Need to consider zero padded codes!!!

License Plate Retrieval

License Plate Retrieval

Input Image

Rectified Crop Deblurred Result

Varying Exposure Video Exposure Time Fourier Transform Slide courtesy Agrawal

Varying Exposure Video No common nulls Exposure Time Fourier Transform Exposure Time Slide courtesy Agrawal

Varying Exposure Video No common nulls Exposure Time Fourier Transform Exposure Time Exposure Time Slide courtesy Agrawal

Varying Exposure Video = PSF Null-Filling Fourier Transform Joint Frequency Spectrum Preserves All Frequencies Slide courtesy Agrawal

Varying Exposure Video

Blurred Photos Deblurred Result Slide courtesy Agrawal

Key Idea: PSF Null-Filling Individual non-invertible PSF s combined into jointly-invertible PSF Information lost in any single photo is captured in some other photo For motion deblurring Achieve PSF null-filling by varying the exposure time of successive photos Varying Exposure Photo 1 Photo 2 Photo 3 Slide courtesy Agrawal

Single Image Deblurring (SID) Multiple Image Deblurring (MID) Slide courtesy Agrawal

Motion Invariant Photography Levin, Sand, Cho, Durand, Freeman SIGGRAPH 2008 Slide-deck credit: Levin et al.

Motion Blur Most scene is static Can moving linearly from left to right

Overcoming motion blur? Reduce shutter speed But reduces amount of light When shutter speed is as fast as we physically can and there is still blur Computational solution: Deconvolution

Why is motion deblurring hard? Need to know blur kernel (motion velocity)? Input blurry image Correct kernel Output from correct kernel? Input blurry image Wrong kernel Output from wrong kernel

Why is motion deblurring hard? Need to know blur kernel (motion velocity) Need to segment image Entire image deblurred with kernel corresponding to the cans velocity

Why is motion deblurring hard? Need to know blur kernel (motion velocity) Need to segment image Existing solutions: - Multiple input images/ additional hardware: Bascle et al 1996; Rav-Acha and Peleg 2005; Zheng 2005; Bar et al 2007; Ben-Ezra and Nayar 2004; Yuan et al. 2007 - Image statistics- single image with restricted assumptions: Fergus et al 2006; Levin 2006; Shan et al 2008;

Why is motion deblurring hard? Need to know blur kernel (motion velocity) Need to segment image Information loss (reduced signal to noise ratio) blurred input deblurred static input

Why is motion deblurring hard? Need to know blur kernel (motion velocity) Need to segment image Information loss - Existing approach: Flutter Shutter, Raskar et al 2006 Close & open shutter during exposure, achieves broad-band kernel. But does not address kernel estimation and segmentation

Counter intuitive solution: To reduce motion blur, increase it! - move camera as picture is taken Makes blur invariant to motion- can be removed with spatially uniform deconvolution - kernel is known (no need to estimate motion) - kernel identical over the image (no need to segment) Makes blur easy to invert

Inspiration: depth invariant defocus Wave front coding - manipulate optical element Cathey and Dowski 94 Vary object/detector distance during integration - Hausler 72 - Nagahara, Kuthirummal, Zhou, Nayar 08

Motion invariant blur- disclaimers: Assumes 1D motion (e.g. horizontal) Degrades quality for static objects

Controlling motion blur

Controlling motion blur Can we control motion blur?

Controlling motion blur

Controlling motion blur

Controlling motion blur

Motion invariant blur Controlling motion blur

Parabolic sweep Time t Sensor position x(t)=a t 2 Start by moving very fast to the right Continuously slow down until stop Continuously accelerate to the left Intuition: For any velocity, there is one instant where we track perfectly. Sensor position x

Motion invariant blur

Motion invariant blur

Motion invariant blur

Static camera Unknown and variable blur kernels Our parabolic input Blur kernel is invariant to velocity Our output after deblurring NON-BLIND deconvolution

Deblurring and information loss Assume: we could perfectly identify blur kernel Which camera has motion blur that is easy to invert? - Static? Flutter Shutter? Parabolic? Prove: parabolic motion achieves near optimal information preservation blurred input deblurred static input

Comparing camera reconstruction Blurred input Static Flutter Shutter Parabolic Deblurred output Note: synthetic rendering, exact PSF is known

Hardware construction Ideally move sensor (requires same hardware as existing stabilization systems) In prototype implementation: rotate camera variable radius cam Lever Rotating platform

Linear rail Static camera input- Unknown and variable blur Our parabolic input- Blur is invariant to velocity

Linear rail Static camera input- Unknown and variable blur Our output after deblurring- NON-BLIND deconvolution

Human motion- no perfect linearity Input from a static camera Deblurred output from our camera

Violating 1D motion assumption- forward motion Input from a static camera Deblurred output from our camera

Violating 1D motion assumption- stand-up motion Input from a static camera Deblurred output from our camera

Violating 1D motion assumption- rotation Input from a static camera Deblurred output from our camera