Separating Reflection And Image
Written by David Conrad   
Monday, 25 May 2015

When you take a photo through glass the big problem is the reflections that you get from things inside the room. Unless you got to a lot of trouble to adjust the lighting these can ruin a shot. Now MIT researchers have a computational way of separating image from reflection. 

If you take a photo though glass then you will usually also capture reflections from inside the room or from outside if you are shooting inward. The problem of separating the two images, either because you want a clear view of the reflection or a perfect photo is a difficult problem. The image (I) that you get is a the sum of two components:

I= T + R

where T is the transmission and R the reflection. The problem is that you have no way of subtracting R because you don't know what R is. 

Previous solutions have involved either taking multiple photos or getting a human to indicate where the reflection is. However, a better solution is to notice that glass actually causes two reflection - one from the inside surface and one from the outside surface.

 

 

reflection1

 

This means that there are two copies of the reflected image shifted by a small amount. If the glass is thin and the camera far away then the image shift can be less than a pixel and of no use. If, however, the photo is taken through a double glazed unit then two reflections are easier to capture. 

What the new algorithm does it to take the image;

I = T + R + kR

where kR is the reflection shifted by k pixels. Now we have a chance of separating the components. 

The MIT researchers implemented an optimization process that can estimate k and R. The results are fairly impressive. Starting from a single image that has both a transmitted part and a reflected part it is possible extract the two components without out any human help:

reflection2

 

In many cases only the transmitted image is required:

reflection3

The recovered images tend not to be perfect, but they are better than the originals. The technique can be used to improve the quality of photographs where an object is reflected in a mirror, which also generates multiple ghost images. However, the most obvious use of the technique is the recovery of latent images in photos taken by security or crime-scene cameras. Discovering who took the photo, or any details of the room on the inside of the window that the photo was taken through, might well help an investigation. 

So remember the next time you take a photo through glass you could well be taking a selfie. 

reflection1

 

More Information

Reflection Removal using Ghosting Cues
YiChang Shih (MIT CSAIL), Dilip Krishnan (Google Research), Fredo Durand (MIT CSAIL) and William T. Freeman (MIT CSAIL)

Related Articles

Microsoft Hyperlapse Ready For Use

SparkleVision - Seeing Through The Glitter

Automatic High Dynamic Range (HDR) Photography

See Invisible Motion, Hear Silent Sounds Cool? Creepy?

Computational Camouflage Hides Things In Plain Sight

Google Has Software To Make Cameras Worse

Plenoptic Sensors For Computational Photography

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


The Feds Want Us To Move On From C/C++
13/11/2024

The clamour for safe programming languages seems to be growing and becoming official. We have known for a while that C and C++ are dangerous languages so why has it become such an issue now and is it  [ ... ]



Flutter Forked As Flock
05/11/2024

One of developers who worked on the Flutter team at Google has created an open-source form of the framework. Matt Carroll says Flock will be "Flutter+", will remain constantly up to date with Flutter, [ ... ]


More News

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Monday, 25 May 2015 )