IP Library › Granted Patent US 10,062,171
Granted Patent B2
US 10,062,171 · App. 15/022,266 · Granted Aug 28, 2018

3D reconstruction from photometric stereo with shadows

Inventors: Aaron Wetzler (Haifa, IL); Roberto Mecca (Haifa, IL); Ron Kimmel (Haifa, IL); Alfred M. Bruckstein (Haifa, IL)
Assignee: Technion Research & Development Foundation Limited
G06T7/0073G06T7/586H04N5/2256G06T2207/10068G06T2207/10152H04N2005/2255
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,062,171
App. No.
15/022,266
Granted
Aug 28, 2018
Kind
B2
Abstract

A method of processing a set of images of a scene is disclosed. The set is represented by a plurality of picture-elements defining an image plane, and the images are characterized by different light intensity spatial distributions but the same viewpoint relative to the scene. The method comprises: for each of at least some picture-elements, independently selecting a direction parallel to the image plane, constructing a weighted vector field based on the selected direction, and calculating a height of a surface in the scene perpendicular to the image plane based on the constructed weighted vector field. The method further comprises reconstructing a three-dimensional spatial representation of the surface based on the heights; and transmitting the spatial representation to a computer readable medium.

Claims (78)

1. A method of processing a set of endoscopic images of a scene, the set being represented by a plurality of picture-elements defining an image plane, the images being characterized by different light intensity spatial distributions but the same viewpoint relative to the scene, the method comprising:

obtaining a depth of a location in the scene corresponding to a seed picture-element;

for each picture-element of at least some picture-elements other than said seed picture-element, using a data processor for associating a depth to said picture-element based on a depth associated with a neighbor picture-element, independently selecting a direction parallel to the image plane, constructing a weighted vector field based on said selected direction and said associated depth, and calculating a height of a surface in the scene perpendicular to the image plane based on said constructed weighted vector field; and

using said data processor for reconstructing a three-dimensional spatial representation of said surface based on said heights.

2. The method according to claim 1 , wherein said weighted vector field is calculated according to a parameterization which is non-linear with respect to said depth.

3. The method according to claim 1 , wherein said weighted vector field is calculated according to a parameterization which is reciprocally proportional to said depth.

4. The method according to claim 1 , further comprising correcting an intensity value of said picture-element for light attenuation.

5. The method according to claim 4 , wherein said correction comprises calculating a light attenuation coefficient, and multiplying said intensity value by said light attenuation coefficient.

6. The method according to claim 1 , wherein said surface is partially obstructed in at least one image of the set, and wherein said selection of said direction comprises identifying a picture-element adjacent to an obstruction and selecting a tangential direction to said obstruction for said identified picture-element.

7. The method according to claim 1 , wherein said selection of said direction comprises selecting a direction pointing from said picture-element to a neighbor picture-element that has not yet been visited by the method.

8. The method according to claim wherein said constructing said weighted vector field, comprising:

calculating vectors for pairs of images of said set, thereby providing a set of candidate vectors;

selecting from said set of candidate vectors a pair of vectors that are more orthogonal to each other than at least one other pair of candidate vectors; and

calculating said weighted vector field based on said selected direction and based on said selected pair of vectors.

9. The method according to claim 1 , wherein said picture-element is selected dynamically along an expanding wavefront.

10. The method according to claim 1 , wherein said calculation of said height is according to a forward numerical scheme.

11. The method according to claim 1 , further comprising constructing a three-dimensional map of the scene based on said spatial representation.

12. A method of imaging, comprising:

using an endoscope for successively illuminating a scene from a plurality of positions;

acquiring, from the same viewpoint, at least one image of said scene at each illumination of the surface, thereby providing a set of images of a scene; and

executing the method according to claim 1 .

13. A computer software product f r image processing, the computer software product comprising a non-volatile memory medium readable by a data processor, said memory medium storing program instructions, which, when read by said data processor, cause the data processor to receive a set of execute the method according to claim 1 .

14. A system for imaging, comprising:

an endoscope mounted with an illumination system configured for illuminating a scene from a plurality of positions, and an image sensor for acquiring, from the same viewpoint, at least one image of said scene at each illumination of the surface, thereby providing a set of images of a scene; and

a data processor having an electronic circuit and a non-volatile memory medium readable by said circuit, wherein said memory medium stores program instructions which, when read by said circuit, cause said circuit:

to receive said set of images;

to obtain a depth of a location in the scene corresponding to a seed picture, element;

to associate a depth to each picture-element of at least some picture-elements other than said seed picture-element, based on a depth associated with a neighbor picture-element;

to independently select a direction parallel to the image plane;

to construct a weighted vector field based on said selected direction and said associated depth;

to calculate a height of a surface in the scene perpendicular to the image plane based on said constructed weighted vector field; and

to reconstruct a three-dimensional spatial representation of said surface based on said heights.

15. A method of processing a set of images of a scene, the set being represented by a plurality of picture-elements defining an image plane, the images being characterized by different light intensity spatial distributions but the same viewpoint relative to the scene, the method comprising:

for each of at least some picture-elements, using a data processor for independently selecting a direction parallel to the image plane, constructing a weighted vector field based on said selected direction, and calculating a height of a surface in the scene perpendicular to the image plane based on said constructed weighted vector field; and

using said data processor for reconstructing a three-dimensional spatial representation of said surface based on said heights;

wherein said surface is partially obstructed in at least one image of the set, and wherein said selection of said direction comprises identifying a picture-element adjacent to an obstruction and selecting a tangential direction to said obstruction for said identified picture-element.

16. The method according to claim 15 , wherein said selection of said direction comprises selecting a direction pointing from said picture-element to a neighbor picture-element that has not yet been visited by the method.

17. The method according to claim 15 , wherein said constructing said weighted vector field, comprising:

calculating vectors for pairs of images of said set, thereby providing a set of candidate vectors;

selecting from said set of candidate vectors a pair of vectors that are more orthogonal to each other than at least one other pair of candidate vectors; and

calculating said weighted vector field based on said selected direction and based on said selected pair of vectors.

18. The method according to claim 15 , wherein said picture-element is selected dynamically along an expanding wavefront.

19. The method according to claim 15 , wherein said calculation of said height is according to a forward numerical scheme.

20. The method according to claim 15 , further comprising constructing a three-dimensional map of the scene based on said spatial representation.

21. The method according to claim 15 , further comprising comparing said three-dimensional spatial representation to a reference spatial representation, and identifying said surface based on said comparison.

22. The method according to claim 21 , wherein said surface is a surface of a face of an individual.

23. A method of imaging, comprising:

successively illuminating a scene from a plurality of positions;

acquiring, from the same viewpoint, at least one image of said scene at each illumination of the surface, thereby providing a set of images of a scene; and

executing the method according to claim 15 .

24. The method according to claim 15 , wherein said set of images is a set of scenery images.

25. The method according to claim 15 , wherein said set of images is a set of endoscopic images.

26. A method of inspecting a surface of an object, comprising imaging the surface of the object by the method of claim 23 , and analyzing said three-dimensional spatial representation thereby inspecting the surface of the object.

27. A computer software product for image processing, the computer software product comprising a non-volatile memory medium readable by a data processor, said memory medium storing program instructions, which, when read by said data processor, cause the data processor to receive a set of images and execute the method according to claim 15 .

28. A system for imaging, comprising:

an illumination system for illuminating a scene from a plurality of positions;

an image sensor for acquiring, from the same viewpoint, at least one image of said scene at each illumination of the surface, thereby providing a set of images of a scene; and

a data processor having an electronic circuit and a non-volatile memory medium readable by said circuit, wherein said memory medium stores program instructions which, when read by said circuit, cause said circuit to:

receive said set of images;

to independently select a direction parallel to the image plane;

to construct a weighted vector field based on said selected direction;

to calculate a height of a surface in the scene perpendicular to the image plane based on said constructed weighted vector field; and

to reconstruct a three-dimensional spatial representation of said surface based on said heights;

wherein said picture-element is selected dynamically along an expanding wavefront.

29. The system according to claim 28 , wherein said illumination system and said image sensor are mounted on an endoscope.

30. A portable device, comprising a system for imaging, which is the system of claim 28 .

31. The portable device of claim 30 , being selected from the group consisting of a cellular phone, a smartphone, a tablet device, a mobile digital camera, a wearable camera, a portable media player, a portable gaming device, a portable digital assistant device, and a portable navigation device.

32. A method of processing a set of images of a scene, the set being represented by a plurality of picture-elements defining an image plane, the images being characterized by different light intensity spatial distributions but the same viewpoint relative to the scene, the method comprising:

for each of at least some picture-elements, using a data processor for independently selecting a direction parallel to the image plane, constructing a weighted vector field based on said selected direction, and calculating a height of a surface in the scene perpendicular to the image plane based on said constructed weighted vector field; and

using said data processor for reconstructing a three-dimensional spatial representation of said surface based on said heights;

wherein said constructing said weighted vector field, comprising:

calculating vectors for pairs of images of said set, thereby providing a set of candidate vectors;

selecting from said set of candidate vectors a pair of vectors that are more orthogonal to each other than at least one other pair of candidate vectors; and

calculating said weighted vector field based on said selected direction and based on said selected pair of vectors.

33. A method of processing a set of images of a scene, the set being represented by a plurality of picture-elements defining an image plane, the images being characterized by different light intensity spatial distributions but the same viewpoint relative to the scene, the method comprising:

for each of at least some picture-elements, using a data processor for independently selecting a direction parallel to the image plane, constructing a weighted vector field based on said selected direction, and calculating a height of a surface in the scene perpendicular to the image plane based on said constructed weighted vector field; and

using said data processor for reconstructing a three-dimensional spatial representation of said surface based on said heights;

wherein said picture-element is selected dynamically along an expanding wavefront.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2016
From: WETZLER, AARON; MECCA, ROBERTO; KIMMEL, RON; BRUCKSTEIN, ALFRED M.
To: TECHNION RESEARCH & DEVELOPMENT FOUNDATION LIMITED
Reel/Frame 038809/0558 →
Continuity (2)
Provisional Application 61878401 · Sep 16, 2013
Related Publication 20160284094A1 · Sep 29, 2016