  Photometric stereo is a method that seeks to reconstruct the normal vectors
of an object from a set of images of the object illuminated under different
light sources. While effective in some situations, classical photometric stereo
relies on a diffuse surface model that cannot handle objects with complex
reflectance patterns, and it is sensitive to non-idealities in the images. In
this work, we propose a novel approach to photometric stereo that relies on
dictionary learning to produce robust normal vector reconstructions.
Specifically, we develop two formulations for applying dictionary learning to
photometric stereo. We propose a model that applies dictionary learning to
regularize and reconstruct the normal vectors from the images under the classic
Lambertian reflectance model. We then generalize this model to explicitly model
non-Lambertian objects. We investigate both approaches through extensive
experimentation on synthetic and real benchmark datasets and observe
state-of-the-art performance compared to existing robust photometric stereo
methods.
