CS194-26 Project 5: Lightfield Camera
Ian Lee
Overview
In this project I use multiple images taken over a regularly spaced grid to create complex effects such as depth refocusing and aperture adjustment. Here I use the dataset of images of Lego Knights from the Stanford Light Field Archive to demonstrate this idea.
Depth Refocusing
Objects far away from the camera do not vary their positions too much when the camera moves around while keeping the optical axis direction unchanged. On the other hand, closer objects vary their positions a lot. To ahieve a depth focusing effect, we want to shift the images towards the center image, (8,8) in this case. If the image is at (i, j), I would want to shift (8-i, 8-j)*alpha. I use a scale factor alpha to determine how much we shift. With a smaller alpha (Depends on implementation, could be using larger alpha), We will focus on the objects at the back, and with larger alpha, we can focus on the objects in the front.
The average image of the chessboard demonstrates that an average of all the images focus on objects at the back.
However, the average of the lego knights focus at the middle. Regardless, we can perform depth refocusing using the same technique
scale = 0 | scale = -1 | scale = 1 |
---|---|---|
scale = -3 | scale = 3 | scale from -3.5 to 3.5 |
---|---|---|
Aperture Adjustment
The more images we use to focus at a certain depth, the blurrier the parts of images that are out of focus are gonna be. This is the same as using a larger aperture. In our case, we can define a radius so that only images within a certain Manhttan distance will be included in the average. Here we fix the depth focus to be using the scale factor 3
radius = 16 (original) | radius = 8 |
---|---|
radius = 1 | radius from 0 to 16 |
---|---|