Lightfield Camera:

Depth Refocusing and Aperture Adjustment with Light Field Data

The overall goal of this project is to demonstrate the capabilities of light field data. A light field "image" is essentially a series of images taken by cameras that are placed together on a grid. Because of the close proximities of these cameras, the resulting images contain a lot of light rays that can be combined to create effects such as aperture adjustment. These effects are traditionally achieved by modifying settings before the image is taken, but light field datasets allow us to achieve these effects after the images are taken.

Depth Refocusing

We can "refocus" the image by shifting the images and averaging the images together. For example, if we wanted the image to focus on the farthest objects of the image, and blur the nearer objets, we can simply average all the images in the dataset. This is because objects that are farther away from the camera do not change their positions in the image as much as the objects that are closer to the camera. If we want to change which depths are focused on, we simply align objects in that depth and then average all the images.

For each in the image in the dataset, we shift the image as follows. Suppose an image is at position (i, j). We then shift the image k*(8-i) pixels to the right and k*(j-8) pixels down. Essentially, we're shifting the images closer to the center image, which is at location (8, 8). k represents the depth that we want to focus on. k=0 represents focusing on the farthest object, while a larger k represents focusing on a closer object. The resulting images are shown below.

k=0
k=1
k=2
k=3
Animation

Aperture Adjustment

We can also adjust the aperture of the resulting image by averaging the images contained in a window around the (8, 8) image. A smaller window size creates the effect of a smaller aperture, while a larger window size creates the effect of a larger aperture. For each of the images below, I used the average of all images contained inside (8-w, 8-w) and (8+w, 8+w), where w is the window size.

w=0
w=2
w=4
w=6
w=8
Animation

Overall, I learned to really appreciate light field cameras. It's quite amazing how many effects can be reconstructed using a grid of cameras.