CS194-26 Project 5: Lightfield Camera

cs194-26-abl, Alexander Hwang

Overview

Given a lightfield, we can manipulate light rays to simulate images created by a camera with varying focuses and apertures. In this project, we work with a dataset of images taken from a two-dimensional 17x17 (u, v) grid of cameras on a single subject (a chess board). By using simple shifts and averages, we can simulate images with different focuses, and by averaging only a subset of the images, we can simulate images with different apertures.

Depth Refocusing

Objects that are further away from the camera shift less as the camera moves compared to objects closer to the camera. We can use this to simulate a change in focus. If we pick a center image (we use the image at 8, 8), then shift other images proportional to their distance from the center, and then average all the shifted images, we can create new images focused at different depths. In my approach, I calculated the (u, v) distance between two images and then multiplied by a constant that tunes the focus depth. With the constant ranging from -1 to 4, I get the following shallowing of focal depth (focus depth starts far away and comes in).

Aperture Adjustement

By picking an image and then averaging it with surrounding images taken from the camera array, we can simulate images taken with different apertures. By increasing the radius at which we take images to average with, we average over more images and mimic a larger aperture. I chose the center image and then increased the (u, v) radius from 0 to 8, and obtained the following result starting from the smallest aperture (clearest) to the largest (blurriest).

Summary

From this project, I learned that you can simulate many effects in post-processing by just collecting enough image data during the picture taking process.