# Computational Photography

## Computational Illumination

by dr. Francho Melendez

## today's schedule

• Recap
• coded illumination
• Flash-no flash
• Temporal coding
• Directional coding
• Spatial coding
• Some SIGGRAPH
• Lab 4

# overview

## coded illumination

• Flash-no flash
• Temporal coding
• Directional coding
• Spatial coding
• Some SIGGRAPH

# flash no-flash

## denoising

Cross-Bilateral Filter based Approach

## removing flash artifacts

• dark buildings
• unkown shapes
• reflections

## removing flash artifacts

• well-lit buildings
• tree, street shapes
• reflections on windows

combination

# temporal coding

## motion tracking

• motion capture, unique temporal code for LEDs
• e.g. phase space:
• 960 fps
• < 10 ms latency
• visible or IR LEDs

# time of flight

## pulse systems: LIDAR

Light Detection And Raging

Typically requires scanning

$t = \frac{2d}{c}$

$c \approx 3 * 10^8 \frac{m}{s}$

## pulse systems: LIDAR

small, usually need scanning

## continues wave

comercial devices

# light stage

## light waving

Estimating Light Positions From Photographs Alone

# photometric stereo

## photometric stereo

diffuse (Lambertian) surfaces are viewpoint independent

$I = \rho\begin{bmatrix}L_x & L_y & L_z\end{bmatrix}\begin{bmatrix}N_x\\ N_y \\ N_z\end{bmatrix}$

## photometric stereo

$\begin{bmatrix}I^{(1)} \\ I^{(2)} \\ I^{(3)} \end{bmatrix} = \rho \begin{bmatrix} L_x^{(1)} & L_y^{(1)} & L_z^{(1)} \\ L_x^{(2)} & L_y^{(2)} & L_z^{(2)} \\ L_x^{(3)} & L_y^{(3)} & L_z^{(3)} \end{bmatrix} \begin{bmatrix} N_x\\ N_y \\ N_z \end{bmatrix}$

$I = L \cdot N$

diffuse (Lambertian) surfaces are viewpoint independent

assume albedo is constant, invert matrix $N = L^{-1} \cdot I$

# Lab 4:poisson compositing

## paste vector field

• Paste source gradient into target image inside a selected region
• Make the new gradient as close as possible to the source gradient while respecting pixel values at the boundary

## today's lab

Due: 30 November

• Poisson Reconstruction and Blending