The present invention relates to processing of digital images. More specifically, the present invention relates to systems and methods for reconstructing three-dimensional object contours from two-dimensional images.
For the purpose of promoting an understanding of the principles of the present invention, reference will now be made to the embodiment illustrated in the drawings and specific language will be used to describe the same. It will, nevertheless, be understood that no limitation of the scope of the invention is thereby intended; any alterations and further modifications of the described or illustrated embodiments, and any further applications of the principles of the invention as illustrated therein are contemplated as would normally occur to one skilled in the art to which the invention relates.
One embodiment of this system transforms at least one orthographic image of a symmetric polyhedron into a three-dimensional representation using method 100 as illustrated in
In a first step 110, 3-D coordinates of visible pairs of symmetric vertices are reconstructed using a method similar to that found in Huang & Lee (Huang, T. & Lee, C. (1989) IEEE Trans. PAMI2, 536-540, the teachings of which are incorporated herein by reference to the extent they do not contradict the teachings herein), where up to one free parameter a represents the stretch along the depth direction. Once these points are reconstructed, the system applies a planarity constraint in step 120 to reconstruct the pairs of points for which one point is invisible (that is, occluded) in the image. The 3-D coordinates of all of these points, both visible and occluded, are determined in up to that one free parameter, σ.
The value of the free parameter a is determined next in step 130 by identifying one or more symmetric polyhedra that collectively fit the full set of points, then maximizing a compactness function as applied to the reconstructed 3-D object. The compactness function in this embodiment is a function of the volume V of the reconstructed object and its surface area S. In some implementations, the function takes the form Vm/Sn, where m<n, such as m=2 and n=3, or m=2 and n=4.8. This type of compactness constraint can be applied to a very wide range of objects, including asymmetric and non-polyhedral objects. It is worth pointing out that the expression Vm/Sn is a result (approximating the product) of two expressions: V2/S3 and 1/S3. Maximizing the former represents maximizing 3D compactness proper. Maximizing the latter represents minimizing the surface area. In some embodiments, the two constraints are combined by using their product. In others, they are used separately.
Finally, at step 140, the method outputs the 3-D object and ends. This output might take any of a variety of forms that will occur to those skilled in the art, but in various embodiments will be an encoding of a list of the reconstructed object's vertices in 3-space, a collection of polyhedra that fit the object, or other data that is useful in a particular application.
Turning to
Consider the symmetry about plane 156. It can be observed that points 164 and 168, 160 and 166, and 161 and 163 are respectively symmetrically positioned across plane 156 in
When each of the visible and hidden points in the symmetry pairs has been determined (in at most one free variable σ), a value is selected for σ to maximize a compactness metric for the 3-D object (step 130). This selection is made in various embodiments using numerical techniques, linear programming, calculation, or other techniques as will occur to those skilled in the art.
In this embodiment, the compactness metric is selected to be the ratio of the square of the volume V to the cube of the external surface area of the object, i.e., V2/S3. An alternative metric is V2/S4.8. Other suitable functions vary positively as V increases and negatively as S increases. Still other measures of the compactness of the object will occur to those skilled in the art based on the present disclosure, and may be used in this system without undue experimentation.
In various embodiments, the computations and steps described herein are carried out by programmable logic controllers (PLC's), by general purpose microprocessors, or by application-specific integrated circuits (ASIC's). In any of these variations, one or more memory units are associated with each processor or controller to store data and program information as will occur to those skilled in the art. Such memory devices may comprise one or more distinct units of memory, which include one or more types, such as solid-state electronic memory, magnetic memory, or optical memory, just to name a few.
By way of non-limiting example, the memory can include solid-state electronic Random Access Memory (RAM), Sequentially Accessible Memory (SAM) (such as the First-In, First-Out (FIFO) variety or the Last-In First-Out (LIFO) variety), Programmable Read-Only Memory (PROM), Electrically Programmable Read-Only Memory (EPROM), or Electrically Erasable Programmable Read-Only Memory (EEPROM); an optical disc memory (such as a recordable, rewritable, or read-only DVD or CD-ROM); a magnetically encoded hard drive, floppy disk, tape, or cartridge media; or a combination of these memory types. Also, the memory is volatile, nonvolatile, or a hybrid combination of volatile and nonvolatile varieties.
Simulations show that the system reconstructs the object accurately most of the time. When the reconstruction is not perfect, it is at least consistent with what a human observer perceives when presented with the image that was used as input to the system. In some sense, the system perceives objects the same way that humans do.
It is noted that the use of the object's symmetry in some embodiments of this system provides certain benefits in the processing of noisy images. For example, the assumption of symmetry forces all line segments joining symmetric pairs to be parallel because they are each normal to the plane of symmetry. Pairs of points that are not initially mapped to parallel segments are moved into proper relationship, which effectively corrects for their original “noisy” placement.
Likewise, noise correction is applied in some embodiments when the symmetric points at step 110 are used to compute the family of 3D symmetric objects. At this stage, if the data is found to be noisy, then the computation uses a fitting technique (such as least squares approximation) to find closely fitting points. This technique can be applied when more than three pairs of visible points are present in the image. This fitting effectively corrects for some of the noise that might have been present in the original image.
Variations of this system handle a wider or narrower range of polyhedral objects. Generally, the more complex polyhedra that are considered as the system develops, the more computational power will be required to perform that calculation.
In other variations, the system also includes an image segmentation module that automatically determines the pairs of symmetric points in the object. This allows the system to process real images with less human input and intervention.
Still other variations include using perspective projection instead of orthographic projection, and generalizing the process to asymmetric polyhedra, or to other non-polyhedral objects such as generalized cones. These and other adaptations will occur to those skilled in the art and may be implemented without undue experimentation.
In the case of objects with complex 3-D shapes, compactness in some embodiments is computed using one or more simple circumscribed and/or circumscribing polyhedra as proxies for the object itself. This approach has been successfully tested with such objects as a human body.
One embodiment of this system implements the following pseudocode:
Other implementations will occur to those skilled in the art. The disclosure of Vetter, T. & Poggio, T. (2002) in: Human Symmetry Perception and its Computational Analysis. C W Tyler (Ed.), Mahwah, N.J.: Earlbaum (pages 349-359) is incorporated herein by reference to the extent it does not contradict the teachings herein.
While the invention has been illustrated and described in detail in the drawings and the foregoing description, the same is to be considered as illustrative and not restrictive in character, it being understood that only one or more preferred embodiments have been shown and described and that all changes and modifications that come within the spirit of the invention are desired to be protected.
This non-provisional application claims priority to U.S. Provisional Application No. 60/884,083, filed Jan. 9, 2007 with the title “Reconstruction of Shapes of Objects from Images,” which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4785399 | Evans et al. | Nov 1988 | A |
6034691 | Aono et al. | Mar 2000 | A |
6094198 | Shashua | Jul 2000 | A |
6099573 | Xavier | Aug 2000 | A |
6201881 | Masuda et al. | Mar 2001 | B1 |
6384826 | Bern et al. | May 2002 | B1 |
6504536 | Setoguchi | Jan 2003 | B1 |
6647146 | Davison | Nov 2003 | B1 |
6867772 | Kotcheff | Mar 2005 | B2 |
6897859 | Ohta | May 2005 | B2 |
6952204 | Baumberg | Oct 2005 | B2 |
6982712 | Ohto | Jan 2006 | B2 |
7164789 | Chen et al. | Jan 2007 | B2 |
7747085 | Kostrzewski et al. | Jun 2010 | B2 |
20050041771 | Kuo-Petravic et al. | Feb 2005 | A1 |
20050195185 | Slabaugh et al. | Sep 2005 | A1 |
20060177125 | Chan et al. | Aug 2006 | A1 |
20080166065 | Pizlo et al. | Jul 2008 | A1 |
20100079450 | Pizlo et al. | Apr 2010 | A1 |
Number | Date | Country |
---|---|---|
00196651 | Aug 1986 | EP |
01796046 | Jun 2007 | EP |
Number | Date | Country | |
---|---|---|---|
20080166065 A1 | Jul 2008 | US |
Number | Date | Country | |
---|---|---|---|
60884083 | Jan 2007 | US |