BookNotesSlidesP-sets Syllabusdraft · v0.2.49.1
◀▲⌂▶
💬Comments welcome. To leave a note, select any text and click the note / highlight button that pops up — or open the panel with the tab at the top-right (‹). Notes are visible only inside our private review group.

35.7 Dual photography⧉

A camera and a projector are, optically, the same device run in opposite directions. A camera collects light from the scene and sorts it onto a grid of sensor pixels; a projector emits light from a grid of pixels out onto the scene. Point a projector and a camera at the same scene and you have a system whose input is a projector image and whose output is a camera image, and because light, between them, simply propagates through the scene, the relationship is linear for a fixed scene and linear, calibrated source and detector responses. Dual photography (Sen, Chen, Garg, Marschner, Horowitz, Levoy and Lensch 2005) exploits that linearity, plus one physical symmetry, to do something that sounds impossible: produce the photograph the scene would look like from where the projector stands, as if lit by a lamp at the camera, without ever putting a camera at the projector's location.

35.7.1 Light transport as a matrix⧉

Write the projector's pixels as a vector $\mathbf p$ (how bright each projector pixel is) and the camera's pixels as a vector $\mathbf c$ (how bright each sensor pixel ends up). Because propagation is linear, there is a matrix $T$, the light-transport matrix, relating them:

$$ \mathbf c = T\,\mathbf p. $$

The entry $T_{cp}$ says how much light from projector pixel $p$ ends up at camera pixel $c$, summed over every path it could take through the scene, including the direct bounce and all the interreflections, scattering, and caustics in between. $T$ is enormous (camera-pixels by projector-pixels) but it is a perfectly well-defined object, and in principle you can measure it: light one projector pixel at a time and record the camera image, and you have read off one column of $T$ per projector pixel. (In practice Sen et al. use cleverer multiplexed patterns and adaptive schemes, exploiting that most of $T$ is near-zero, to acquire it without millions of single-pixel shots, but conceptually the point is simple: measure the transport matrix.)

35.7.2 Helmholtz reciprocity: transpose the matrix⧉

The reason to measure the matrix is reciprocity. Helmholtz reciprocity states that light paths are reversible: the transport along a path is reciprocal when source and receiver directions are exchanged with matching radiometric normalization. Raw fractions between finite areas need not be equal without the corresponding area, solid-angle, and sensitivity factors. Ordinary reciprocal reflection obeys this symmetry (the BRDF is reciprocal), and so, therefore, does the entire transport through the scene. In matrix terms this is a compact statement: the transport matrix for the reversed system, with projector and camera swapping roles, is the transpose $T^{\!\top}$ when the source and receiver basis functions and throughput have been normalized consistently. Fluorescence, nonreciprocal media, or a changing scene require a different model.

So consider the dual system, in which the projector is now a virtual camera and the camera is now a virtual light source sitting where the real camera was. Its image $\mathbf c'$ (an image at the projector's pixels) under a virtual illumination $\mathbf p'$ (light emitted from the camera's pixels) is

$$ \mathbf c' = T^{\!\top}\mathbf p'. $$

We already have $T$; transposing it is free. So from a single measured transport matrix we can render the scene from the projector's point of view, illuminated from the camera's point of view. It is a photograph from a camera that physically never existed at that location, complete with the correct shadows and shading that a lamp at the real camera would have produced (Figure 35.7.1). That is dual photography: the real camera's job was only to measure transport; the picture we produce is the dual one, source and sensor exchanged. It can reveal things the real camera could not see directly. For example, parts of the scene hidden from the camera but visible to the projector show up in the dual image, if measurable indirect paths connect those surfaces to the camera. Reciprocity cannot supply a transport coefficient that was never recorded; under direct transport alone, a surface hidden from the real camera is also unlit by the corresponding virtual source.

fig-dual-photography-reciprocity
Figure 35.7.1. Dual photography via Helmholtz reciprocity (Sen et al. 2005). Primal: a projector illuminates the scene and a camera observes it; the light-transport matrix $T$ maps projector pixels to camera pixels, $\mathbf c = T\mathbf p$, with $T_{cp}$ the total light (all paths) from projector pixel $p$ to camera pixel $c$. The matrix: $T$ is acquired by probing projector pixels and recording camera images. Dual: because light paths are reversible (reciprocity), the transposed matrix $T^{\!\top}$ gives the image the scene would produce from the projector's viewpoint, lit from the camera's position, a photograph from a camera that was never there, $\mathbf c' = T^{\!\top}\mathbf p'$. The transpose is free once $T$ is measured.
fig-dual-photography-1
Figure 35.7.2. The dual-photography setup and result: a projector lights the scene and a camera measures the light-transport matrix $T$; transposing $T$ (Helmholtz reciprocity) synthesizes the photograph the scene would produce from the projector's viewpoint, lit from the camera's position Sen et al. 2005 (Dual Photography).
Video 35.7.1. Dual photography: measuring the projector→camera light-transport matrix and transposing it to synthesize the scene as seen from the projector's viewpoint Sen et al. 2005 (Dual Photography).

35.7.3 The unsettling reach: privacy and seeing the unseen⧉

Dual photography quietly dissolves the assumption that you must have a camera at a viewpoint to obtain an image from that viewpoint. Anything that emits or steers light in a controlled way can stand in for the camera's eye, and that has real consequences.

The connecting move for the part is the swap. Where the light stage (Chapter 35.5, Light domes) controlled directional light to measure a reflectance field, and direct/global separation (Chapter 35.4, Separation of Direct and Global Illumination) patterned light to split transport, dual photography measures the full transport matrix and then exchanges the roles of source and sensor. It is the most complete expression here of "the light is a degree of freedom," because once $T$ is known, projector and camera are interchangeable and the scene can be re-photographed from the measured source/receiver positions under illumination representable by those sampled bases.