Concave lamp made of shiny brushed metal


This object is challenging due to strong, high-frequency inter-reflections. Consequently, the depth map using our code ensemble (shown below) has a lot of residual errors. We propose techniques for detecting and correcting these residual errors by acquiring more images. These techniques significantly improve the reconstruction quality. See comparison at the bottom of the page.

Error detection using consistency check


We use a consistency check among the code ensemble for detecting errors (similar to the one used for handling general scenes). For a pixel, if no two codes agree, it is marked as an error pixel, as shown above (marked in red). Since no extra patterns are projected, the error detection stage places no overhead in terms of acquisition time.

Error correcting using selective illumination


In the subsequent iterations, the scene points which are already decoded correctly are not illuminated. This is achieved using an illumination mask. By progressively reducing the number of points getting illuminated (and hence, inter-reflections), the residual errors are reduced. This technique is based on the work of Xu et al., 2009.

Comparison of results


Conventional Gray Codes(11 images) Modulated phase shifting(162 images) Our code ensemble(42 images) After error detection and correction(82 images)