Transcript
Page 1: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

CS 691B Computational Photography

Instructor: Gianfranco DorettoModeling Light

Page 2: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

What is light?Electromagnetic radiation (EMR) moving along rays in space

• R(λ) is EMR, measured in units of power (watts)– λ is wavelength

Light:• Travels far• Travels fast• Travels in straight lines• Interacts with stuff• Bounces off things• Is produced in nature• Has lots of energy

-- Steve Shafer

Page 3: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Point of observation

Figures © Stephen E. Palmer, 2002

What do we see?

3D world 2D image

Page 4: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Point of observation

What do we see?

3D world 2D image

Painted backdrop

Page 5: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

On Simulating the Visual Experience

• Just feed the eyes the right data– No one will know the difference!

• Philosophy:– Ancient question: “Does the world really exist?”

• Science fiction:– Many, many, many books on the subject, e.g. slowglass

from “Light of Other Days”– Latest take: The Matrix

• Physics:– Slowglass might be possible?

• Computer Science:– Virtual Reality

• To simulate we need to know:• What does a person see?

Page 6: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

The Plenoptic Function

•Q: What is the set of all things that we can ever see?•A: The Plenoptic Function (Adelson & Bergen)

•Let’s start with a stationary person and try to parameterize everything that he can see…

Figure by Leonard McMillan

Page 7: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Grayscale snapshot

•is intensity of light – Seen from a single view point– At a single time– Averaged over the wavelengths of the visible spectrum

•(can also do P(x,y), but spherical coordinate are nicer)

P(θ,φ)

Page 8: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Color snapshot

•is intensity of light – Seen from a single view point– At a single time– As a function of wavelength

P(θ,φ,λ)

Page 9: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

A movie

•is intensity of light – Seen from a single view point– Over time– As a function of wavelength

P(θ,φ,λ,t)

Page 10: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Holographic movie

•is intensity of light – Seen from ANY viewpoint– Over time– As a function of wavelength

P(θ,φ,λ,t,VX,VY,VZ)

Page 11: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

The Plenoptic Function

– Can reconstruct every possible view, at every moment, from every position, at every wavelength

– Contains every photograph, every movie, everything that anyone has ever seen! it completely captures our visual reality! Not bad for a function…

P(θ,φ,λ,t,VX,VY,VZ)

Page 12: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Sampling Plenoptic Function (top view)

Just lookup -- Quicktime VR

Page 13: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Ray

• Let’s not worry about time and color:

• 5D– 3D position– 2D direction

P(θ,φ,VX,VY,VZ)

Page 14: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Surface Camera

No Change in

Radiance

Lighting

How can we use this?

Page 15: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Ray Reuse

• Infinite line– Assume light is constant (vacuum)

• 4D– 2D direction– 2D position– non-dispersive medium

Page 16: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Only need plenoptic surface

v

u

Page 17: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Synthesizing novel views

Page 18: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Lumigraph / Lightfield

Outside convex space

4D StuffEmpty

Page 19: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Lumigraph - Organization

• 2D position• 2D direction

Page 20: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Lumigraph - Organization

2D position2D position

2 plane parameterization

us

Page 21: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Lumigraph - Organization

2D position2D position

2 plane parameterization

su

v u,vs,t

t

u,v

s,t

Page 22: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Lumigraph - Organization

Hold u,v constantLet s,t varyAn image

u,v s,t

Page 23: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Lumigraph / Lightfield

Page 24: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Lumigraph - Capture

Idea 1• Move camera carefully over u,v

plane• Gantry

– see Lightfield paper

u,v s,t

Page 25: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Lumigraph - Capture

Idea 2• Move camera anywhere• Rebinning

– see Lumigraph paper

u,v s,t

Page 26: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Lumigraph - Rendering

For each output pixel• determine u,v,s,t

• either• use closest discrete RGB• interpolate near values

u s

Page 27: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Lumigraph - Rendering

• Nearest– closest u– closest s– draw it

• Blend 16 nearest– quadrilinear interpolation

u s

Page 28: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Stanford multi-camera array

• 640 × 480 pixels ×30 fps × 128 cameras

• synchronized timing

• continuous streaming

• flexible arrangement

Page 29: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Light field photography using a handheld plenoptic camera

Ren Ng, Marc Levoy, Mathieu Brédif,Gene Duval, Mark Horowitz and Pat Hanrahan

Page 30: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Conventional versus light field camera

Page 31: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Conventional versus light field camera

uv-plane st-plane

Page 32: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Prototype camera

• 4000 × 4000 pixels ÷ 292 × 292 lenses = 14 × 14 pixels per lens

Contax medium format camera Kodak 16-megapixel sensor

Adaptive Optics microlens array 125μ square-sided microlenses

Page 33: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light
Page 34: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Digitally stopping-down

• stopping down = summing only the central portion of each microlens

Σ

Σ

Page 35: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Digital refocusing

• refocusing = summing windows extracted from several microlenses

Σ

Σ

Page 36: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Example of digital refocusing

Page 37: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Digitally moving the observer

• moving the observer = moving the window we extract from the microlenses

Σ

Σ

Page 38: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Example of moving the observer

Page 39: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Moving backward and forward

Page 40: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light
Page 41: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

On sale now: lytro.com

Page 42: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

http://www.lytro.com/science_inside

http://www.lytro.com/living-pictures/282

Page 43: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light
Page 44: CS 691B Computational Photography Instructor: Gianfranco Doretto Modeling Light

Slide Credits

• This set of sides also contains contributionskindly made available by the following authors– Alexei Efros– Richard Szelisky– Michael Cohen– Stephen E. Palmer– Ren Ng