Computer Vision (CSEP 576), Winter 2005

Project 3:  Photometric Stereo

Uri Finkel


 

The Buddha:

 

   

RGB-encoded Normals            Normals Needle Map               Albedo Map

 

 

 

                                   

Reconstructed surface #1 without albedos         Reconstructed surface #1 with albedos         

 

 

  

                            

Reconstructed surface #2 without albedos          Reconstructed surface #2 with albedos

 

 

 

The Horse:

 

  

RGB-encoded Normals                                     Normals Needle Map                                        Albedo Map

 

 

             

Reconstructed surface #1 without albedos                   Reconstructed surface #1 with albedos

 

        

Reconstructed surface #2 without albedos                    Reconstructed surface #2 with albedos

 

The Owl:

    

RGB-encoded Normals                                   Normals Needle Map                                       Albedo Map

 

     

Reconstructed surface #1 without albedos        Reconstructed surface #1 with albedos

 

 

 

      

Reconstructed surface #2 without albedos        Reconstructed surface #2 with albedos

 

 

Discussion of the results:

 

The resulting executable behaves identically to the sample executable.

This solution performs less-than-optimally when the given input is not so well prepared. The result will not be optimal when the surface is reflective. The solution does a fairly good job of skipping over changes in color and ignoring shadows, it still finds depth changes in places where there should be none. The solution struggles when there are quick depth-jumps in the image. For example, in the owl image, part of the beak covers the eye... and in the horse image, the legs overlap, both creating skewed results.

The Buddha model - the resultant model has a very distinct 3D representation. There were few shadows or consistently dark areas so the surface is pretty smooth.

The Horse model – the resultant model is less interesting perspectives because the horse's 3D shape is relatively two dimensional. This is due to the fact that the top and bottom curve of the horse's body are approaching a flat line.

The owl model – the resultant model has a very distinct 3D representation. However, in the left eye there are wild spikes coming out. This is due to the fact that this region is a smooth black surface that got a bit of highlight in the original images. These highlights cause a misinterpretation of the normal at that surface, and thus produced the spike effect. An optional way to mitigate this effect without a designing more complicated model might be to look in local windows and see if there are normals above or below a certain standard deviation. If so, remove them and make them similar to their neighbors.