Arduino add-on removes camera blur
One for photography enthusiasts. How about some DIY image processing for your high-end DSLR camera?
Call it image stabilisation, or de-blurring, or just image processing, but the Arduino-based add-on hardware helps get rid of any blur when taking a picture. It cleverly measures the movement of the camera and then sets to work adjusting the image. Very clever.
This work is actually coming out of Microsoft Research, with Neel Joshi, Sing Bing Kang, C. Lawrence Zitnick and Richard Szeliski creating the SIGGRAPH 2010.
The kit attached to the camera includes MEMS gyroscopes, the Arduino controller itself and a Bluetooth modem.
An Abstract for their work states:
We present a deblurring algorithm that uses a hardware attachment coupled with a natural image prior to deblur images from consumer cameras. Our approach uses a combination of inexpensive gyroscopes and accelerometers in an energy optimisation framework to estimate a blur function from the camera’s acceleration and angular velocity during an exposure. We solve for the camera motion at a high sampling rate during an exposure and infer the latent image using a joint optimisation.
Our method is completely automatic, handles per-pixel, spatially-varying blur, and out-performs the current leading image-based methods. Our experiments show that it handles large kernels – up to at least 100 pixels, with a typical size of 30 pixels. We also present a method to perform “ground-truth” measurements of camera motion blur. We use this method to validate our hardware and deconvolution approach. To the best of our knowledge, this is the first work that uses 6 DOF inertial sensors for dense, per-pixel spatially-varying image deblurring and the first work to gather dense ground-truth measurements for camera-shake blur.
You can read a PDF describing their work in detail, and check out their website to see other examples of their work in action.