Project 5 - Lightfield Camera

Brandon Lee, cs194-26-aeo

In this project, I manipulate and combines images from a light field data set to create new images. In these new images, I am able to control the depth of focus, as well as simulate different apertures.

Part 1 - Depth Refocusing

Because the images in the light field are taken from different angles, we can shift the images by varying amounts in order to create different depths of focus. If we were to average all photos as is, the objects closer would have higher variation in location, and thus appear to be blurry/out of focus. On the other hand, by shifting all images to align at the “closer” object, we artificially bring that object into focus (less blurry) and make the objects in the background more blurry.

I implement this by choosing to shift every image towards the center, and simply vary the “alpha” (some multiplier) to adjust the depth. The beauty of this is that any amount of shift (as long as consistent) will create a different depth of focus. Here are my results on the chess and jelly bean data sets. These are gifs that show the effects of altering our alpha value.


Part 2 - Aperture Adjustment

Another cool thing we can do with our light field image data set is simulate different sizes of apertures, as if we were taking photos with a single camera. We accomplish this by changing the number of images we combine to create our target image - more images/more angles equates to a larger aperture. This change in aperture causes our depth of field to change, putting things in and out of focus. Here is my aperture adjustment for the chess and jellybean data sets.


From this project I learned a few of the cool things you could do with light fields, computationally. Light fields present us with lots of data, and we can then manipulate the data in different ways to create a wide variety of images, using just the data set.