Photometric Stereo
This project was fairly straightforward. The depth computation took the longest. I did not seem
to run into any of the not-a-number issues that some others did, although the sparse matrix destructor
does take some time in debug mode. Also, my numbers (lighting for example) are slightly off due to
what I'm assuming are rounding errors.
Overall the depth recovery algorithm works quite well, except at the edges. The surface is discontinuous
and we ignore pixels that have no neighbors, so actually the image is missing the entire outer 1-pixel
wide edge. One possible fix for this would be to attempt to fit a curve to this part of the surface and
read points off that curve. Of course, the likelihood that a pixel is actually on that curve will
decrease substantially with distance. When viewing the edges, one could also apply some kind of
gaussian to the normals to smooth the appearance.
Artifacts
Click to enlarge
Needle
Normals
Albedo
Surface
Surface
Surface w/albedo
Surface w/albedo
liebling -at- cs.washington.edu