1. A computer-implemented method, comprising: receiving a first image of an object at a computing device, the image comprising a plurality of pixels, wherein the plurality of pixels have a plurality of pixel values; for a designated pixel of the first image, the computing device: determining a first estimate of a bi-directional lighting function (BRDF) of the object for the designated pixel by applying a first lighting model, determining a second estimate of the BRDF of the object for the designated pixel by applying a second lighting model, wherein the first lighting model differs from the second lighting model, determining whether the first estimate of the BRDF of the object for the designated pixel is an outlier estimate, wherein the outlier estimate is based on a difference between the first estimate and a pixel value for the designated pixel, after determining that the first estimate of the BRDF of the object for the designated pixel is an outlier estimate: determining a third estimate of the BRDF of the object for the designated pixel based on the first estimate of the BRDF and the second estimate of the BRDF, determining a first shaded region of the object based on the outlier estimate, and storing at least the third estimate of the BRDF in lighting-storage data; receiving a second image of the object at the computing device, wherein the second image comprises a second plurality of pixels; determining a second shaded region of the object based on the second image using the computing device; determining whether a movement between the first image and the second image occurred based on the first shaded region and the second shaded region, wherein the movement is one or more of: a camera movement and a light-source movement and providing the lighting-storage data using the computing device.