Recently, the use of three-dimensional (3-D) images is becoming increasingly popular due to the increased demand for applications utilizing 3-D features of an image. In line with that trend, determination of 3-D data from images is of central importance, e.g., in the fields of image reconstruction, machine vision, and the like. Machine vision has a wide range of potential applications including but not limited to three-dimensional map building data visualization and robot pick-and-place operations.
Typical techniques for implementing 3-D vision include geometric stereo and photometric stereo. In geometric stereo, images of an object are captured by employing, e.g., two cameras disposed at different positions, and measuring disparity between the corresponding points of the two images, thereby building a depth map of the object. Meanwhile, photometric stereo involves using a camera to take pictures of an object by varying the position of a light source. The photometric stereo involves processing the pictures to obtain features of the object such as slope, albedo at each pixel of the picture of the object to reconstruct an image, thereby implementing a 3-D vision of the object. Photometric stereo can have varying results depending on the surface characteristics of the object.
Upon comparing the two methods, it is generally known that the geometric stereo method outperforms the photometric stereo method for an object having a complex and non-continuous surface (i.e., having a high texture component), while the photometric stereo method tends to be superior to the geometrical stereo method for an object having a relatively simple surface whose reflective characteristics are lambertian (i.e., a surface that may comply with a diffusion reflection model). Such limitation, i.e., the performance of the above two methods is dependent on certain qualities (e.g., surface characteristics) of an object, is the fundamental problem when the photometric or geometric stereo method is used.