Home

CVPR 2009 Computational photography

Coded Exposure Deblurring: Optimized Codes for PSF Estimation and Invertibility

Amit Agrawal and Yi Xu

Coded exposure camera, trigger pattern, blurred toy car input, and deblurred car result
A coded exposure experiment: the camera and trigger pattern, the captured moving car, and the recovered sharp image.

The idea

Estimate the blur.
Recover the image.

A good exposure code must support both estimation of the motion blur and its removal. We design binary shutter codes that balance point-spread function (PSF) estimation with invertibility, enabling motion deblurring from a single image captured by a static camera.

PSF estimation
Preserve blur structure that is easier to estimate
PSF invertibility
Retain the information needed for deconvolution
Joint code design
Balance both criteria with a small noise tradeoff
Practical capture
Machine vision camera implementation without additional hardware

01 / Code design

Optimize for estimation and invertibility

A code optimized only for invertibility can produce non-smooth motion blur that is difficult to estimate. The proposed codes meet both criteria, with a slight increase in deconvolution noise. The paper gives design rules and two search criteria for finding a code of a given length.

Comparison of traditional capture, prior coded exposure, and proposed coded exposure for PSF estimation and PSF invertibility, with example binary codes
Traditional capture favors PSF estimation but has poor invertibility. Earlier coded exposure favors invertibility. The proposed code supports both PSF estimation and invertibility.

We consider the problem of single image object motion deblurring from a static camera. It is well-known that deblurring of moving objects using a traditional camera is ill posed, due to the loss of high spatial frequencies in the captured blurred image. A coded exposure camera modulates the integration pattern of light by opening and closing the shutter within the exposure time using a binary code. The code is chosen to make the resulting point spread function (PSF) invertible, for best deconvolution performance. However, for a successful deconvolution algorithm, PSF estimation is as important as PSF invertibility. We show that PSF estimation is easier if the resulting motion blur is smooth and the optimal code for PSF invertibility could worsen PSF estimation, since it leads to non-smooth blur.

We show that both criteria of PSF invertibility and PSF estimation can be simultaneously met, albeit with a slight increase in the deconvolution noise. We propose design rules for a code to have good PSF estimation capability and outline two search criteria for finding the optimal code for a given length. We present theoretical analysis comparing the performance of the proposed code with the code optimized solely for PSF invertibility. We also show how to easily implement coded exposure on a consumer grade machine vision camera with no additional hardware. Real experimental results demonstrate the effectiveness of the proposed codes for motion deblurring.