The present invention relates generally to methods and systems for mapping of three-dimensional (3D) objects, and specifically to optical ranging using speckle patterns.
When a coherent beam of light passes through a diffuser and is projected onto a surface, a primary speckle pattern can be observed on the surface. The primary speckle is caused by interference among different components of the diffused beam. The term “primary speckle” is used in this sense in the present patent application and in the claims, in distinction to secondary speckle, which is caused by diffuse reflection of coherent light from the rough surface of an object
Hart describes the use of a speckle pattern in a high-speed 3D imaging system, in Taiwanese Patent TW 527528 B and in U.S. patent application Ser. No. 09/616,606, whose disclosures are incorporated herein by reference. A speckle pattern is projected onto an object, and images of the resulting pattern are acquired from multiple angles. The images are locally cross-correlated using an image correlation technique, and the surface is resolved by using relative camera position information to calculate the three-dimensional coordinates of each locally-correlated region.
Another speckle-based 3D imaging technique is described by Hunter et al., in U.S. Pat. No. 6,101,269, whose disclosure is incorporated herein by reference. A random speckle pattern is projected upon a 3D surface and is imaged by a plurality of cameras to obtain a plurality of two-dimensional digital images. The two-dimensional images are processed to obtain a three-dimensional characterization of the surface.
Methods of speckle-based 3D mapping that are known in the art generally rely on computation of the cross-correlation between an image of a speckle pattern that is projected onto an object and an image of the same speckle pattern on a reference surface. The locations of local cross-correlation peaks indicate the displacement of points on the object surface relative to the reference surface. These methods thus require that the speckle pattern be relatively invariant over a range of distances from the illumination source, and they are capable of effective 3D mapping only within this range, in which sufficiently strong cross-correlation peaks can be found.
Embodiments of the present invention, on the other hand, use the decorrelation of the speckle pattern with distance from the source to perform distance ranging. Reference images of the speckle pattern are captured on reference surfaces at a range of different distances from the illumination source. The image of the speckle pattern that is projected onto an object is then compared with the different reference images in order to identify the reference pattern that correlates most strongly with the speckle pattern on the object, and thus to estimate the location of the object within the range. Local cross-correlation between the speckle pattern on the object and the identified reference pattern may then be used to perform accurate 3D mapping of the object surface if desired.
There is therefore provided, in accordance with an embodiment of the present invention, a method for mapping, including:
projecting a primary speckle pattern from an illumination assembly into a target region;
capturing a plurality of reference images of the primary speckle pattern at different, respective distances from the illumination assembly in the target region;
capturing a test image of the primary speckle pattern that is projected onto a surface of an object in the target region;
comparing the test image to the reference images so as to identify a reference image in which the primary speckle pattern most closely matches the primary speckle pattern in the test image; and
estimating a location of the object based on a distance of the identified reference image from the illumination assembly.
In a disclosed embodiment, the method includes finding respective offsets between the primary speckle pattern on multiple areas of the object in the test image and the primary speckle pattern in the identified reference image so as to derive a three-dimensional (3D) map of the object.
Typically, at least some of the different, respective distances are separated axially by more than an axial length of the primary speckle pattern at the respective distances.
In some embodiments, comparing the test image to the reference images includes computing a respective cross-correlation between the test image and each of at least some of the reference images, and selecting the reference image having the greatest respective cross-correlation with the test image.
In a disclosed embodiment, capturing the test image includes capturing a succession of test images while the object is moving, and estimating the location include tracking a movement of the object in the target region, wherein the object is a part of a human body, and wherein tracking the movement includes identifying a gesture made by the part of the human body and providing an input to a computer application responsively to the gesture.
There is also provided, in accordance with an embodiment of the present invention, apparatus for mapping, including:
an illumination assembly, which is configured to project a primary speckle pattern into a target region;
an imaging assembly, which is configured to capture a plurality of reference images of the primary speckle pattern at different, respective distances from the illumination assembly in the target region, and to capture a test image of the primary speckle pattern that is projected onto a surface of an object in the target region; and
an image processor, which is coupled to compare the test image to the reference images so as to identify a reference image in which the primary speckle pattern most closely matches the primary speckle pattern in the test image, and to estimate a location of the object based on a distance of the identified reference image from the illumination assembly.
There is additionally provided, in accordance with an embodiment of the present invention, a computer software product, including a computer-readable medium in which program instructions are stored, which instructions, when read by a computer, cause the computer to receive a plurality of reference images of the primary speckle pattern that is projected into a target region by an illumination assembly, wherein the reference images are captured at different, respective distances from the illumination assembly in the target region, and to receive a test image of the primary speckle pattern that is projected onto a surface of an object in the target region, and to compare the test image to the reference images so as to identify a reference image in which the primary speckle pattern most closely matches the primary speckle pattern in the test image, and to estimate a location of the object based on a distance of the identified reference image from the illumination assembly.
The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which:
An image processor 24 processes image data generated by device 22 in order to determine the location of object 28 and to perform 3D ranging and mapping of the object. The term “3D ranging,” as used in the present patent application and in the claims, refers to measuring or estimating the distance from a given coordinate origin to the location of an object in a 3D coordinate frame. The term “3D map” means a set of 3D coordinates representing the surface of an object. The derivation of such a map based on image data may also be referred to as “3D reconstruction.”
Image processor 24 , which determines the object location and performs such reconstruction, may comprise a general-purpose computer processor, which is programmed in software to carry out the functions described hereinbelow. The software may be downloaded to processor 24 in electronic form, over a network, for example, or it may alternatively be provided on tangible media, such as optical, magnetic, or electronic memory media. Alternatively or additionally, some or all of the functions of the image processor may be implemented in dedicated hardware, such as a custom or semi-custom integrated circuit or a programmable digital signal processor (DSP). Although processor 24 is shown in
The 3D information that is generated by processor 24 may be used for a wide range of different purposes. For example, the 3D map may be sent to an output device, such as a display 26, which shows a pseudo-3D image of the object. In the example shown in
For simplicity and convenience of explanation, the optical axes of illumination assembly and image capture assembly 32 are shown in
In the description that follows, the Z-axis is assumed to be defined by the optical axis of image capture assembly 32. The origin is taken to be the entrance pupil of optics 38, or equivalently the surface of diffuser 36, as shown in
wherein λis the wavelength and w0 is the size of the spot formed on diffuser 36 by source 34. (It is assumed that the pupil diameter of optics 38 is much larger than w0, so that secondary speckle due to image capture assembly 32 can be ignored.) For locations that are separated axially by less than ΔZ, the primary speckle pattern as a function of angle relative to the Z-axis is substantially invariant with Z. In other words, the speckle patterns projected onto surfaces in region 46 that are displaced axially from one another by less than ΔZ will have a high cross-correlation (subject to transverse shift and scaling operations that might be necessary). To sense and process these speckle patterns, image capture assembly 32 should be capable of focusing over a depth of at least ΔZ.
On the other hand, over axial distances in region 46 that are greater than ΔZ, the angular shape of the speckles changes in random fashion. Therefore, the respective speckle patterns on surfaces that are separated axially by more than ΔZ will be uncorrelated. In other words, the speckle patterns at different distances from illumination assembly 30 are highly correlated at short ranges, below ΔZ, and decorrelate with increasing distance above ΔZ.
As shown in
Returning to the example shown in
In preparation for ranging and imaging of an object, imaging device 22 is operated to capture a sequence of reference speckle images, at a reference capture step 50. For this purpose, for example, a planar surface may be placed at a succession of different, known fiducial distances from the origin along the Z-axis, such as at Z1, Z2, Z3, . . . , and imaging assembly 32 captures corresponding images of the speckle pattern that is projected onto the surface by illumination assembly 30 at each distance. Typically, the spacing between the fiducial distances is less than or equal to the axial speckle length. Although Z1, Z2, Z3, . . . , are roughly equally spaced in
Object 28 is introduced into target region 46, and device 22 captures a test image of the speckle pattern that is projected onto the surface of the object, at a test capture step 52. Processor 24 then computes the cross-correlation between the test image and each of the reference images, at a ranging step 54. In the coaxial configuration shown in
Processor 24 identifies the reference image that has the highest cross-correlation with the test image, and thus that the distance of object 28 from illumination assembly 30 in device 22 is approximately equal to the fiducial distance of this particular reference image. If only the approximate location of the object is needed, the method may terminate at this point.
Alternatively, processor 24 may reconstruct a 3D map of object 28, at a reconstruction step 56. For this purpose, the processor typically measures local offsets between the speckle pattern at different points on the object surface in the test image and corresponding areas of the speckle pattern in the reference image that was identified at step 54 as having the highest cross-correlation with the test image. The processor then uses triangulation, based on the offsets, to determine the Z-coordinates of these object points. Methods that may be used for these purposes are described in the above-mentioned PCT patent application and in the other references cited above. The combination of ranging at step 54 with 3D reconstruction at step 56, however, enables system 20 to perform accurate 3D reconstruction over a much larger range in the Z-direction than can generally be achieved by speckle-based triangulation alone.
Steps 52-56 may be repeated continually in order to track motion of object 28 within target region 46. For this purpose, device 22 captures a succession of test images captured while the object is moving, and processor 24 repeats step 54 and, optionally, step 56 in order to track the 3D movement of the object. It may be possible to compute the correlation at step 54 with respect to only some of the reference images, by assuming that the object has not moved too far since the previous iteration.
Although the embodiments described above use certain types of optical and imaging devices in certain specific configurations, the principles of the present invention may similarly be applied in other configurations in which primary speckle patterns are projected and imaged. For example, in another embodiment of the present invention (not shown in the figures), the thickness of a transparent object is measured by imaging the speckle pattern transmitted through the object, rather than the speckle pattern reflected from the object surface as in the configuration of
It will thus be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and subcombinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.
This application claims the benefit of U.S. Provisional Patent Application 60/776,655, filed Feb. 27, 2006, whose disclosure is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4802759 | Matsumoto et al. | Feb 1989 | A |
4843568 | Krueger et al. | Jun 1989 | A |
5020904 | McMahan, Jr. | Jun 1991 | A |
5075562 | Greivenkamp, Jr. | Dec 1991 | A |
5212667 | Tomlinson et al. | May 1993 | A |
5838428 | Pipitone et al. | Nov 1998 | A |
6101269 | Hunter et al. | Aug 2000 | A |
6128082 | Cloud | Oct 2000 | A |
6167151 | Albeck et al. | Dec 2000 | A |
6262740 | Lauer et al. | Jul 2001 | B1 |
6438263 | Albeck et al. | Aug 2002 | B2 |
6686921 | Rushmeier et al. | Feb 2004 | B1 |
6741251 | Malzbender | May 2004 | B2 |
6751344 | Grumbine | Jun 2004 | B1 |
6754370 | Hall-Holt et al. | Jun 2004 | B1 |
7292232 | Ranta et al. | Nov 2007 | B2 |
20010016063 | Albeck et al. | Aug 2001 | A1 |
20020075456 | Shiratani | Jun 2002 | A1 |
20030057972 | Pfaff et al. | Mar 2003 | A1 |
20040130730 | Cantin et al. | Jul 2004 | A1 |
20040174770 | Rees | Sep 2004 | A1 |
20050146708 | Shi et al. | Jul 2005 | A1 |
20050243055 | Ranta et al. | Nov 2005 | A1 |
20080106746 | Shpunt et al. | May 2008 | A1 |
Number | Date | Country |
---|---|---|
19638727 | Mar 1998 | DE |
19736169 | Apr 1999 | DE |
2352901 | Feb 2001 | GB |
62206684 | Sep 1987 | JP |
527528 | Apr 2003 | TW |
WO 9303579 | Feb 1993 | WO |
WO 2007043036 | Feb 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20070216894 A1 | Sep 2007 | US |
Number | Date | Country | |
---|---|---|---|
60776655 | Feb 2006 | US |