Shadow Cameras: Reciprocal views
from Illumination Masks
|
|
Scene appearance from the
point of view of a light source is called a reciprocal or dual view. Since
there exists a large diversity in illumination, these virtual views may be
non-perspective and multi-viewpoint in nature. In this paper, we
demonstrate the use of occluding masks to recover these dual views, which
we term shadow cameras. We first show how to render a single reciprocal
scene view by swapping the camera and light source positions. We then
extend this technique for multiple views and build a virtual shadow camera
array. We also capture non-perspective views such as orthographic,
cross-slit and a pushbroom variant, while introducing novel applications
such as converting between camera projections and removing catadioptric
distortions. Finally, since a shadow camera is artificial, we can manipulate
any of its intrinsic parameters, such as camera skew, to create perspective
distortions.
|
Publications
"Shadow
cameras: Reciprocal Views from Illumination Masks"
S. J. Koppal and S.G Narasimhan
Accepted to the International
Conference on Computer Vision (ICCV)
October, 2009.
[PDF]
|
Pictures
|
|
Virtual perspective view using linear masks: In (I) we show a ray diagram for
a perspective shadow camera. I(a) and I(b) show two translating linear
masks occluding P at times i and j respectively. The intersection of the
shadows associated with the two masks is a virtual ray, shown at I(c).
This shadow ray passes through the light source, and is associated with a
pixel (i,j) in a virtual image at I(d). In (II) we show a non-convex
plastic object. Using linear masks we obtain the input images, shown at
(III) which create a dual view in (IV). Note the foreshortening effects
of looking down at the object (shortened legs, extended scales) and that
specularity locations do not change. Also note that shadows in (II) are
occluded in (IV).
|
|
|
Virtual camera array from multiple linear masks: In (I) we show a
grid mask with six intersections. We collect data using the horizontal
and vertical masks separately, as shown in (II). We then place light
sources at the six intersections of the mask, capturing six images. We
swap these images using Helmholtz reciprocity and the minima locations of
the mask shadows. The result is a virtual camera array, and in (III) and
(IV) we show the two rows of the array. Note the images are stereo
rectified both horizontal and vertically.
|
|
|
Non-perspective and multi-view cameras: In (II) we show a
cross-slit view created when the motion vectors of the linear masks do
not intersect and the light source is moved between experiments. We
demonstrate the distortion effects in (III). In (IV) we create a
pushbroom-like view using the shadow from a single moving mask. Note the
octopus in (V) appears illuminated by two light sources and each tentacle
has two shadows.
|
|
|
Unwarping refractive distortions: In (I) we show how
the dual view of an object looking through refractive elements can be warp-free.
This occurs when the light-source illuminates the object without being
occluded by the refractive elements. In (II) we show an image of planar
poster through two thick glass objects. (III) shows the dual view, which
has undistorted,
readable text.
|
|
|
Controlling intrinsic parameters
of shadow cameras: Since shadow cameras are virtual, we have control over
the locations of the pixels in space. In (I) we show a dual view created
by two linear masks moving with uniform motion at 90 degrees to each
other. Varying the speed of these two perpendicular masks or adding a
third linear mask that is not perpendicular to either of the two results
in skewed and stretched images as seen in (II).
|
|
|