Patent ID: 8451322

Claim:
An apparatus for determining the gradients of the surface normals of an object, comprising: a receiving unit configured to receive data of three 2D images of said object, wherein each image is captured under illumination from a different direction; an establishing unit configured to establish which pixels of the image are in shadow such that there is only data available from two images from these pixels; a determining unit configured to determine a range of possible solutions for the gradient of the surface normal of a shadowed pixel using the data available for the two images; and a selecting unit configured to select a solution for the gradient using the integrability of the gradient field over an area of the object as a constraint and minimizing a cost function, wherein the determining unit is configured to determine the range of possible solutions by expressing the normal as the albedo scaled surface normal b: b=L −1 c wherein c is [c 1 c 2 c 3 ] and c 1 , c 2 and c 3 represent the respective intensity of the pixel measured in each of the three 2D images and L=[I 1 I 2 I 3 ] T where I 1 ,I 2 and I 3 are the vectors that represent the direction of the light source that illuminates the object for each of the three 2D images, wherein when the pixel in the i th 2D image is in shadow b is expressed as: b=L −1 D i c+μL −1 e i where e i is the i th column of the 3×3 identity matrix, D i is the identity matrix with a zero in the i th position in the diagonal and μ is a scalar parameter representing the value that c i would have if it were not in shadow; and projecting b into a 2D gradient space using the operator P[x 1 x 2 x 3 ]=x 1 /x 3 , x 2 /x 3 )=(p, q) such that for a point in shadow, the point (p, q) lies along the shadow line of the pixel defined as the line that joins P[L −1 D i c] and P[L −1 e i ].