Download - Primal-Dual Coding to Probe Light Transport

Transcript
Page 1: Primal-Dual Coding to Probe Light Transport

Primal-Dual Codingto Probe Light Transport

Matthew O’TooleUniversity of Toronto

Ramesh RaskarMIT Media Lab

Kyros KutulakosUniversity of Toronto

Page 2: Primal-Dual Coding to Probe Light Transport

conventional photography

photo records all light paths that reach camera sensor

Page 3: Primal-Dual Coding to Probe Light Transport

primal-dual coding photography

photo only records a user-defined subset of light paths

Page 4: Primal-Dual Coding to Probe Light Transport

conventional photography

primal-dual coding photography

Page 5: Primal-Dual Coding to Probe Light Transport

new photography regime: primal-dual codingmodulate contribution of specific light path

contributions

transport probing equationgeneralizes conventional photography & confocal imaging [Wilson et al. 96]

combine illumination coding [Schechner et al. 07] & exposure coding [Hitomi et al. 11]

efficient primal-dual codes by stochastic matrix probingprovides convergence & optimality guarantees [Bekas et al. 07]

Page 6: Primal-Dual Coding to Probe Light Transport

1. the result of light transport from sources to sensor pixels

2. the image recorded by the camera’s sensor

what is a photo?

Page 7: Primal-Dual Coding to Probe Light Transport

transport matrix [Ng et al. 03]photo

light

conventional photography

degrees of freedom

Page 8: Primal-Dual Coding to Probe Light Transport

primal-dual coding photography

“probing matrix”

degrees of freedom

Page 9: Primal-Dual Coding to Probe Light Transport

multiply

primal-dual coding photography

“probing matrix”

degrees of freedom

Page 10: Primal-Dual Coding to Probe Light Transport

primal-dual coding photography

“probing matrix”

degrees of freedom

Page 11: Primal-Dual Coding to Probe Light Transport

primal-dual coding photography

degrees of freedom

Page 12: Primal-Dual Coding to Probe Light Transport

mathematical formulation of primal-dual coding photography

Page 13: Primal-Dual Coding to Probe Light Transport
Page 14: Primal-Dual Coding to Probe Light Transport
Page 15: Primal-Dual Coding to Probe Light Transport
Page 16: Primal-Dual Coding to Probe Light Transport

one-shot primal-dual coding photography

Page 17: Primal-Dual Coding to Probe Light Transport

experimental setup

SLR camera LCD mask

projector

scene

beamsplitter

Page 18: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 19: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 20: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 21: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 22: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 23: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 24: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 25: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 26: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 27: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 28: Primal-Dual Coding to Probe Light Transport

step 2illuminate scene

with vector . (primal code)

step 3attenuate image with vector .

(dual code)

step 4repeat times

step 1open shutter

step 5close shutter

Page 29: Primal-Dual Coding to Probe Light Transport
Page 30: Primal-Dual Coding to Probe Light Transport

Rademacher primal-dual codes

stochastic diagonal estimator [Bekas et al. 07]

primal codes are Rademacher random vectors: random vector in

dual codes derive from primal code:

codes converge to identity probing matrix:

variance of pixel for primal-dual codes

aperture correlation (microscopy) is a diagonal estimator [Wilson et al. 96, Levoy et al. 04]

stochastic estimator for general probingdual codes for general probing matrix :

Page 31: Primal-Dual Coding to Probe Light Transport

designing probing matrices

Page 32: Primal-Dual Coding to Probe Light Transport

designing probing matrices

transport matrix

Page 33: Primal-Dual Coding to Probe Light Transport

designing probing matrices

transport matrix

Page 34: Primal-Dual Coding to Probe Light Transport

designing probing matrices

camera

pro

jector

transport matrix

Page 35: Primal-Dual Coding to Probe Light Transport

designing probing matrices

camera

pro

jector

camera

pro

jector

transport matrix

Page 36: Primal-Dual Coding to Probe Light Transport

designing probing matrices

camera

pro

jector

camera

pro

jector

transport matrix

Page 37: Primal-Dual Coding to Probe Light Transport

designing probing matrices

camera

pro

jector

camera

pro

jector

transport matrix

Page 38: Primal-Dual Coding to Probe Light Transport

coaxial example: contrast-enhancing direct light

conventionalphoto

all light paths

Page 39: Primal-Dual Coding to Probe Light Transport

coaxial example: contrast-enhancing direct light

direct +½ indirect

conventionalphoto

direct + 1/2 indirect light paths

Page 40: Primal-Dual Coding to Probe Light Transport

coaxial example: contrast-enhancing direct light

direct +½ indirect

conventionalphoto

direct +¼ indirect

direct +1/16 indirect

direct + 1/16 indirect light paths

Page 41: Primal-Dual Coding to Probe Light Transport

coaxial example: capturing short to long range paths

conventional

all light paths

Page 42: Primal-Dual Coding to Probe Light Transport

coaxial example: capturing short to long range paths

conventional

indirect

indirect light paths

Page 43: Primal-Dual Coding to Probe Light Transport

coaxial example: capturing short to long range paths

conventional

indirect mid-range indirect

medium to long range indirect light paths

Page 44: Primal-Dual Coding to Probe Light Transport

coaxial example: capturing short to long range paths

conventional

indirect mid-range indirect

long-range indirect

long range indirect light paths

Page 45: Primal-Dual Coding to Probe Light Transport

coaxial example: separating light transport effects

conventional

all light paths

Page 46: Primal-Dual Coding to Probe Light Transport

coaxial example: separating light transport effects

conventional

indirect

indirect light paths

Page 47: Primal-Dual Coding to Probe Light Transport

coaxial example: separating light transport effects

conventional

indirect direct + backscatter

direct + back-scatter light paths

Page 48: Primal-Dual Coding to Probe Light Transport

coaxial example: separating light transport effects

indirect [Nayar et al. 06]

indirect direct + backscatter

direct [Nayar et al. 06]

Page 49: Primal-Dual Coding to Probe Light Transport

coaxial example: separating light transport effects

indirect direct + backscatter

low-freq. indirect high-freq. indirect

Page 50: Primal-Dual Coding to Probe Light Transport

conventional

all light paths

coaxial example: de-scattering [Fuchs et al. 08]

Page 51: Primal-Dual Coding to Probe Light Transport

conventional de-scattered image

de-scattered diagonal

coaxial example: de-scattering [Fuchs et al. 08]

Page 52: Primal-Dual Coding to Probe Light Transport

coaxial example: de-scattering [Fuchs et al. 08]

conventional

direct + 1/16 indirect

direct + 1/16 indirect light paths

de-scattered image

Page 53: Primal-Dual Coding to Probe Light Transport

conventional

direct + 1/16 indirect shifted indirect

de-scattered image

coaxial example: de-scattering [Fuchs et al. 08]

shifted indirect + 1/16 light paths

Page 54: Primal-Dual Coding to Probe Light Transport

non-coaxial example: making 3D regions invisible

all light paths

Page 55: Primal-Dual Coding to Probe Light Transport

“privacy zone”

non-coaxial example: making 3D regions invisible

Page 56: Primal-Dual Coding to Probe Light Transport

non-coaxial example: making 3D regions invisible

Page 57: Primal-Dual Coding to Probe Light Transport

non-coaxial example: making 3D regions invisible

Page 58: Primal-Dual Coding to Probe Light Transport

non-coaxial example: making 3D regions invisible

Page 59: Primal-Dual Coding to Probe Light Transport

privacy zone

non-coaxial example: making 3D regions invisible

Page 60: Primal-Dual Coding to Probe Light Transport

non-coaxial example: color coding regions of space

color coded zones

Page 61: Primal-Dual Coding to Probe Light Transport

non-coaxial example: color coding regions of space

Page 62: Primal-Dual Coding to Probe Light Transport

non-coaxial example: color coding regions of space

Page 63: Primal-Dual Coding to Probe Light Transport

real-time PDC photographymatching 1440Hz DLP kits for illumination and attenuation

Page 64: Primal-Dual Coding to Probe Light Transport

real-time PDC photography

projector

matching 1440Hz DLP kits for illumination and attenuation

Page 65: Primal-Dual Coding to Probe Light Transport

real-time PDC photography

mask

camera

matching 1440Hz DLP kits for illumination and attenuation

DMD

Page 66: Primal-Dual Coding to Probe Light Transport
Page 67: Primal-Dual Coding to Probe Light Transport

additional details on primal-dual coding

non-negative primal-dual codesmany cases realized with strictly non-negative codesfor all others, subtract two photos computationally

codes robust to optical misalignmentsaccount for both spatial and temporal misalignments

one-shot versus multi-shotone-shot limited by projector display ratemulti-shot limited by camera read noise

Page 68: Primal-Dual Coding to Probe Light Transport

concluding remarks

primal-dual coding photographyproduces new types of photos governed by probing equation

combines coded illumination and coded exposure

guarantees optimality and convergence rate of codes

can be a see-through device

future worknew possibilities for optical applications

combine with existing computational photography techniques (image-based relighting,geometry acquisition, …)

Page 69: Primal-Dual Coding to Probe Light Transport

Matthew O’TooleUniversity of Toronto

Ramesh RaskarMIT Media Lab

Kyros KutulakosUniversity of Toronto

Primal-Dual Codingto Probe Light Transporthttp://www.dgp.toronto.edu/~motoole/primaldualcoding.html

Page 70: Primal-Dual Coding to Probe Light Transport

64 codes

16 codes 32 codes8 codes

128 codes 256 codes