Scanning with Shadows
|
|||||||||||||||
OverviewThe basic idea of this project is to wave a stick in front of a light source to cast a shadow on the object of interest, and figure out its 3D shape by observing the distortion of the shadow. More specifically, first calculate the "shadow plane" defined by the edge of shadow on the ground plane and the light source, and by intersecting this plane with the optical ray that passes through the shadow edge of a particular pixel on the image plane, the 3D coordinate of the corresponding 3D point can be recovered. This technique was developed by Jean-Yves Bouguet and Pietro Perona at Caltech. More information can be found on Jean-Yves's web page. Experimental SetupThe following two pictures show the experimental setup used in this project, each corresponding to the two different methods of the technique. The first picture shows the one-plane configuration where the shadow is cast on the object and a single ground plane, and it is necessary to calibrate the light source (which is located outside the top-left corner of the picture). The second picture shows the two-plane setup with one horizontal and one vertical plane, and here the light source need not be calibrated.
The Canon Optura PI camcorder was used to capture the scene. A few different strategies were tested with certain equipment. We experimented with a solid stick as well as a rope held tight by two people at each end to cast shadow. The light source (a regular incandescent light) was tested both as it is and blocked with a paper with a hole in the center to enhance the focus. Description of the MethodCamera and light calibrationFor camera calibration, we used the Camera Calibration Toolbox from Caltech (and a checkerboard). For light calibration, which is needed for one-plane method, we used the following approach:
Extracting structure from shadowThe following two figures illustrates the geometrical principle of the one-plane and two-plane method.
This part of the procedure can be summarized into three basic steps: 1. Shadow plane estimation
2. Shadow time estimation
3. Triangulation
Strengths and limitationsThe biggest advantage of this method is obviously the simplicity of the setup, so that one can perform it using equipment easily found at home. The possible drawbacks of this approach include:
ResultsBelow are the pictures of the object we used for scanning.
For single-plane triangulation, the user specifies a set of rows used by the program to localize the shadow edge. The triangulation result is shown in the picture to the right below. Noise in the video frames caused the inaccuracy in shadow edge time and our program could not find the correct shadow plane for ray intersection. Therefore there are a lot of "spikes" in the constructed scene.
Increasing the intensity threshold (used to determine which pixels can be used to localize the shadow edge) eliminates the spikes but then less pixels can be used to construct the scene (as shown in the picture below).
For two-plane triangulation, the user specifies a set of points along the intersection line of the horizontal and vertical planes in addition to the set of rows used for shadow edge localization. There are some missing stripes in the constructed scene (picture to the right below). Because we were not able to move the stick at a slow and constant speed, our program could not reconstruct locations where the shadow of the stick passed by too fast and resulted in those stripes.
For our program to work, brightness and high contrast are more important than sharp shadow edge. Dimmed and low contrast scenes recorded by the digital video camera contain much more noise which our program is not good at handling, so lot of spikes will appear in the constructed scene. We also tried objects with colored textures but the color decrease the contrast and we were not able to reconstruct the object with our program. Here is a zip file that contains the PLY files (for Scanalyze) kindly processed (dropping unneeded data and transformed) and provided by our instructors. April 2001
|
|||||||||||||||