CS 194-26: Project 5

Light Field Camera

Depth Refocusing and Aperture Adjustment with Light Field Data

Ellen Hong

Overview

In this project, we demonstrate different post-processing techniques on lightfield camera data, such as focusing on different parts of an image after the fact, or creating the effect of adjusting the aperture size of the camera.

Depth Refocusing

The different images in each lightfield data set are taken by capturing the same scene at different angles. Because images farther away from the camera remain at a relatively constant position at these differing angles, compared to images closer to the camera, an average of all the images will result in a photo where these far away pixels are more in focus.

If we wish to generate an image with the focus point elsewhere, we can do the following:

1) Pick a reference image. I picked the image in the center of the entire dataset.

2) For each sub-aperture image (every other image in the datset), calculate the relative different (u, v) distance away from the reference image.

3) Shift each sub-aperture image by some scalar c * (u, v).

4) Average together the reference image and all of these shifted images.

Adjusting the scalar c will give us different focus points. We can see from the following results that, as mentioned before, setting c to 0 will result in the focus being near the back of the chessboard. Increasing c will move the focus point more and more towards the front.

c = 0.0
c = 0.25
c = 0.5

A gif of varying c values, from 0 to 0.5 with intervals of 0.05:

More results, with one of the crystal ball datasets:

c = -0.75
c = 0.0
c = 0.75

Gif of varying c values, from -0.75 to 0.75 with intervals of 0.25:

Aperture Adjustment

In order to mimic the effects of adjusting a camera's aperture size, we can simply average different subsets of images from our lightfield datasets. We take these subsets to be the regions of varying radii around the center image of our dataset, i.e. we take the images at a distance from [0, ... 7] away from our center image.

radius = 0
radius = 3
radius = 7

Gif of varying radii values, from smallest aperture (radius = 0) to largest aperture (radius = 7):

Results with the crystal ball dataset:

radius = 0
radius = 3
radius = 7