Photometric stereo algorithms use a Lambertian reflectance model with a varying albedo field and involve the appearances of only one object. This paper extends photometric stereo algorithms to handle all the appearances of all the objects in a class, in particular the class of human faces. Similarity among all facial appearances motivates a rank constraint on the albedos and surface normals in the class. This leads to a factorization of an observation matrix that consists of exemplar images of di#erent objects under di#erent illuminations, which is beyond what can be analyzed using bilinear analysis. Bilinear analysis requires exemplar images of di#erent objects under same illuminations. To fully recover the class-specific albedos and surface normals, integrability and face symmetry constraints are employed. The proposed linear algorithm takes into account the e#ects of the varying albedo field by approximating the integrability terms using only the surface normals. As an application, face recognition under illumination variation is presented