a method determines a direction of a principal light source in an image . an input image i is acquired of an object illuminated by a principal light source from an unknown direction . the input image includes an array of pixels , and each pixel has an intensity i . an intensity vector } is constructed from the intensities of the input image . an albedo map ρ is defined for the object . an albedo vector } is constructed from the albedo map . a shape matrix n is generated for the object . the albedo vector } is multiplied by the shape matrix n to obtain a shape - albedo matrix a . then , a direction s * to the principal light source is estimated from the intensity vector }, the albedo vector } and the shape - albedo matrix a according to an optimization s * = arg ⁢ ⁢ min s ⁢  i → - ρ → - as  .