Helmholtz Stereopsis
The project presentation slides can be found here.
The problem of surface reconstruction from a collection of images has been well-studied in the field of computer vision. Most of the algorithms that try to solve the problem rely on some strong assumptions about the scene at hand. For example, conventional stereo assumes that there is enough texture in the scene to find correspondences and photometric stereo assumes that all the objects in the scene are lambertian. These assumptions limit their usgae in many practical scenarios.
Helmholtz Steropsis is an algorithm for surface reconstruction that requires no aprioi knowledge of the underlying reflectance properties of the scene. Thereby, enabling surface reconstruction for arbitrary materials with unknown BRDFs (bidirectional reflectance distribution function). This method exploits the symmetry of surface reflectance.
In this section, we briefly describe the Helmholtz Stereopsis algorithm.
Helmholtz Steropsis is an active method for surface reconstruction. The camera and source positions are manipulated in order to acquire different images of the scene. This method uses the Helmholtz reciprocity constraint, which states that, for any two directions vi and vr , BRDF (vi , vr) = BRDF (vr , vi). This means that the BRDF value does not change on interchanging the lighting and viewing directions. To exploit this property, reciprocal pairs of images are captured.
Reciprocal pair: A pair of images are captured by interchanging the camera and source position
Image-1: Camera is at Or , and the scene point is lit by the source at Oi
Image-2: Camera is at Oi , and the scene point is lit by the source at Or
The algorithm works as follows:
The implementation can be divided into three main parts: (1) Scene Generation (2) Image Generation and (3) Helmholtz Stereopsis
This section summarizes the experiments we ran on our implementation of Helmholtz Stereopsis.
The images below are the reciprocal image pairs. These images along with the camera/source positions serve as inputs to the algorithm. The top left image is treated as the base image. This is the reference view point for which the depth map and normal map are estimated.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Reciprocal pair 1 | Reciprocal pair 2 | Reciprocal pair 3 |
Observe that the estimated depth map is noisy. This is mainly because the constraints which are exploited for reconstruction are only necessary but not sufficient. We elaborate more on this point in section 5. The normals have been color coded so that they can be represented as a RGB image. Each component (x, y, z) of the estimated normal is mapped from (-1, 1) to (0, 255). Though not perfect, the estimated normals are less noisy than the estimated depths. Hence, rather than using the estimated depth values we instead recover a smoother depth map by integrating the estimated normals (Frankot-Chellapa [3]). In all the following sections, we only show and compare the estimated normal maps.
![]() |
![]() |
![]() |
Estimated depth map | Estimated normal map | Depth from normals |
As was stated previously, the Helmholtz constraints are only necessary but not sufficient. Implying, that it is possible for wrong depth values to also satisfy the constraints. In order to ameliorate this, one can capture and use more than 3 reciprocal pairs. The probablilty that a wrong depth value will satisfy all the constraints, decreases with the number of constraints. The estimated normal maps below illustrate the advantage of using more reciprocal pairs. This is more clearly depicted in the scenario when the object of interest is a sphere. In all the following sections, results are derived using 20 reciprocal image pairs.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Using 3 pairs | True normal map | Using 20 pairs |
We used OpenGL to capture reciprocal image pairs. The primary reason for using OpenGL was so that we could model objects with arbitrary BRDFs. Below, we show the result of using real-life materials like plastic, gold and rubber. Notice that the method fails to estimate normals in saturated regions. We believe that this is only because our system is highly symmetric (object is spherical and camera/source positions are circular). The method should be robust to object points being saturated in a few reciprocal pairs. A thorough validation of this stays as future work.
![]() |
![]() |
Plastic cube | Estimated normal map |
![]() |
![]() |
Gold sphere | Estimated normal map |
![]() |
![]() |
Rubber sphere | Estimated normal map |
Till now we have only considered one object in the scene. Now we consider the scenario where we have multiple objects in the scene.
![]() |
![]() |
Reciprocal pair 1 - Image 1 | Reciprocal pair 1 - Image 2 |
![]() |
![]() |
True normal map | Estimated normal map |
The reconstruction is of fairly high quality except for the region where the cube is overlapping the sphere. This can be attributed to occlusions in the captured reciprocal images.
We used noise free images in our expermiments. Still, we observed that the results were not perfect. This can be attributed to the following two reasons:
Depth ambiguity: we use the ratio of the 2nd and 3rd singular values of the W matrix as a measure of how close it is to being rank 2 (in practice due to noise in the acquired images it is not possible to exactly get a rank 2 matrix). Larger the ratio, higher the probability of the matrix being rank 2. The figure below illustrates that in the continous scenario (no noise + no discretization) the ratio "peaks" for multiple depth values. The presence of these inherent depth ambiguities call for stronger constraints.
Discretization errors: mapping a continous scene to a 2D pixelated image (spatial discretization) introduces errors in the constructed W matrix.
The rank measure is highly sensitive and deviates even if there are small errors. This along with the time consuming acquisition process, limits the use of Helmholtz Stereopsis in a practical scenario. However, the ability of the method to recover surface normals of arbitrary materials with unkown BRDFs far outweigh these limitations.