Caltech
Center for Neuromorphic Systems Engineering

Home
Research
News
People

[back]

3D Reconstruction of Specular Surfaces
Silvio Savarese, Min Chen and Pietro Perona

Abstract. Specular reflections carry valuable information on surface shapes. A curved mirror surface produces "distorted" images of the surrounding world. For example a straight line reflected by a curved mirror is in general a curve. It is clear that such distortions are systematically related to the shape of the surface. Our goal is to explore the geometry linking the shape of a curved mirror surface to the distortions produced on a scene it reflects. To this effect, we assume a simple known (calibrated) scene composed of lines passing through a point. We demonstrate that local shape geometry of the surface may be recovered from local deformation of the reflected images of at least three intersecting lines.

Figure 1. M.C. Escher (1935). Still Life with Spherical Mirror

Introduction and motivation. One of the main tasks of a visual system is computing the shape of the objects. A number of cues, notably stereoscopic disparity, texture gradient, motion parallax, contours and shading, have been shown to carry valuable information on surface shape, and have been studied extensively both computationally and psychophysically. The study of shading has been mostly restricted to the Lambertian case. Specularities have been mostly ignored with the significant exception of the analysis of specular highlights. We are interested in exploring the possibility of recovering information on the shape of a surface from the specular component of its reflectance function. Since we wish to ignore the contributions of shading, we will study surfaces that are perfect mirrors. A curved mirror surface produces `distorted' images of the surrounding world (see Fig.1). For example, the image of a straight line reflected by a curved mirror is, in general, a curve. It is clear that such distortions are systematically related to the shape of the surface. Is it possible to invert this map, and recover the shape of the mirror from the images it reflects? Our goal is to explore the geometry linking the shape of a curved mirror surface to the distortions produced on a scene it reflects. To this effect, we assume a simple calibrated scene composed of lines passing through a point. We demonstrate that local information about the geometry of the surface may be recovered from local deformation of the reflected images of at least three intersecting lines. We view our analysis as a promising start in the quest of computing the global shape of specular surfaces under fairly general conditions. The case of an uncalibrated world appears much more challenging and will require most certainly the integration of additional cues and some form of prior knowledge on the likely statistics of the scene geometry.

Method. We assume a known (calibrated) scene composed of one point p and at least 3 lines through it (see Fig. 2). The point and the lines are reflected off the unknown mirror surface into the camera image plane of a known (calibrated) camera, yielding a deformed version of scene around the intersecting point q. First, we have studied this mapping and found an analytical expression which describes the deforming local behavior of the mirror surface acting on the scene around p. Then, we have studied the inverse problem and derived local surface shape as function of the measurements. By using the orientations of at least 3 reflected curves in the image plane (see for instance red dashed lines in Fig. 2) as a measurement, we have showed that it is possible to recover i) mirror surface position, i.e. the distance of the reflected point r from the camera center c, ii) surface orientation, i.e. the normal of the surface at r, iii) surface shape up to second order (up to one unknown scale parameter for generic surfaces).

Figure 2. Reconstruction of a planar mirror.

Experimental Results. We validated our theoretical results with a set of experiments with real mirror surfaces. In our experiments, a Canon G1 digital camera, with image resolution of 2048x1536 pixels, was used. The surface was typically placed at a distance of 30-50 cm from the camera. The pattern -- a set of planar triplets of intersecting lines -- is formed by a tessellation of black and white equilateral triangles. For instance, 3 white dashed edges as in Fig. 3 form a triplet of lines. The camera and the ground plane (i.e. the plane where the pattern lies) were calibrated by means of standard calibration techniques. We validated the method with four mirror surfaces: a plane (Fig. 3), a sphere (Fig. 4), a cylinder (Fig. 5) and a sauce pan's lid (Fig. 6). Where we had a ground truth to compare with, we qualitatively tested the reconstruction results. As for the plane, depth and normal reconstruction errors are about 0.2% and less than 0.1% respectively. As for the sphere, the curvature reconstruction error is about 2%.

Figure 3. Reconstruction of a planar mirror. Upper left panel: a planar mirror placed orthogonal with respect to the ground plane. A triplet of pattern lines and the corresponding reflected triplet are highlighted with dashed lines. We calculated the ground truth on the position and orientation of the mirror by attaching a calibrated pattern to its surface. We then reconstructed 15 surface points and normals. The resulting mean position error (computed as average distance from the reconstructed points to the ground truth plane) is 0.048cm with a standard deviation of 0.115 cm. The mean normal error (computed as the angle between ground truth plane normal and estimated normal) is 1.5x10-4 rad with a standard deviation of 6.5x10-4 rad. The reconstructed region is located at about 50 cm to the camera. Upper right: 3/4 view of the reconstruction. For each reconstructed point, the normal and the tangent plane are also plotted. Lower left: top view. Lower right: side view.

Figure 4. Reconstruction of the sphere. Left panel: a spherical mirror with radius r = 6.5 cm, placed on the ground plane. We reconstructed the surface at the points highlighted with white circles. For each surface surface point we estimated the sphere's radius. The mean reconstructed radius is 6.83 cm and the standard deviation is 0.7 cm. The reconstructed region is located at a distance about 30 cm to the camera. Right panel: top view of the reconstruction.

Figure 5. Reconstruction of the cylinder. Left panel: a cylinder placed with the main axis almost orthogonal to the ground plane. We reconstructed the surface at the points highlighted with white circles. Right: top view of the reconstruction.

Figure 6. Reconstruction of the sauce pan's lid. Left panel: a sauce pan's lid placed with the handle touching the ground plane. We reconstructed the surface at the points highlighted with white circles. Notice that one point belongs to the handle of the lid. Right panel: side view of the reconstruction. Notice how the reconstructed point on the handle sticks out from the body of the lid.

Publications.
[1] S. Savarese and P. Perona, "Local Analysis for 3D Reconstruction of Specular Surfaces", in Proc. of IEEE Conference on Computer Vision and Pattern Recognition, Kawa'i, USA, December 2001.

[2] S. Savarese and P. Perona, "Local Analysis for 3D Reconstruction of Specular Surfaces -- part II", in Proc. of 7th European Conference of Computer Vision, Denmark, May 2002.
[3] S. Savarese, M. Chen and P. Perona, "Second Order Local Analysis for 3D Reconstruction of Specular Surfaces", in Proc of 1st International Symposium on 3D Data Processing, Visualization and Transmission, IEEE Press, 2002

 


top