The disclosure relates generally to matching of digital fingerprints and in particular to a system and method that performs transform pyramiding in order to better match digital fingerprints of objects that undergo change.
The generation of a digital fingerprint for a rigid object can be performed in a number of different ways wherein the digital fingerprint can be used, for example, to authenticate that rigid object later. Some of these known digital fingerprinting systems use an image of an object or an image of something attached to the object (a tag, a code, etc.) in order to generate the digital fingerprint that is inducted into a database or other storage so that the digital fingerprint can be used for a later authentication process. These systems are not very accurate at authenticating the object.
Part of the authentication process includes matching a digital fingerprint of the original object and a digital fingerprint captured from that same object at a later time. The two digital fingerprints may be acquired under different conditions that cause differences between the two digital fingerprints, for example differences that stem from changes in viewing angle and/or position of the object for each digital fingerprint relative to a device that acquires the digital fingerprint, changes in illumination of the object for each digital fingerprint, and/or changes in the object itself between each acquired digital fingerprint. The changes in the viewing angle and/or position of the object may also include movement and/or rotation of the object. The changes in the object may include shape changes that may be elastic.
It is desirable to be able to ameliorate these differences between the two digital fingerprints since these changes can modify the digital fingerprints sufficiently to cause the authentication to fail even where it is the same object as previously digitally fingerprinted. Thus, it is desirable to provide a system and method that ameliorates the effects of differences between successively captured digital fingerprints and it is to this end that the disclosure is directed.
The disclosure is particularly applicable to systems and methods for matching digital fingerprints in which the digital fingerprints of the object have changed between two acquisitions due to different conditions. In at least one implementation of a system, the object being authenticated using the digital fingerprint may be any object for which digital fingerprints may be acquired. The objects may include rigid objects or deformable or malleable objects and may further include inanimate objects or living being body parts including faces, hands, etc. Thus, the systems and methods described below may be used with any object for which digital fingerprints may be acquired. The described systems and methods may advantageously improve the matching process of the digital fingerprints that occurs when the object is being authenticated using those digital fingerprints. The system(s) will be described with respect to improvement in the matching process with respect to changes in the objects and with respect to changes in the view of the object by the device that acquires images from which the digital fingerprints are derived, but is not so limited. Furthermore, the disclosed system(s) and method(s) is disclosed for objects with two-dimensional surfaces since many objects are effectively two-dimensional, and most images taken by cameras, even of fully three-dimensional objects, are two-dimensional. Nonetheless the teachings below should be understood to cover higher-dimensional objects (e.g., points of interest taken from the surface of a strongly three-dimensional object, from the inside of such an object, or taken across time from a changing object).
In at least one embodiment, a transform pyramiding process, as disclosed below in more detail, may be used to improve the digital fingerprint matching process and thus the authentication process and system and make those processes less susceptible to failed authentication due to differences between the digital fingerprints causes by different conditions of acquisition of each digital fingerprint. It should be noted that each digital fingerprint is a complex combination of data that cannot be easily kept in the human mind nor on a pen and paper by a human being. Furthermore, the matching process and authentication process, due to at least the complexity of the digital fingerprints, cannot be performed in the human mind nor with pen and paper. Furthermore, the matching process and the authentication process are technological processes whose efficacy is improved using the disclosed system(s) and method(s).
For example, the disclosed system(s) and method(s) causes substantial speed-up of the matching of two sets of digital fingerprints to determine whether the digital fingerprints pertain to different appearances of the same object. In a conventional system, the matching may be too slow for practical use under many foreseeable conditions. As an example, finding matching pairs between two acquisitions of an object seen off-axis (that is, seen after a rotation around an axis perpendicular to the direction between the camera and the object, thus introducing a homographic transform) is greatly speeded up as discussed below in detail by first approximating the distortion by an affine transform. Both affine (six parameters) and homographic (eight parameters) transforms are characterizable by a limited set of parameters but determining eight parameters starting from scratch is exponentially more difficult than starting from a known affine transform. This improvement cannot be achieved by a human being alone nor by a human being with pen and paper.
A second taught improvement is that the matching and authentication processes can be accurate and sufficiently quick even for an object that has been distorted (or whose acquired digital fingerprint has been distorted) by a transform that is not easily (or at all) characterizable by a limited parameter set. An example is a rubber-sheet distortion of a plastic object (such as a face, a handbag, or a duffel bag). A “rubber sheet” distortion is one where the object may vary in inconsistent ways across its surface from one acquisition to the other. The face of a person talking is a good example. In general such a distortion cannot be well modeled by a small number of parameters spanning the entire object, but very often (essentially always in physically-realizable objects) the overall transform can be well characterized by a series of transforms of local regions than are then linked together to characterize the overall transform.
The digital fingerprint of the object may be securely communicated to the server 110 via path 112 using known communications technology. The server 110 is coupled to (or includes) a datastore 116. The datastore may contain various databases and or tables, including, for example, records that store digital fingerprints. The server may implement, for example, a user interface 140, a query manager 142 for interaction with the datastore 116, and an authentication unit, process, and or application 144. One use of the authentication unit 144 may be to identify and/or authenticate an object based on an acquired digital fingerprint or the matching of two digital fingerprints of the object acquired at different time and under different conditions. To identify and/or authenticate an object, the authentication unit 144 may acquire a digital fingerprint (from a local scanner 102 or remotely 162) and using the query manager 142, search the datastore 116 to find a matching (or best match) digital fingerprint record. In one aspect, it is this matching and/or authentication process that are improved using the transform pyramiding technique that is discussed below in more detail. The transform pyramiding technique may be performed by various combinations of the elements of the system in
In this illustrative example, the server 110 typically may also include a communications component 150. Various communications components 150 may be included to communicate for example, over a network 160 which may be local, wide area, internet, etc. The data control server may implement record keeping and various other workflows. Without limitation, communications components 150 may include any one or more of wired communications ports, wireless transmitters, wireless receivers, wireless transceivers, and/or radios.
All forms of capturing 2D, 3D surface, 3D depth (i.e., “inside”), and features that change during the acquisitions are in view of the present disclosure. It is noted that the disclosure of the embodiment below pertains to similarity, affine, and homographic transforms of 2D images using homographic (also called planar projective) transforms using a 3×3 matrix as disclosed below. However, the disclosed method may also be used for 3D objects and surfaces with full projective transforms (that describe the way a fully 3D shape, rotating in space, appears at two different instants). The full projective transforms may be can be expressed as a transform matrix that is 4×4 and by using one or more mathematical equations that can be derived based on the 2D image examples provided below.
Thus, in alternative embodiments, the method may be used with a 3D surface, a 3D interior or a 4D changing 3D object that would use similar processes as the 2D images described below and the same transform pyramiding may be used as described below. For example, if a stereo image of a person saying his/her name is captured using synchronized normal cameras run in video mode, the disclosed method may be used to perform the below disclosed matching of two captures/acquisitions using the transform pyramiding in the following manner. The method may start with using similarity transforms of individual images of the two videos, use the 2D affinity transforms, and then the 2D homography transform as described below in more detail. The method may then use full projective transforms and then finally change between different full projective transforms to express changes across time.
The capturing thus may include photon-based forms such as X-rays, tomography or image/video capture using a smartphone device camera, and also non-photon approaches such as ultrasound. In the simplified drawing of
The system may combine some or all of the extracted feature vectors to form a digital fingerprint, block 234, which the system then causes to be stored, block 236, along with or logically related with related data, block 238, as mentioned above. The process returns or concludes at block 240. Note that the process shown in
As mentioned earlier, a “scan” may refer to an image (or digital data that defines an image) captured by a scanner, a camera, a specially-adapted sensor array such as CCD array, a microscope, a smart phone camera, a video camera, an x-ray machine, or any other device or image sensor that can sense and capture electromagnetic radiation (or any identifying information, e.g., sonar etc., that has traveled through an object, or reflected off of an object, is a candidate to create a “scan” of the object). to the image sensor captures at least one native feature of the object, which may be of an original region of the object as distinguished from a region having a feature added to the object for identification, such as a label, bar code, RFID tag, serial number, etc. In some cases, the native feature may of a non-original region in which an object has been added to the physical object for identification (such as a label). The added object may be affixed (e.g., permanently affixed) to the physical object, such as through an adhesive in the case of a label. So long as the added object (e.g., the label) becomes an integral part of the physical object, the system or image sensor can scan or image the added object to obtain a digital fingerprint and use that digital fingerprint to track the physical object. In some embodiments, the digital fingerprint corresponds to an original region, a non-original region (corresponding to where an object has been added for the purpose of, for instance, identification of the physical object), or combinations thereof.
A “native feature” in this description may not be concerned with reading or recognizing meaningful content, even in the case where the digital fingerprint corresponds to a non-original region. For example, a label on a scanned object with a printed serial number may give rise to various features in fingerprint processing, some of which may become part of a digital fingerprint feature set or vector that is associated with the object. The features may refer to light and dark areas, locations, spacing, ink blobs, etc. This information may refer to or be inherent in the printed serial number on the label (e.g., differences in the way a particular character is printed from object to object), but there is no effort to actually “read” or recognize the printed serial number (which may not be legitimate). In other implementations, this inherent information is used in addition to information represented by the printed serial number. Similarly, an RFID tag applied to an object may give rise to a fingerprint vector responsive to its appearance and location on the object. However, in some examples no effort is made to actually stimulate or “read” data or signals from the tag. In some embodiments the system is not using the added object according to the tracking scheme from which it originated. The various features used in fingerprint processing, some or all of which may become part of a digital fingerprint set or vector that is associated with the physical object, may be extracted from a permanently affixed label (for the purposes presented here the contents of the label, e.g., the value of the serial number may be irrelevant).
As mentioned above, the at least two digital fingerprints of an object that are being matched as shown in
Before describing the transform pyramiding process that improves the matching of the two digital fingerprints, the different types of transforms that may be used in the method are described. These transforms are utilized because, between two acquisitions of an object for digital fingerprinting the object itself, the relationship of the object to the camera, or the object itself between the two acquisitions of the digital fingerprints may have changed. The transforms are used to efficiently match fingerprints of different acquisitions of what may be the same object (and reject fingerprints of other objects) under these circumstances. The term same object in this context means a second or subsequent appearance of a given object as an object in a first or preceding appearance, rather than two different instances of objects of a same type of object. It is important to note that the transforms are complex and that the examples of the transforms and results of the transforms are only examples of the disclosed method(s).
Similarity transforms. The simplest changes in digital fingerprints involve movements of the object (and/or movement of the camera or other image senor) between acquisitions. The resulting changes are translation (the item moves across the field of view of the image sensor but otherwise looks the same), rotation (the item or the camera or other image sensor rotates around the axis between the item and the camera), and uniform scaling (either the object or the camera or other image sensor moves along the line separating them or the camera resolution changes between acquisitions). These can occur separately or in combination. With similarity transforms the object looks the same in both acquisitions. There are four free parameters in similarity transforms: two for translation, one for rotation, and one for scale. These four parameters can be determined by matching two points in each acquisition (i.e., having two match pairs between the acquisitions).
Affine transforms. When a flat object that is relatively far off rotates around an axis perpendicular to the camera-object axis the image undergoes an affine transform. A window seen off-axis from a distance much larger than its size is an example: rectangles are foreshortened or distorted into parallelograms. A similarity transform is, itself, also an affine transform. When one transform includes another as a subset, that transform is characterized as of higher order than the included transform. An affine transform is therefore of higher order than an included similarity transform. The most general affine transform requires determining six free parameters and hence a consistent set of three match pairs between the two acquisitions. These parameters are for translation (two parameters), rotation (two parameters, one for the direction of stretch and the other for rotation of the image), and differential stretch (two parameters).
Homographic transforms. This is sometimes called a planar projective transform. A homographic transform is the distortion seen when a window is viewed off axis from up close. Rectangles are transformed into quadrilaterals. Homographic matching requires determining eight free parameters and hence four match pairs. Affine transforms are subsets of homographic transforms, as are similarity transforms. Briefly, in this discussion of the relationship of affine to homographic transforms lies the kernel of the teachings of this disclosure. Up close, a window seen off axis requires a homographic transform to match the window seen straight on. But as the window moves farther away, the strictly homographic parameters become less and less important until, at a distance much larger than the size of the window, the transform is effectively purely affine. This shows that the homographic transform contains within it a useful but simplified (i.e., requiring fewer parameters) approximation to itself—namely the included affine transform.
Hierarchy of transforms. The above transforms—similarity, affine, and homographic may be viewed as a hierarchy. All similarity transforms are affine transforms, but not all affine transforms are similarities. All affine and similarity transforms are homographic transforms, but not all homographic transforms are either affine or similarity. References to the components of an affine transform, mean those components that apply to all affine transforms. As such, they include the components that also apply to similarity transforms. References, however, to the “strictly affine” components, mean the affine components that are not also similarity components. Likewise, references to “strictly homographic” components, mean those components of a homographic transform that are not also components of an affine or a similarity transform. Thus a rotational transform is a similarity, an affinity, and a homography, while the stretch direction parameter (see above) is “strictly affine” (since similarity transforms have uniform stretching and thus no associated direction) as well as being homographic (but not “strictly homographic”). A transform that turns a rectangle into a general quadrilateral has two non-zero parameters that are “strictly homographic”. Thus a homographic transform requires two “strictly homographic” parameters and four affine parameters, while an affine transform required two “strictly affine” parameters and four similarity parameters. Those four similarity parameters (rotation, scale, and two offsets) may be viewed as “strictly similarity” parameters.
The hierarchy of transforms may include a plurality of different transforms as described above. Transforms within the hierarchy of transforms may be differentiated according to the level and/or order of the transform. The level and/or order of the transform within the hierarchy of transforms relate to the mathematical complexity, computational load required to execute, or other characteristic of the transform. For example, lowest level/order transforms may be less computationally expensive to execute than the next level/order transform. Similarly, highest level/order transforms may be the more computationally expensive to execute relative to lower level/order transforms.
In one exemplary embodiment, the hierarchy may be: lowest order is the similarity transform, next higher is the affine transform, next higher still is the homographic transform. However, the transform hierarchy as described above may further include, for example, full perspective transforms and rubber sheet which are done by local transforms joined together as mentioned described above or by using higher-dimensional transform matrices. Thus, the disclosed method is extendible to all locally (and globally) characterizable transform hierarchies. The absence of a particular such transform in this disclosure should not be taken as limiting.
Matching Using Transform Pyramiding
To achieve the greatest certainty of identifying the correct object with the two digital fingerprints, the method finds the largest number of true matches (or pairs of points of interest) between the two acquisitions of the correct object while, at the same time, finding as few as possible with any wrong reference object. To get as many matches as possible, the method ensures that the matching areas on the test and reference objects cover the object as completely as possible. This, in turn as discussed above, requires finding the correct transform between the two acquisitions of the object (one being tested and one in the reference set) that is performed using the method shown in
As shown in
The different conditions result in distortions of the image or of the object that take place between the two image acquisitions. As a result, a digital fingerprint generated from each acquired image may be different. Each digital fingerprint generated from each acquired image comprises feature vectors of these points of interest and may contain their locations, their orientations, and other information about the point of interest or object that is generated (404). Thus, the matching of “digital fingerprints” involves matching the feature vectors of points of interest (finding “strong matches”) and matching both the feature vectors and the location parameters (and or other such features) of the points of interest (finding “true matches”). The matching may be performed when the first and second set of points of interest are similar wherein similar means that the feature vector for each of the two sets of points of interest are close to each other in which various known metrics may be used to determine the closeness of the feature vectors. Where there is significant distortion, persistent points of interest may not be in the same locations in the two digital fingerprints. It is toward matching digital fingerprints in the presence of such distortions that the current disclosure is directed. While this disclosure concentrates on transform pyramiding using the positions of points of interest, it will be understood by those familiar with the art that such techniques are extensible to other parameters, in particular to point of interest orientation.
Once the points of interest are found and characterized by their feature vectors, matching consists of finding points of interest in one acquisition that correspond to points of interest in another. In general, the more points of interest in the two digital fingerprints that match, the more likely the two digital fingerprints come from the same object. This matching first determines/identifies a point of interest pair (one from each acquisition) that is considered a “strong match” (406) when their feature vectors match to within some threshold. When two points of interest match their feature vectors closely enough to be strong matches, they form a potential match pair. They are only “potential” until they pass the next test. A “strong match” between two points of interest occurs when, for example, the vector distance between the two point of interest characterizations falls below a potentially adjustable threshold. More than one point of interest pair strong match may be identified (408). To identify additional point of interest pair strong matches, points of interest within the digital fingerprint may be matched to form a potential match pair and each potential match pair may be evaluated using the “strong match” test above.
The matching process may then find sets of strong match point pairs whose geometric arrangement on the two objects is the same “up to” some transform (410). The term “up to” is a term of art from mathematics. In the case at hand, saying that the two members of a match pair are in the same position on their respective acquired images “up to” the allowed transform which means that, if the transform is applied to a set of such points in one acquisition, those points will now match (to within some tolerance) the actual positions of the other member of their pair in the other acquisition. Strong match pairs that meet this criterion are called “true matches”. Often there are, for at least a subset of the strong matches, multiple possible geometric arrangements and transforms that would be consistent for at least that subset of points. The chosen geometric arrangement and associated transform is typically that which produces the largest set of true matches over the object, covers the greatest fraction of the object, or some combination of the two. The primary use of the transform pyramid disclosed here is to create the largest set of true matches between the two digital fingerprints in an efficient manner. Typically, the better the actual transform is characterized, the larger the number of true matches that results and the larger fraction of the object images are matched.
To determine which match pairs meet the geometric constraints, the system determines (at least approximately) the transform between the two acquisitions so that the system can morph the locations of one member of each pair to the position of the other in its acquisition as is discussed in more detail in
In general, the process shown in
As shown in
The geometric arrangement process is used to determine the true match pairs and the transform between them and it is an iterative process as shown in
The initial transform may be applied to as large a region of the object as possible. A “region” is defined as an area (volume for higher-dimensional digital fingerprints) where the match pairs are in the same geometric relationship in both acquisitions up to some threshold and the method may find the transform parameters (422) that correctly locate the largest set of true match pairs in the two fingerprints within some tolerance, T, as shown in
Typically when finding the lowest order transform as the pyramiding process is started, the system may choose a relatively large tolerance (in order to get sufficient true matches to proceed to the next act in the pyramiding) and lower the tolerance for each higher-order transform. For example, for a rigid object where the change from one acquisition to the other is moderately homographic, it is likely that a similarity transform would find true match pairs over the entire object but only by using very large positional tolerances. Alternatively, if the method used a tighter tolerance, only a portion of the object would match. If the method uses an affine transform, the tolerance to cover the entire object would likely be much smaller than that for a similarity transform, but still too large to be desirable. When the homography stage of the pyramid is reached, a tight tolerance can be applied to point location (since the transform actually is homographic).
Returning to
Once such regions have been found, the method may find more matching point pairs in or near the local region (426) and using them (along with those already found) to raise the order of the transform by selecting point pairs from the new set and using them to find the parameters of a higher-order transform (428) that allows matching to closer positional tolerance. Since the method is only using the point pairs already found using the lower-order transform, selecting point pairs for the higher-order transform becomes much quicker than if it were choosing potential match pairs from all over the object. This speeds up the process, providing an important improvement to the matching process as discussed above.
As an example, suppose that in the full matched point pair candidates the percentage of spurious matches is 99% (a very common situation). The probability of selecting 4 pairs (as is required for finding the parameters of a homographic transform) from this collection that are not spurious—that is, that actually demonstrate the correct transform—will be one chance in one hundred million (0.01{circumflex over ( )}4). For the correct transform parameters to stand out from random, RANSAC (and other filtering mechanisms) would require a very large amount of computer resources, if it were possible at all. On the other hand, selecting the two matching pairs required for a similarity transform is one chance in 10,000 (0.011\2), and will succeed 10,000 times faster.
After finding the largest set of matching points (and their associated parameters), using the new pool of points (instead of points from the entire object) speeds up the process of going to higher-order transforms in two important ways. First, there is a much smaller candidate set from which to choose the matching pair candidates (the newly-found set of matching points). Second, and generally even more important, practically all the matched pairs we have found will also be matched pairs for the higher-order transform and the RANSAC search for the higher-order parameters will be essentially instantaneous.
Once the higher-order transform is found and its regions of match determined, those regions are in turn expanded and the process continued (looping back to process 426) until the regions can no longer be expanded or until enough of the object is matched. If the method runs out of easily parameterizable transforms and the matched regions are still too small, the process may link matched regions as described in more detail below so as to cover more of the object.
In general, the smaller (in absolute value) the higher-order parameters, the larger region over which the lower-order transform (which has those higher-order parameters set to zero) can approximate the true transform to within acceptable tolerance. The reason for this is that under such circumstances, the lower-order transform is a better approximation of the higher-order transform. Experience teaches that with physically-realizable objects the lower order transforms are generally good at characterizing significant regions of the object and parameters of higher order transforms are generally smaller and less important than the parameters of the lowest-order transform for excellent physical reasons. Consider going from a similarity to an affine transform. The affine transform requires two more parameters than the similarity. The added parameters describe the differential stretch, one for the direction of the primary stretch and one for the difference between the two stretches. The angle of greatest stretch is only important if the two stretches are significantly different. And while they can differ substantially (primarily from off-axis viewing), they are rarely very large compared to the overall scale of the object images. Viewing a flat object from a 45 degree of-axis point of view only produces a differential stretch of about 30%, for example. The same argument can be made concerning the strictly homographic components. As mentioned elsewhere in this description, strictly homographic parameters become useful when the object is seen close up (and is, for example, rotated perpendicular to the viewing axis). Unless the object is viewed from a distance much smaller than the size of the object, the strictly homographic components are small compared to unity. And if it is viewed from that close, it is likely to be impossible to image the entire object clearly in the first place.
The taught method thus increases the size of the matched region(s) until, ideally, a single transform allows matching across the entire object. If it does not, it still gives the largest possible regions to combine to get the overall match. This last will take place when the actual transform is of too high an order (such as rubber sheet), or when trying to match the wrong object. It will generally be an indication of an attempt to match the wrong object if the initial transform approximation produces a very small number of true matches and when higher-order transforms do not much improve the matching.
In the method shown in
The matching process with transform pyramiding may limit the region size over which to choose the match points and use the lowest-order transform possible to characterize their geometric relationship. However, the region size for the method may have a minimum size and a maximum size. If the region from which matching point pairs are selected is too small, uncertainty in point of interest positions will limit the accuracy of the determined transform parameters and increase the number of regions that need to be linked to match enough of the object. On the other hand, the smaller the match region size, the faster the process of determining the parameters characterizing the transform for that region. If, on the other hand, the attempted matching regions are too large and the true transform is relatively high order, it may be impossible to find lower-order parameters that adequately characterize the transform. Further, the larger the region sizes are, the more candidate match point pairs need to be tested to determine the set of parameters that stand out.
The region size is highly dependent on the actual transform between the two acquisitions and by how well it is approximated by the lower-order transforms. If the two images differ only by rotation and a small offset, then it is likely that most of the object can be used for selecting candidate match pairs. This is because a similarity transform applies to the entire image (absent the parts translation takes out of sight). If, on the other hand, the true transform is affine, the maximum region size found by a similarity transform (where matches are within positional tolerance), will likely be considerably smaller than the entire region. The larger the strictly affine parameters are (that is, the more the actual transform differs from a similarity transform), the smaller will be the regions adequately characterized by a similarity transform.
In an alternative embodiment, if the method cannot determine the correct transform for the digital fingerprints, but it is still desirable to limit region size (to cut down on the number of candidate match pairs), the method can limit the points of interest in one acquisition (and one digital fingerprint), but not limit the points of interest in the other acquisition and digital fingerprint (using an asymmetric match point selection process.) In other words, in the method, a small patch of points of interest in one acquisition of the object may be used to look for a matching region across the entire other acquisition of the object. If, on the other hand, it is known that there is little translation (and even better if the higher-order parameters are also believed to be fairly small), the method may be able a priori to determine the alignment of the regions that should match (if the two acquisitions are from the same object) and hence limit region size in both acquisitions. Any such limitations decrease the number of point pairs that must be tried and hence speeds up the entire matching process.
The systems and methods disclosed extend to all physically-realizable transforms between two acquisitions of objects (and thus two digital fingerprints acquired under possibly different conditions). For purposes of illustrating the details of the methods, conditions of the two acquisitions where the higher-order transform is homographic (also known as a full planar projective transform) is used. If the object is planar and does not itself warp, a homographic transform is adequate regardless of the displacement or rotation of the object relative to the camera or other image sensor.
In the method, it is not required that the lower-order parameters be exactly the same as their higher-order equivalents would be if the actual transform were known. As described above, however, having physically-realizable objects and physically-realizable imaging keeps the two acquisitions “close enough” that the approach is useful. Using the method, for example, viewing an object “from the side” will distort the image significantly (by foreshortening it in the direction in which the camera is off-axis from perpendicular to the object), but not distorted enough that regions of useful size cannot be found assuming the transform is similarity or affine instead of homographic.
If the object is inherently three-dimensional, the actual transform is likely perspective or full projective, but large regions typically can still be matched using homography. If not, the method disclosed may be easily extensible to higher-dimensional transforms involving, for example, points of interest distributed in three dimensions. If the object is also malleable (i.e., if it moves or changes shape during acquisitions) then the points of interest are distributed in four dimensions. All such approaches are within the scope of this disclosure, as are such transforms as perspective and full projective that require even more parameters than homographic.
In the illustrative example with the homographic transform in two dimensions, the general equation for a homographic transform is:
This equation is written in homogeneous coordinates, which enables all the components (and in particular the translation parameters) to be put into a single matrix equation. This appears to require determining nine free parameters but because the same point in standard coordinates is represented by any (non-zero) multiple of its representation in homogeneous coordinate, there is one fewer free parameter. Conventionally h33 is set to 1 without loss of generality. This means the above equation can be written
where A is a 2×2 matrix containing the four strictly affine parameters, contains the t translation parameters, and contains the two {right arrow over (v)}T strictly homographic parameters.
Parameter selection. Because similarity is characterized by four parameters, it two match pairs are used to determine those parameters. Because affinity uses six parameters, in particular three match pairs, and because full homography employs determining eight parameters, in particular four match pairs. RANSAC and other methods for finding the parameters operate by selecting n strong match pairs from the two acquisitions' digital fingerprints and calculating the parameters for the candidate transform from them. For similarity n=2, for affinity n=3, and for homography n=4. Once the parameters from this set of match pairs are calculated, another n points are selected. This is done many times, with the parameter set determined each time. Finally, the set that appears most often is selected as the true similarity, affinity, or homography (depending on the order chosen for the candidate transform). Although there are numerous ways to filter the selection set (some of which are explicitly taught in this patent and others which are well known in the art), the number of selections that must be made (and hence the time it takes to execute the algorithm) goes up roughly exponentially with the n. To optimize performance, the system may limits the size of the selection set or the number needed in each selection, or both. This disclosure describes how to do that by solving for the parameters of the low order transforms first and using them to limit the search for the higher-order transform parameters.
Similarity. The method starts by seeking regions matched adequately (within a positional tolerance) by a similarity transform. The general homography equation parameterizes rotations and stretch (whether uniform or not) in A, translation in {right arrow over (t)} “Strictly homographic” (as distinct from affine components that are homographic only by courtesy of all affine transforms being subsets of homographic transforms) terms are therefore in {right arrow over (v)}T. This division is not, however, optimal for the transform pyramiding taught here because the goal is to move from similarity to affinity to homography and some of the similarity parameters (uniform scale and rotation) are in A while others are in the translation. The method therefore starts by including in A only those terms that are from similarity transforms.
Equation 3 is the most general similarity transform. It has four free parameters: the uniform scaling (s) difference between the two acquisitions, the rotation angle (θ) between their two viewpoints, and the two components of the translation vector (h13 and h23) between the two acquisitions. Determining these four free parameters require two points be matched between the two acquisitions.
If a transform of lower order than the “true” transform is chosen, the transformed points will be in the wrong place by some amount. The lower-order transform is adequate to describe any region over which the error caused by choosing the wrong transform order is smaller than the position tolerance over which two points are considered to match. This determines region size and is clearly dependent on that tolerance and on how much the chosen transform differs from the actual transform.
For example, consider what happens when the true transform is affine, but the method seeks to model it using a similarity. For simplicity in this explanation, the translation terms are dropped. Because the “true” transform is affine, there are no strictly homographic terms. This gives us for the “true” transform equation:
where ε is the position tolerance for a geometric match. To see the order of magnitude of the acceptable parameter error given the allowed positional error, the order of magnitude of the hii. is used. That part of the affinity matrix is A=R(θ)R(−φ)DR(φ) where
with λ1 and λ2 being the two scalings, φ being the angle of the greater stretch (with the other perpendicular), and θ being the rotational difference between the two acquisitions. Since the elements of the rotation matrices are of order 1, the elements of A are of order √{square root over (λ1λ2)}. The allowed error is thus of order ε√{square root over (λ1λ2)}
The similarity transform equation (including scaling and rotation but ignoring translation) is:
In equation 5, the upper left four elements can be cast in the form of an affine transform A′=R(θ)R(−φ)D′R(φ) where the angles are the same as in the actual affine transform and where
with both stretches being the same because the transform is a similarity. The difference between the (true) affine and the (chosen) similarity transforms is thus E=R(θ)R(−φ)MR(φ) where
If L is the region size, the overall error accumulation across the region is of the order √{square root over (|λ1−s∥λ2−s|)}*L. The lower-order transform thus gets us “in the ballpark” of the “true” transform if: √{square root over (|λ1−s∥λ2−s|)}*L<ε√{square root over (λ1λ2)} The term on the left is minimized if
Substituting, the term on the left becomes
The lower-order transform is therefore a good approximation to the actual affine transform if
If λ1 and λ2 are relatively close, then √{square root over (λ1λ2)}≈s. So finally, the similarity transform is a good approximation of the affine transform across a region of size, L, if:
Notice that if λ1 and λ2 are the same, any L will work, which is to be expected since under those circumstances the transform is a similarity. Also notice that as the difference between λ1 and λ2 increases, L gets smaller for the same allowed positional tolerance.
If it is believed that L covers a sufficient part of the object (because the difference in stretch is relatively small, for example) then the method can start by choosing candidate match pairs from a region of size L in one of the acquisitions (and use the entire area for the other acquisition). Similarly, if the method can determine the scale change and differential stretch between the two acquisitions, the method can estimate the region size (given the tolerance). The method can use that region (on both or on one of the acquisitions as discussed above) to provide the candidate true match pairs. From those candidate match pairs, the method may use RANSAC (described in more detail at llen.wikipedia.org/wiki/Random_sample_consensus)) or other methods to find the parameters for the chosen transform (in this case similarity). Once the method has determined the regions of match and the associated transform parameters, the method can extend coverage to more of the object if necessary, as shown below.
Extending the coverage (process 426 in
Extend the regions by raising the order of the transform. Once the initial region set is found for the chosen transform, the method may find all strong match pairs (that match to within existing tolerance or a moderate relaxation of that tolerance) that are in or near the region already covered. This typically extends the regions somewhat and adds more candidate match pairs that will be used in the next operation.
Determine higher-order transform parameters (process 428 in
Connect region centers by a higher-order transform. One alternative to extending the regions as described above is to take the original region set (or one determined along the way) and using some characteristic point (e.g., the center) for each one, determine the higher-order transform parameters that match as many as possible of the local regions in the two acquisitions. Because the method is using region centers (or other points) rather than all the match pair candidates across the object, the number of candidate match pairs is quite limited compared to the situation where the method uses point of interest pairs and it may be possible to go straight to homography (or whatever the highest-order parameterized transform may be). From those region matches, determine the parameters for the transform for the entire object and apply those parameters to all candidate match pairs and, using them, refine the parameter estimates. This approach is likely to be much faster than the gradual region expansion discussed above and, if the original regions are large enough, accurate enough to allow the system to finish transform determination and match count quickly. It is understood that the transform that links the region centers and the transforms within each region may be different.
Transforms beyond homography. If, at the end of the above process, the method still has multiple disconnected regions each with its own parameter set, it is very likely that the actual transform is of higher order than homography (especially in cases that attempt to match two acquisitions of the same object). It is possible (for perspective and other transforms) to continue the above process using more match points and higher-dimensional matrices. However, there are transforms that cannot in general be specified by a finite set of parameters and the method taught here may allow matching objects whose viewpoint (e.g., perspective transforms) or shape have changed sufficiently that the method cannot accurately determine or use the actual transform but still succeed in matching the two acquisitions adequately over sufficient parts of the object. In that case, the disclosures herein do not speed up the matching but instead make it possible to do at all where it otherwise could not be completed. Once the parameterizable transforms have run out, the system can combine the found regions in several ways:
Cumulate the matches for the found regions. The goal of the point matching process is to get an estimate of how likely the two acquisitions are to be from the same object. To do this as accurately as possible, the method needs as many true matches across the object as possible. The simplest way to do this is called RARS (for RANSAC Approximate Rubber Sheeting) to accumulate match points garnered from multiple transforms rather than attempting to match the entire surface using a single transform. This process of using multiple transforms to describe the relationship between two objects translates, in practice, to the summing of true match points across multiple regions where the matched regions have different transform parameters. Using this approach, the method avoids having to do anything with the actual transform between the two acquisitions (which may be of high order) and still takes advantage of all true match pairs.
A second, related approach is LARS (Locally-Affine Rubber Sheeting). LARS takes advantage of the fact that any physically-realizable object transform can, when viewed over a small-enough region, be treated as though it were an affine transform. Local regions are matched using LARS with RANSAC choosing candidate match pairs subject to their geometric relationship in the two acquisitions being related by an affine transform. In essence, this approach follows the taught method until the best matching with local affine transforms are accomplished and then the true match points in the various regions are combined to measure overall match. LARS is a special case of a general matching approach: any transform of lower order than the actual transform will result in multiple regions each with a different parameter set. Those parameters describe the lower-order transform within the individual regions. It is possible to stop at finding local regions that match up to a similarity, for example. LARS matches local regions up to an affinity and homography matches them up to an homography. As taught above, if homography is the highest-order transform tried in the pyramiding process, its regions are then linked together to get the overall matches. Thus LARS does for locally-affine regions what the standard technique does for locally-homographic regions when they are insufficient to cover most of the object in a single region (indicating that the actual transform is of higher order than homographic.
A third method uses strong matches but has little or no geometric matching. Instead of filtering match candidates (to turn strong matches into true matches) using their geometric placement, the point of interest's orientation is used as a filter instead. There are numerous methods for determining the orientation of a point of interest, but the direction of the strongest gradient in image pixel values across the point of interest categorization region works well. Strong matches are found and each of the two matching pair's orientation is determined. To constitute a true match the members of the strong match pair set should have consistent orientations. This means that the difference in orientation between the matching pairs in two objects (presumably the test and reference versions of the same object) is consistent across all such strong matches. A further refinement of this approach is to require that true matches in addition come from the same local regions on one acquisition as their corresponding points in the other acquisition. The size of this region is a settable parameter. This approach recognizes that for some distortions between acquisitions only local regions will show consistency (up to the allowed tolerance) in the orientation of matching points of interest.
Connect the regions. In cases where the highest-order attempted transform results in multiple disjoint local regions (instead of covering most of the object), several ways suggest themselves to use the arrangement of the regions to modify the match count accumulation determined above. Consider, for example, two regions both of which match the higher-order transform (but with potentially different parameters) up to some tolerance. The system executing the method could then combine the transform parameters (by an average, a weighted average, or other means) to determine where the region centers (or other characteristic points) should be with respect to each other and penalize the match by how far out of place they are. This could be determined pair-wise, using all the regions at once (similar to the approach described above for determining the region center location transform), or by another other approach. The resulting error can be used to modify the match count in some way to penalize regions being out of place.
“Walk” the regions together. The walking process is used when the overall transform is of higher order than the attempted transforms. This takes place where there is significant rubber sheet distortion of the object, but also where there is a sudden change in the object itself, such as when the image contains a view of a corner of a rectangular solid as well as the two sides forming the corner. The method described herein is an iterative clustering process that starts by searching the image for disjoint regions of matched points. If these cover sufficient parts of the object, walking is not needed. If not, these disjoint regions form the seeds for walking. Each such region comprises points located near each other whose position transforms are characterizable by a single set of parameters (up to positional tolerances). Each such set grows as described below by merging neighboring matched points (if they are inliers for its transform) or by forming new regions with similar transform parameters. The procedure terminates when regions can be further expanded.
If the object is real, it is very likely that even in the case of substantial rubber sheet distortion across the entire object the homographic (and, most likely, even the similarity and affine) parameters change smoothly across most of the image. The method can take advantage of this generally smooth behavior to connect the regions by intermediate regions until an adequate set of match points is found. The method can proceed in several ways here. One that would work and that extends an approach used above to expand regions is to find match pairs outside the existing match regions but on the same side of the previously found regions that match geometrically to within, say, twice the previous parameter. Using those points as a new “region”, find the new transform parameters. Proceed in this manner linking as many previously-found regions as possible and count the aggregate matches as the matching parameter. Another way to walk regions together is to consider two regions physically close to each other (in the case where geometry is used to determine whether a strong match is a true match), take the average of their transform parameters, and look for a region between the two that match up to those averaged parameters. For the case where orientation rather than geometry is used to determine true matches, the method can average the parameters for two regions with close but not equal overall orientation and look for new regions with the new average parameter set. Such new regions will not, of course, necessarily be located “between” the two original regions since in this example the system does not have positional information on the points of interest. This approach can be extended to any method for filtering true matches to be strong matches. It is, of course, possible that no smooth parameter changing is possible because two neighboring regions in the object can be very different from each other. An example of this is when a corner of a rectangular solid is viewed so that both sides are in the field of view. In this case the process stops when sufficient parts of the items are matched. Typically this will occur when the smooth walking process described above reaches a region with substantially different parameters. In all of these techniques it is possible to use the total number of match points across the disjoint regions as the true match count (rather than just the match count in the region with the greatest such number).
The foregoing description, for purpose of explanation, has been with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles of the disclosure and its practical applications, to thereby enable others skilled in the art to best utilize the disclosure and various embodiments with various modifications as are suited to the particular use contemplated. The teachings of U.S. patent application 63/014,680 is incorporated herein by reference.
The system and method disclosed herein may be implemented via one or more components, systems, servers, appliances, other subcomponents, or distributed between such elements. When implemented as a system, such systems may include and/or involve, inter alia, components such as software modules, general-purpose CPU, RAM, etc. found in general-purpose computers. In implementations where the innovations reside on a server, such a server may include or involve components such as CPU, RAM, etc., such as those found in general-purpose computers.
Additionally, the system and method herein may be achieved via implementations with disparate or entirely different software, hardware and/or firmware components, beyond that set forth above. With regard to such other components (e.g., software, processing components, etc.) and/or computer-readable media associated with or embodying the present inventions, for example, aspects of the innovations herein may be implemented consistent with numerous general purpose or special purpose computing systems or configurations. Various exemplary computing systems, environments, and/or configurations that may be suitable for use with the innovations herein may include, but are not limited to: software or other components within or embodied on personal computers, servers or server computing devices such as routing/connectivity components, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, consumer electronic devices, network PCs, other existing computer platforms, distributed computing environments that include one or more of the above systems or devices, etc.
In some instances, aspects of the system and method may be achieved via or performed by logic and/or logic instructions including program modules, executed in association with such components or circuitry, for example. In general, program modules may include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular instructions herein. The inventions may also be practiced in the context of distributed software, computer, or circuit settings where circuitry is connected via communication buses, circuitry or links. In distributed settings, control/instructions may occur from both local and remote computer storage media including memory storage devices.
The software, circuitry and components herein may also include and/or utilize one or more type of computer readable media. Computer readable media can be any available media that is resident on, associable with, or can be accessed by such circuits and/or computing components. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and can accessed by computing component. Communication media may comprise computer readable instructions, data structures, program modules and/or other components. Further, communication media may include wired media such as a wired network or direct-wired connection, however no media of any such type herein includes transitory media. Combinations of the any of the above are also included within the scope of computer readable media.
In the present description, the terms component, module, device, etc. may refer to any type of logical or functional software elements, circuits, blocks and/or processes that may be implemented in a variety of ways. For example, the functions of various circuits and/or blocks can be combined with one another into any other number of modules. Each module may even be implemented as a software program stored on a tangible memory (e.g., random access memory, read only memory, CD-ROM memory, hard disk drive, etc.) to be read by a central processing unit to implement the functions of the innovations herein. Or, the modules can comprise programming instructions transmitted to a general-purpose computer or to processing/graphics hardware via a transmission carrier wave. Also, the modules can be implemented as hardware logic circuitry implementing the functions encompassed by the innovations herein. Finally, the modules can be implemented using special purpose instructions (SIMD instructions), field programmable logic arrays or any mix thereof which provides the desired level performance and cost.
As disclosed herein, features consistent with the disclosure may be implemented via computer-hardware, software, and/or firmware. For example, the systems and methods disclosed herein may be embodied in various forms including, for example, a data processor, such as a computer that also includes a database, digital electronic circuitry, firmware, software, or in combinations of them. Further, while some of the disclosed implementations describe specific hardware components, systems and methods consistent with the innovations herein may be implemented with any combination of hardware, software and/or firmware. Moreover, the above-noted features and other aspects and principles of the innovations herein may be implemented in various environments. Such environments and related applications may be specially constructed for performing the various routines, processes and/or operations according to the invention or they may include a general-purpose computer or computing platform selectively activated or reconfigured by code to provide the necessary functionality. The processes disclosed herein are not inherently related to any particular computer, network, architecture, environment, or other apparatus, and may be implemented by a suitable combination of hardware, software, and/or firmware. For example, various general-purpose machines may be used with programs written in accordance with teachings of the invention, or it may be more convenient to construct a specialized apparatus or system to perform the required methods and techniques.
Aspects of the method and system described herein, such as the logic, may also be implemented as functionality programmed into any of a variety of circuitry, including programmable logic devices (“PLDs”), such as field programmable gate arrays (“FPGAs”), programmable array logic (“PAL”) devices, electrically programmable logic and memory devices and standard cell-based devices, as well as application specific integrated circuits. Some other possibilities for implementing aspects include: memory devices, microcontrollers with memory (such as EEPROM), embedded microprocessors, firmware, software, etc. Furthermore, aspects may be embodied in microprocessors having software-based circuit emulation, discrete logic (sequential and combinatorial), custom devices, fuzzy (neural) logic, quantum devices, and hybrids of any of the above device types. The underlying device technologies may be provided in a variety of component types, e.g., metal-oxide semiconductor field-effect transistor (“MOSFET”) technologies like complementary metal-oxide semiconductor (“CMOS”), bipolar technologies like emitter-coupled logic (“ECL”), polymer technologies (e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures), mixed analog and digital, and so on.
It should also be noted that the various logic and/or functions disclosed herein may be enabled using any number of combinations of hardware, firmware, and/or as data and/or instructions embodied in various machine-readable or computer-readable media, in terms of their behavioral, register transfer, logic component, and/or other characteristics. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) though again does not include transitory media. Unless the context clearly requires otherwise, throughout the description, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in a sense of “including, but not limited to.” Words using the singular or plural number also include the plural or singular number respectively. Additionally, the words “herein,” “hereunder,” “above,” “below,” and words of similar import refer to this application as a whole and not to any particular portions of this application. When the word “or” is used in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list.
Although certain presently preferred implementations of the invention have been specifically described herein, it will be apparent to those skilled in the art to which the invention pertains that variations and modifications of the various implementations shown and described herein may be made without departing from the spirit and scope of the invention. Accordingly, it is intended that the invention be limited only to the extent required by the applicable rules of law.
While the foregoing has been with reference to a particular embodiment of the disclosure, it will be appreciated by those skilled in the art that changes in this embodiment may be made without departing from the principles and spirit of the disclosure, the scope of which is defined by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
4218674 | Brosow et al. | Aug 1980 | A |
4423415 | Goldman | Dec 1983 | A |
4677435 | Causse et al. | Jun 1987 | A |
4700400 | Ross | Oct 1987 | A |
4883971 | Jensen | Nov 1989 | A |
4921107 | Hofer | May 1990 | A |
5031223 | Rosenbaum et al. | Jul 1991 | A |
5079714 | Manduley et al. | Jan 1992 | A |
5393939 | Nasuta et al. | Feb 1995 | A |
5422821 | Allen et al. | Jun 1995 | A |
5514863 | Williams | May 1996 | A |
5518122 | Tilles et al. | May 1996 | A |
5521984 | Denenberg et al. | May 1996 | A |
5703783 | Allen et al. | Dec 1997 | A |
5719939 | Tel | Feb 1998 | A |
5734568 | Borgendale et al. | Mar 1998 | A |
5745590 | Pollard | Apr 1998 | A |
5883971 | Bolle et al. | Mar 1999 | A |
5923848 | Goodhand et al. | Jul 1999 | A |
5974150 | Kaish et al. | Oct 1999 | A |
6205261 | Goldberg | Mar 2001 | B1 |
6246794 | Kagehiro et al. | Jun 2001 | B1 |
6292709 | Uhl et al. | Sep 2001 | B1 |
6327373 | Yura | Dec 2001 | B1 |
6343327 | Daniels et al. | Jan 2002 | B2 |
6360001 | Berger et al. | Mar 2002 | B1 |
6370259 | Hobson et al. | Apr 2002 | B1 |
6400805 | Brown et al. | Jun 2002 | B1 |
6424728 | Ammar | Jul 2002 | B1 |
6434601 | Rollins | Aug 2002 | B1 |
6470091 | Koga et al. | Oct 2002 | B2 |
6539098 | Baker et al. | Mar 2003 | B1 |
6549892 | Sansone | Apr 2003 | B1 |
6597809 | Ross et al. | Jul 2003 | B1 |
6643648 | Ross et al. | Nov 2003 | B1 |
6697500 | Woolston et al. | Feb 2004 | B2 |
6741724 | Bruce et al. | May 2004 | B1 |
6768810 | Emanuelsson et al. | Jul 2004 | B2 |
6778703 | Zlotnick | Aug 2004 | B1 |
6805926 | Cote et al. | Oct 2004 | B2 |
6816602 | Coffelt et al. | Nov 2004 | B2 |
6829369 | Poulin et al. | Dec 2004 | B2 |
6961466 | Imagawa et al. | Nov 2005 | B2 |
6985925 | Ogawa | Jan 2006 | B2 |
6985926 | Ferlauto et al. | Jan 2006 | B1 |
7016532 | Boncyk et al. | Mar 2006 | B2 |
7031519 | Elmenhurst | Apr 2006 | B2 |
7096152 | Ong | Aug 2006 | B1 |
7120302 | Billester | Oct 2006 | B1 |
7121458 | Avant et al. | Oct 2006 | B2 |
7152047 | Nagel | Dec 2006 | B1 |
7171049 | Snapp | Jan 2007 | B2 |
7204415 | Payne et al. | Apr 2007 | B2 |
7212949 | Bachrach | May 2007 | B2 |
7333987 | Ross et al. | Feb 2008 | B2 |
7343623 | Ross | Mar 2008 | B2 |
7356162 | Caillon | Apr 2008 | B2 |
7379603 | Ross et al. | May 2008 | B2 |
7436979 | Bruce et al. | Oct 2008 | B2 |
7477780 | Boncyk et al. | Jan 2009 | B2 |
7518080 | Amato | Apr 2009 | B2 |
7602938 | Prokoski | Oct 2009 | B2 |
7674995 | Desprez et al. | Mar 2010 | B2 |
7676433 | Ross et al. | Mar 2010 | B1 |
7680306 | Boutant et al. | Mar 2010 | B2 |
7720256 | Desprez et al. | May 2010 | B2 |
7726457 | Maier et al. | Jun 2010 | B2 |
7726548 | Delavergne | Jun 2010 | B2 |
7748029 | Ross | Jun 2010 | B2 |
7822263 | Prokoski | Oct 2010 | B1 |
7834289 | Orbke et al. | Nov 2010 | B2 |
7853792 | Cowburn | Dec 2010 | B2 |
8022832 | Vogt et al. | Sep 2011 | B2 |
8032927 | Ross | Oct 2011 | B2 |
8108309 | Tan | Jan 2012 | B2 |
8180174 | Di et al. | May 2012 | B2 |
8180667 | Baluja et al. | May 2012 | B1 |
8194938 | Wechsler et al. | Jun 2012 | B2 |
8316418 | Ross | Nov 2012 | B2 |
8374020 | Katti | Feb 2013 | B2 |
8374399 | Talwerdi | Feb 2013 | B1 |
8374920 | Hedges et al. | Feb 2013 | B2 |
8391583 | Mennie et al. | Mar 2013 | B1 |
8428772 | Miette et al. | Apr 2013 | B2 |
8437530 | Mennie et al. | May 2013 | B1 |
8457354 | Kolar et al. | Jun 2013 | B1 |
8477992 | Paul et al. | Jul 2013 | B2 |
8520888 | Spitzig et al. | Aug 2013 | B2 |
8526743 | Campbell et al. | Sep 2013 | B1 |
8774455 | Elmenhurst et al. | Jul 2014 | B2 |
8959029 | Jones et al. | Feb 2015 | B2 |
9031329 | Farid et al. | May 2015 | B1 |
9058543 | Campbell et al. | Jun 2015 | B2 |
9152862 | Ross et al. | Oct 2015 | B2 |
9170654 | Boncyk et al. | Oct 2015 | B1 |
9224196 | Duerksen et al. | Dec 2015 | B2 |
9234843 | Sopori et al. | Jan 2016 | B2 |
9245133 | Durst et al. | Jan 2016 | B1 |
9350552 | Elmenhurst et al. | May 2016 | B2 |
9350714 | Freeman et al. | May 2016 | B2 |
9361507 | Hoyos et al. | Jun 2016 | B1 |
9361596 | Ross et al. | Jun 2016 | B2 |
9424461 | Yuan et al. | Aug 2016 | B1 |
9443298 | Ross et al. | Sep 2016 | B2 |
9558463 | Ross et al. | Jan 2017 | B2 |
9582714 | Ross et al. | Feb 2017 | B2 |
9646206 | Ross et al. | May 2017 | B2 |
9665800 | Kuffner | May 2017 | B1 |
9741724 | Seshadri et al. | Aug 2017 | B2 |
10037537 | Withrow et al. | Jul 2018 | B2 |
10043073 | Ross et al. | Aug 2018 | B2 |
10192140 | Ross et al. | Jan 2019 | B2 |
10199886 | Li et al. | Feb 2019 | B2 |
10346852 | Ross et al. | Jul 2019 | B2 |
10505726 | Andon et al. | Dec 2019 | B1 |
10540664 | Ross et al. | Jan 2020 | B2 |
10572883 | Ross et al. | Feb 2020 | B2 |
10621594 | Land et al. | Apr 2020 | B2 |
20010010334 | Park et al. | Aug 2001 | A1 |
20010054031 | Lee et al. | Dec 2001 | A1 |
20020015515 | Lichtermann et al. | Feb 2002 | A1 |
20020073049 | Dutta | Jun 2002 | A1 |
20020134836 | Cash et al. | Sep 2002 | A1 |
20020168090 | Bruce et al. | Nov 2002 | A1 |
20030015395 | Hallowell et al. | Jan 2003 | A1 |
20030046103 | Amato et al. | Mar 2003 | A1 |
20030091724 | Mizoguchi | May 2003 | A1 |
20030120677 | Vernon | Jun 2003 | A1 |
20030138128 | Rhoads | Jul 2003 | A1 |
20030179931 | Sun | Sep 2003 | A1 |
20030182018 | Snapp | Sep 2003 | A1 |
20030208298 | Edmonds | Nov 2003 | A1 |
20030219145 | Smith | Nov 2003 | A1 |
20040027630 | Lizotte | Feb 2004 | A1 |
20040101174 | Sato et al. | May 2004 | A1 |
20040112962 | Farrall et al. | Jun 2004 | A1 |
20040218791 | Jiang et al. | Nov 2004 | A1 |
20040218801 | Houle et al. | Nov 2004 | A1 |
20040250085 | Tattan et al. | Dec 2004 | A1 |
20050007776 | Monk et al. | Jan 2005 | A1 |
20050038756 | Nagel | Feb 2005 | A1 |
20050065719 | Khan et al. | Mar 2005 | A1 |
20050086256 | Owens et al. | Apr 2005 | A1 |
20050111618 | Sommer et al. | May 2005 | A1 |
20050119786 | Kadaba | Jun 2005 | A1 |
20050125360 | Tidwell et al. | Jun 2005 | A1 |
20050131576 | De et al. | Jun 2005 | A1 |
20050137882 | Cameron et al. | Jun 2005 | A1 |
20050160271 | Brundage et al. | Jul 2005 | A9 |
20050169529 | Owechko et al. | Aug 2005 | A1 |
20050188213 | Xu | Aug 2005 | A1 |
20050204144 | Mizutani | Sep 2005 | A1 |
20050251285 | Boyce et al. | Nov 2005 | A1 |
20050257064 | Boutant et al. | Nov 2005 | A1 |
20050289061 | Kulakowski et al. | Dec 2005 | A1 |
20060010503 | Inoue et al. | Jan 2006 | A1 |
20060083414 | Neumann et al. | Apr 2006 | A1 |
20060109520 | Gossaye et al. | May 2006 | A1 |
20060131518 | Ross et al. | Jun 2006 | A1 |
20060177104 | Prokoski | Aug 2006 | A1 |
20060253406 | Caillon | Nov 2006 | A1 |
20070056041 | Goodman | Mar 2007 | A1 |
20070071291 | Yumoto et al. | Mar 2007 | A1 |
20070085710 | Bousquet et al. | Apr 2007 | A1 |
20070094155 | Dearing | Apr 2007 | A1 |
20070211651 | Ahmed et al. | Sep 2007 | A1 |
20070211964 | Agam et al. | Sep 2007 | A1 |
20070230656 | Lowes et al. | Oct 2007 | A1 |
20070263267 | Ditt | Nov 2007 | A1 |
20070269043 | Launay et al. | Nov 2007 | A1 |
20070282900 | Owens et al. | Dec 2007 | A1 |
20080008377 | Andel et al. | Jan 2008 | A1 |
20080011841 | Self et al. | Jan 2008 | A1 |
20080128496 | Bertranou et al. | Jun 2008 | A1 |
20080130947 | Ross et al. | Jun 2008 | A1 |
20080219503 | Di et al. | Sep 2008 | A1 |
20080250483 | Lee | Oct 2008 | A1 |
20080255758 | Graham et al. | Oct 2008 | A1 |
20080272585 | Conard et al. | Nov 2008 | A1 |
20080290005 | Bennett et al. | Nov 2008 | A1 |
20080294474 | Furka | Nov 2008 | A1 |
20090028379 | Belanger et al. | Jan 2009 | A1 |
20090057207 | Orbke et al. | Mar 2009 | A1 |
20090106042 | Maytal et al. | Apr 2009 | A1 |
20090134222 | Ikeda | May 2009 | A1 |
20090154778 | Lei et al. | Jun 2009 | A1 |
20090157733 | Kim et al. | Jun 2009 | A1 |
20090223099 | Versteeg | Sep 2009 | A1 |
20090232361 | Miller | Sep 2009 | A1 |
20090245652 | Bastos | Oct 2009 | A1 |
20090271029 | Doutre | Oct 2009 | A1 |
20090287498 | Choi | Nov 2009 | A2 |
20090307005 | Omartin et al. | Dec 2009 | A1 |
20100027834 | Spitzig et al. | Feb 2010 | A1 |
20100054551 | Decoux | Mar 2010 | A1 |
20100070527 | Chen | Mar 2010 | A1 |
20100104200 | Baras et al. | Apr 2010 | A1 |
20100157064 | Cheng et al. | Jun 2010 | A1 |
20100163612 | Caillon | Jul 2010 | A1 |
20100166303 | Rahimi | Jul 2010 | A1 |
20100174406 | Miette et al. | Jul 2010 | A1 |
20100286815 | Zimmermann | Nov 2010 | A1 |
20110026831 | Perronnin et al. | Feb 2011 | A1 |
20110064279 | Uno | Mar 2011 | A1 |
20110081043 | Sabol et al. | Apr 2011 | A1 |
20110091068 | Stuck et al. | Apr 2011 | A1 |
20110161117 | Busque et al. | Jun 2011 | A1 |
20110188709 | Gupta et al. | Aug 2011 | A1 |
20110194780 | Li et al. | Aug 2011 | A1 |
20110235920 | Iwamoto et al. | Sep 2011 | A1 |
20110267192 | Goldman et al. | Nov 2011 | A1 |
20120042171 | White et al. | Feb 2012 | A1 |
20120089639 | Wang | Apr 2012 | A1 |
20120130868 | Loeken | May 2012 | A1 |
20120177281 | Frew | Jul 2012 | A1 |
20120185393 | Atsmon et al. | Jul 2012 | A1 |
20120199651 | Glazer | Aug 2012 | A1 |
20120242481 | Gernandt et al. | Sep 2012 | A1 |
20120243797 | Di Venuto Dayer et al. | Sep 2012 | A1 |
20120250945 | Peng et al. | Oct 2012 | A1 |
20130162394 | Etchegoyen | Jun 2013 | A1 |
20130212027 | Sharma et al. | Aug 2013 | A1 |
20130214164 | Zhang et al. | Aug 2013 | A1 |
20130273968 | Rhoads et al. | Oct 2013 | A1 |
20130277425 | Sharma et al. | Oct 2013 | A1 |
20130284803 | Wood et al. | Oct 2013 | A1 |
20140032322 | Schwieger et al. | Jan 2014 | A1 |
20140140570 | Ross et al. | May 2014 | A1 |
20140140571 | Elmenhurst et al. | May 2014 | A1 |
20140184843 | Campbell et al. | Jul 2014 | A1 |
20140201094 | Herrington et al. | Jul 2014 | A1 |
20140270341 | Elmenhurst et al. | Sep 2014 | A1 |
20140314283 | Harding | Oct 2014 | A1 |
20140380446 | Niu et al. | Dec 2014 | A1 |
20150058142 | Lenahan et al. | Feb 2015 | A1 |
20150067346 | Ross et al. | Mar 2015 | A1 |
20150078629 | Gottemukkula et al. | Mar 2015 | A1 |
20150086068 | Mulhearn et al. | Mar 2015 | A1 |
20150117701 | Ross et al. | Apr 2015 | A1 |
20150127430 | Hammer | May 2015 | A1 |
20150248587 | Oami et al. | Sep 2015 | A1 |
20150294189 | Benhimane et al. | Oct 2015 | A1 |
20150309502 | Breitgand et al. | Oct 2015 | A1 |
20150371087 | Ross et al. | Dec 2015 | A1 |
20160034914 | Gonen et al. | Feb 2016 | A1 |
20160055651 | Oami | Feb 2016 | A1 |
20160057138 | Hoyos et al. | Feb 2016 | A1 |
20160117631 | Mccloskey et al. | Apr 2016 | A1 |
20160162734 | Ross et al. | Jun 2016 | A1 |
20160180546 | Kim et al. | Jun 2016 | A1 |
20160189510 | Hutz | Jun 2016 | A1 |
20160203387 | Lee et al. | Jul 2016 | A1 |
20160300234 | Moss-Pultz et al. | Oct 2016 | A1 |
20160335520 | Ross et al. | Nov 2016 | A1 |
20170004444 | Krasko et al. | Jan 2017 | A1 |
20170032285 | Sharma et al. | Feb 2017 | A1 |
20170132458 | Short et al. | May 2017 | A1 |
20170153069 | Huang et al. | Jun 2017 | A1 |
20170243230 | Ross et al. | Aug 2017 | A1 |
20170243231 | Withrow et al. | Aug 2017 | A1 |
20170243232 | Ross et al. | Aug 2017 | A1 |
20170243233 | Land et al. | Aug 2017 | A1 |
20170249491 | Macintosh et al. | Aug 2017 | A1 |
20170251143 | Peruch et al. | Aug 2017 | A1 |
20170253069 | Kerkar et al. | Sep 2017 | A1 |
20170295301 | Liu et al. | Oct 2017 | A1 |
20170300905 | Withrow et al. | Oct 2017 | A1 |
20170344823 | Withrow et al. | Nov 2017 | A1 |
20170344824 | Martin | Nov 2017 | A1 |
20170372327 | Withrow | Dec 2017 | A1 |
20180012008 | Withrow et al. | Jan 2018 | A1 |
20180018627 | Ross et al. | Jan 2018 | A1 |
20180018838 | Fankhauser et al. | Jan 2018 | A1 |
20180024074 | Ranieri et al. | Jan 2018 | A1 |
20180024178 | House et al. | Jan 2018 | A1 |
20180047128 | Ross et al. | Feb 2018 | A1 |
20180053312 | Ross et al. | Feb 2018 | A1 |
20180121643 | Talwerdi et al. | May 2018 | A1 |
20180144211 | Ross et al. | May 2018 | A1 |
20180315058 | Withrow et al. | Nov 2018 | A1 |
20180349694 | Ross et al. | Dec 2018 | A1 |
20190026581 | Leizerson | Jan 2019 | A1 |
20190034518 | Liu et al. | Jan 2019 | A1 |
20190034694 | Ross | Jan 2019 | A1 |
20190102873 | Wang et al. | Apr 2019 | A1 |
20190102973 | Oyama et al. | Apr 2019 | A1 |
20190130082 | Alameh et al. | May 2019 | A1 |
20190228174 | Withrow et al. | Jul 2019 | A1 |
20190287118 | Ross et al. | Sep 2019 | A1 |
20190342102 | Hao et al. | Nov 2019 | A1 |
20200153822 | Land et al. | May 2020 | A1 |
20200226366 | Withrow et al. | Jul 2020 | A1 |
20200233901 | Crowley et al. | Jul 2020 | A1 |
20200250395 | Ross et al. | Aug 2020 | A1 |
20200257791 | Shannon et al. | Aug 2020 | A1 |
20200334689 | Withrow | Oct 2020 | A1 |
20200349379 | Ross | Nov 2020 | A1 |
20200356772 | Withrow et al. | Nov 2020 | A1 |
Number | Date | Country |
---|---|---|
102006005927 | Aug 2007 | DE |
0439669 | Aug 1991 | EP |
0759596 | Feb 1997 | EP |
1016548 | Jul 2000 | EP |
1016549 | Jul 2000 | EP |
1719070 | Apr 2009 | EP |
2107506 | Oct 2009 | EP |
2166493 | Mar 2010 | EP |
2195621 | Nov 2013 | EP |
2866193 | Apr 2015 | EP |
2257909 | May 2015 | EP |
2869240 | May 2015 | EP |
2869241 | May 2015 | EP |
3208744 | Aug 2017 | EP |
3249581 | Nov 2017 | EP |
3270342 | Jan 2018 | EP |
3435287 | Jan 2019 | EP |
3514715 | Jul 2019 | EP |
2097979 | Nov 1982 | GB |
2482127 | Jan 2012 | GB |
61234481 | Oct 1986 | JP |
H07192112 | Jul 1995 | JP |
2007213148 | Aug 2007 | JP |
20120009654 | Feb 2012 | KR |
2005086616 | Sep 2005 | WO |
2006038114 | Apr 2006 | WO |
2007028799 | Mar 2007 | WO |
2007031176 | Mar 2007 | WO |
2007071788 | Jun 2007 | WO |
2007090437 | Aug 2007 | WO |
2007144598 | Dec 2007 | WO |
2009030853 | Mar 2009 | WO |
2009089126 | Jul 2009 | WO |
2009115611 | Sep 2009 | WO |
2010018464 | Feb 2010 | WO |
2010018646 | Feb 2010 | WO |
2012145842 | Nov 2012 | WO |
2013051019 | Apr 2013 | WO |
2013126221 | Aug 2013 | WO |
2013173408 | Nov 2013 | WO |
2015004434 | Jan 2015 | WO |
2016081831 | May 2016 | WO |
Entry |
---|
Anonymous, “Intrinsic Characteristics for Authentication” & “Alp Vision Advances Security Through Digital Technology,” Authentication News vol. 12, (No. 9) pp. 2, 7 and 8, dated Sep. 2006, 3 pages total. |
Bao et al., “Local Feature based Multiple Object Instance Identification using Scale and Rotation Invariant Implicit Shape Model,” 12th Asian Conference on Computer Vision, Singapore, Singapore, Nov. 1-5, 2014, pp. 600-614. |
Beekhof et al., “Secure Surface Identification Codes,” Proceeding of the SPIE 6819: Security Forensics, Steganography, and Watermarking of Multimedia Contents X:68190D, 2008. (12 pages). |
Buchanan et al., “Fingerprinting documents and packaging,” Nature 436 (7050): 475, 2005. |
Cavoukian et al. “Biometric Encryption: Technology for Strong Authentication, Security and Privacy,” 2008, WE, Intl. Fed. Iot Info Processing, vol. 261; Policies and Research in Identity Management; pp. 57-77. |
Di Paola et al., “An Autonomous Mobile Robotic System for Surveillance of Indoor Environments,” International Journal of Advanced Robotic Systems 7(1): 19-26, 2010. |
Drew, M. S., et al., “Sharpening from Shadows: Sensor Transforms for Removing Shadows using a Single Image,” Color and Imaging Conference, vol. 5, Society for Imaging Science and Technology, 2009, pp. 267-271. |
Ebay, “eBay Launches Must-Have !Phone App Red Laser 3.0” published Nov. 18, 2011; https://www.ebayinc.com/stories/news/ebay-launches-must-have-iphone-app-redlaser-30/, downloaded Mar. 21, 2019, 7 pages). |
Entropy.com Website History, Wayback Machine; https://web.archive.org/web/20 I 60330060808/https://www.entrupy.com/; Mar. 30, 2016 (Year: 2016), 2 pages. |
Extended European Search Report Application No. 21153877.2, dated Jun. 15, 2021, 8 pages. |
Extended European Search Report, dated Jun. 18, 2021, for European Application No. 21153355.9, 8 pages. |
Farid, “Digital Image Forensics”, Dartmouth CS 89/189, Sprint 2013; 199 pages. |
Fischler et al., “Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography,” Communication of the ACM 24(6); 381-395, 1981. |
Huang et al., “A Novel Binarization Algorithm for Ballistic Imaging Systems,” 3rd International Congress on Image and Signal Processing, Yantai, China, Oct. 16-18, 2010, pp. 1287-1291. |
Huang, et al., “An Online Ballistics Imaging System for Firearm Identification”; 2nd International Conference on Signal Processing Systems, Dalian, China, Jul. 5-7, 2010, vol. 2, pp. 68-72. |
Kartik et al., “Security System with Face Recognition, SMS Alert and Embedded Network Video Monitoring Terminal,” International Journal of Security, Privacy and Trust Management 2(5):9-19, 2013. |
Li, “Image Processing for the Positive Identification of Forensic Ballistics Specimens,” Proceedings of the 6th International Conference of Information Fusion, Cairns, Australia, Jul. 8-11, 2003, pp. 1494-1498. |
Li, “Firearm Identification System Based on Ballistics Image Processing,” Congress on Image and Signal Processing, School of Computer and Information Science, Faculty of Computing, Health and Science Edith Cowan University, Perth, Australia pp. 149-154. |
Maddern et al., “Illumination Invariant Imaging: Applications in Robust Vision-based Localization, Mapping and Classification for Autonomous Vehicles,” IEEE International Conference on Robotics and Automation, Hong Kong, May 31-Jun. 7, 2014, 8 pages. |
Matsumoto et al., “Nano-artifact metrics based on random collapse of resist,” Scientific Reports 4:6142, 2014 (5 pages). |
Mistry et al., “Comparison of Feature Detection and Matching Approaches: SIFT and SURF,” Global Research and Development Journal for Engineering, vol. 2, Issue 4, Mar. 2017, 8 pages. |
Online NCOALink ® Processing Acknowledgement Form (PAF) Released by Lorton Data, Jun. 2, 2009, URL=http://us.generation-nt.com/online-ncoalink-processingacknowledgement-form-paf-released-by-press-1567191.html, download date Jun. 25, 2010, 2 pages. |
Rublee et al., “ORB: an efficient alternative to SIFT or SURF,” IEEE International Conference on Computer Vision, Barcelona, Spain, Nov. 6-13, 2011, 8 pages. |
Schneider et al., “A Robust Content Based Digital Signature for Image Authentication,” Proceeding of the International Conference on Image Processing Lausanne, Switzerland, Sep. 19, 1996, pp. 227-230. |
Schwabe Williamson & Wyatt, PC—Listing of Related Cases; dated Sep. 16, 2017; 2 pages. |
Sharma et al., “The Fake vs Real Goods Problem: Microscopy and Machine Learning to the Rescue,” KDD 2017 Applied Data Science Paper, Aug. 13-17, 2017, Halifax, NS, Canada, 9 pages. |
Shi et al., “Smart Cameras: Fundamentals and Classification,” Chapter 2, Belbachir (ed.), Smart Cameras, Springer, New York, New York, USA 2010, pp. 19-34. |
Shields, “HowTo Shop Savvy With Red Laser,” published online on Mar. 22, 2010; https ://i phone .appstomn .net/reviews/lifesty le/how-to-shop-savvy-with-redlaser /, downloaded Mar. 22, 2010, 8 pages). |
Smith, “Fireball: A Forensic Ballistic Imaging System: Proceedings of the 31st Annual International Carnahan Conference on Security Technology,” Canberra, Australia, Oct. 15-17, 1997, pp. 64-70. |
Takahashi et al., “Mass-produced Parts Traceability System Based on Automated Scanning of Fingerprint of Things,” 15th IAPR International Conference on Machine Vision Applications, Nagoya, Japan, May 8-12, 2017, 5 pages. |
United States Postal Service, “NCOALink Systems”, http://www.usps.com/ncsc/addressservices/moveupdate/changeaddress.htm, website accessed Jun. 23, 2010, 2 pages. |
United States Postal Service, “Postal Addressing Standards,” Publication Jul. 28, 2008, 55 pages. |
United States Postal Services, NCOALink® Systems, dated May 27, 2009, URL=http://ribbs.usps.gov/ncoalink/ncoalink_print.htm, download date Jun. 23, 2010, 3 pages. |
Veena et al., “Automatic Theft Security System (Smart Surveillance Camera),” Computer Science & Information Technology 3:75-87, 2013. |
Woods, “Counterfeit-spotting truth machine launches out of Dumbo,” published online on Feb. 11, 2016, downloaded from http://technically/brooklyn/2016/02/11/entrupy-counterfeit-scanner/ on Mar. 20, 2019, 3 pages. |
Farid, Ahmed , et al., “Integrated fingerprint verification method using a composite signature-based watermarking technique”, Optical Engineering, The Catholic University of America, (Year: 2007), 6 pages. |
Jain, Anil K, et al., “Biometric Cryptosystems: Issues and Challenges”, Proceedings of the IEEE, IEEE, New York, US, vol. 92, No. 6, Jun. 1, 2004, XP011112757, pp. 948-960. |
Truong, Hieu C, et al., “Royal Canadian Mint/Signoptic Technologies Coin DNA Technology”, World Money Fair (WMF) Berlin Feb. 1-3, 2011, http://www.amisdeleuro.org/upload/1340734488.pptx, 22 pages. |
Zaeri, Naser , “Minutiae-based Fingerprint Extraction and Recognition, 2020 (year 2010)”, 47 pages. |
Number | Date | Country | |
---|---|---|---|
63014680 | Apr 2020 | US |