Conventional Gray Codes
(11 images)

Concave lamp made of shiny brushed metal

Error detection using consistency check

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.
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

After error detection and correction
(122 images)

Our code ensemble
(42 images)

Modulated phase shifting
(162 images)