The present invention relates generally to the field of fingerprint analysis, and, more specifically, to an apparatus and process of minutiae matching for fingerprint identification or verification.
Fingerprints have been widely used for many years as a means for identification or verification of an individual's identity. For many years, experts in the field of fingerprints would manually compare sample fingerprints to determine if two prints matched each other, which allowed for identification or verification of the person that created the fingerprint. In more recent times, fingerprint recognition has been improved by using computer analysis techniques developed to compare a fingerprint with one or more stored sample fingerprints.
Computer analysis of fingerprints has typically involved comparing a complete fingerprint against one or more known samples. In applications where the objective is to identify an individual from a fingerprint sample, the subject fingerprint sample is typically compared to a large volume of samples taken from many people. The volume of samples are typically stored in a database, and the subject print is compared to each fingerprint in the database to determine if there exists a match between the subject sample and any of the samples in the database. For example, a fingerprint sample obtained at a crime scene might be compared to fingerprints in a database containing fingerprints of individuals with prior criminal histories in an attempt to identify the suspect. In applications where the objective is to verify an individual from a fingerprint sample, the subject fingerprint is typically compared to a smaller number of fingerprint samples. For example, fingerprint verification may be used to allow access to a restricted area. A person's fingerprint is sampled and compared against known fingerprints of that individual. A match would indicate a verification of the individual's identity (i.e., that the individual providing the sample is, in fact, the individual whose fingerprints are contained in the database) and access would be allowed.
In many identification and/or verification processes, a fingerprint pad is typically used to obtain the subject sample. A fingerprint pad is typically a small square sensor, usually one-half inch by one-half inch in size, upon which a person places his or her finger. A single image of the person's complete fingerprint is taken, normally using some form of camera or imaging device. The captured image is typically digitized and stored as a digital image that can be compared to other stored images of fingerprints.
More recently, swipe sensors have been developed to obtain fingerprint samples. A swipe sensor is typically a thin, rectangular shaped device measuring approximately one-half inch by one-sixteenth inch. The swipe sensor obtains a number of small images, or snapshots, as a finger is swiped past the sensor. A complete fingerprint image is obtaining by processing these snapshots to form a composite image. The compiling of the smaller images into a complete fingerprint is typically referred to as “stitching” the images.
The developments in swipe sensors have facilitated using fingerprint technology in a variety applications. Recently, fingerprint techniques have been applied to smaller devices, such as smart cards. Processing fingerprints using a swipe sensor, however, typically requires extensive computing resources. Powerful microprocessors, significant amounts of memory, and a relatively long processing time have typically been required to adequately stitch the snapshots into complete images and compare the sampled images with known templates.
A method is provided for print analysis comprising compiling a list of sample minutiae points from a sample image, assigning a predetermined set of evaluation criteria to each sample minutiae point, performing a first matching process to determine a list of potential matching points residing in a template image, performing a second matching process whereby each potentially matching pair is evaluated in accordance to a second set of predetermined evaluation criteria, and determining if the sample image matches the template image based upon results of the second matching process.
Additional objects, advantages, and novel features of the invention will be set forth in part in the description, examples, and figures which follow, all of which are intended to be for illustrative purposes only, and not intended in any way to limit the invention, and in part will become apparent those skilled in the art on examination of the following, or may be learned by practice of the invention.
For the purpose of illustrating the invention, there is shown in the drawings one exemplary implementation; however, it is understood that this invention is not limited to the precise arrangements and instrumentalities shown.
Overview
The comparison of a subject fingerprint with one or more sample fingerprint typically involves identifying a plurality of minutiae points in the sample fingerprint and comparing these points to similarly identified points found in the template print. Minutia points are details contained within a fingerprint. Typically, minutiae points comprises points where ridge lines terminate (end minutiae) or divide (bifurcation minutiae).
Minutiae matching algorithms have been developed to compare minutiae points of fingerprints to determine whether a sample print is a match to a template print. These algorithms are typically contained in an application that is run on a computer (e.g., desktop computer, laptop computer). Such applications typically require a large volume of overhead (e.g., memory, hardware, processing resources) to execute. As a result of the high volume of data that is stored and manipulated in a minutiae matching process, a significant amount of memory and processing power is typically needed.
Recent developments in fingerprint sensors such as swipe sensors have increased the popularity of using fingerprint sensors on smaller, less powerful devices (e.g., smartcards). One drawback to using minutiae matching algorithms with such devices is that often the amount of memory and/or processing power is not available on the smart card. In cases where sufficient memory exists, the minutiae matching application often uses the majority available and thus the card is unable to use other applications simultaneously. A need exists for a minutiae matching technique that can be performed using less powerful processors and that requires a smaller amount of memory. Such a technique would enable further developments in areas where fingerprint matching is performed without immediate access to higher power computing devices.
Minutiae Matching Using Reduced Memory
Typical fingerprint matching techniques rely on extracting and identifying many features of a fingerprint. These features include termination or end minutia (i.e., the point at which a ridge line ends) and bifurcation minutiae (the point at which a ridge line divides into two or more lines). The exemplary embodiment of the present invention shall be discussed with reference to these two types of minutiae. It would, however, be apparent to one of skill in the art that other types of fingerprint minutiae can also be used. Additionally, while the exemplary embodiment is discussed with reference solely to fingerprints, it should be noted that exemplary embodiment can be applied to all types of prints, including thumbprints, toe prints, palm prints, etc.
In an exemplary embodiment, the minutiae matching technique involves evaluating a minutiae points from a sample print against a selected number of minutiae points contained in a template print. By reducing the number of comparison points, less memory and less processing power is required. The basic steps involved in a minutiae matching technique in accordance with an exemplary embodiment of the present invention are shown in
Referring to
After configuring the matching tolerances, a list of minutiae points from the subject print is compiled (12), referred to herein as the sample list. The sample list can typically be obtained by reading a minutiae point from a fingerprint processor, which typically stores a series of points read from a sensor.
Each minutiae point can be classified by a series of characteristics, which are typically stored in a matrix format. Referring to
After storing the characteristics associated with a sample point, a determination is made as to whether the sample list contains sufficient points to perform the matching process (26). This typically involves counting the points in the sample list until the number of points exceeds a predetermined number. The predetermined number is typically configurable by the user in accordance with the accuracy required for a particular application. If the sample list does not contain a sufficient number of points, the process of obtaining a point from the processor and assigning characteristics for comparison is repeated. Once the number of points in the sample list exceeds the predetermined number, the sample list is complete (27).
Following the establishment of the matching parameters and the identification of the minutiae characteristics, a comparison process can be performed to determine if a minutiae point from the sample list is a potential match to a minutiae point in the template (Step 13 of
If the minutiae type of the sample point matches the minutiae type of the selected template point, a comparison of geographic location of the points within their respective fingerprints can be performed. This process reduces the likelihood that a minutiae point in the sample print will be incorrectly matched to a minutiae point in the template print that might have similar characteristics but resides in a different location on the fingerprint. In the exemplary embodiment, a geographic range is defined by the predetermined tolerance in both the horizontal (X) direction and the vertical (Y) direction. A comparison can be performed to determine if the sample point and the template point are within the predetermined tolerance in the X direction (34) and a comparison can be performed to determine if the sample point and the template point are within the predetermined tolerance in the Y direction (35). In one embodiment, a pre-sorting process is performed to reduce the amount of comparisons needed for at least one direction. For example, the sample minutiae points can be sorted in ascending order based upon the Y coordinate of each, and then processed in the sorted order. Once the tolerance level for the Y direction has been exceeded, there is no longer a need to perform a check on any remaining points with respect to the Y tolerance. This is because if the points are pre-sorted in ascending order with respect to the Y direction, all remaining points will have a Y coordinate that is larger and thus falls outside of the tolerance level.
If the pixel location of the minutiae point from the sample list fails to reside within the acceptable tolerance for either the X direction or the Y direction, no further evaluation of this sample point is performed. As described above, a check can be performed to determine if additional minutiae points remain in the template image (38). If so, the next minutiae point in the template can be selected (32) and the comparison process is repeated. If not, a check can be performed to determine if additional points remain on the sample list (35), and, if so, the next sample minutiae point can be selected (31). If not, the point by point comparison process is terminated and a determination of whether the sample print matches the template print can be performed (40), as more fully described below.
If the pixel location resides within the geographic parameter, a comparison of the angle criteria is performed to further determine if the sample point is a potential match to the point in the template (36). The angle criteria for the minutiae point from the subject list is compared to the angle criteria associated with the template minutiae to determine if it resides within the predetermined angle tolerance. Points that fall outside of the tolerance are eliminated. Eliminating points that fall outside of the angle tolerance reduces the likelihood of false reading from users who attempt to fool the system using what is referred to as a “tissue paper” attempt to represent a fingerprint. This term applies to using a crumpled piece of paper to create an image that appears to have a large volume of minutiae. However, while the created image might have a sufficient number of minutiae to create some matching point geographically, each minutiae will have an indeterminate angle measurements and would thus be eliminated from consideration. Thus, in a similar manner to that performed for the X and Y directions, if the angle criteria of the minutiae point from the sample list fails to reside within the acceptable angle tolerance from the angle of the template minutiae point, and no further evaluation of this sample point is performed. A check is performed to determine if additional minutiae points remain in the template image (38). If so, the next minutiae point in the template can be selected (32) and the comparison process is repeated. If not, a check is performed to determine if additional points remain on the sample list (35), and, if so, the next sample minutiae point is selected (31). If not, the point by point comparison process is terminated and a determination of whether the sample print matches the template print is performed (40), as more fully described below.
If the sample minutiae is deemed to match the type, x coordinate, y coordinate, and angle, the sample point can be considered to be a potential match to the template point (37). In the exemplary embodiment, the point is stored in a list of potential matches. At this point, a check is performed to determine if additional minutiae points remain in the template image (38). Despite finding a potential matching template point, the remaining minutiae points in the template can be selected (32) and the comparison process can be repeated to determine if other potential matching points exist. If no additional points remain in the template image, a check is performed to determine if additional points remain on the sample list (35), and, if so, the next sample minutiae point is selected (31). If not, the point by point comparison process is terminated and a determination of whether the sample print matches the template print is performed (40), as more fully described below, and the remaining points in the sample list are evaluated.
Once a list of potential matching points has been compiled, a determination of whether the sample print is an actual match to the template print is performed. Because only the pairs of minutiae points identified as potential matches will be evaluated for actual matching, the process is typically terminated at this point if the process for identification of potentially matching pairs yielded a number of potentially matching pairs less than a predetermined threshold (14 of
Because the process only involves an evaluation of the pairs identified as potential matches, the memory and processing requirements are typically significantly less than those used with prior minutiae matching techniques. In the exemplary embodiment, the potentially matching pairs are stored by calculating the length and angle of a line connecting the two points. Referring to
Once all sample points have been evaluated, the list of potential matching points is examined to determine actual matching points. An exemplary process for evaluating the potential matching points is illustrated in the flow chart shown in
To evaluate the potentially matching pairs, a pair is selected (49). A determination is made whether the distance parameter is within a predetermined tolerance (e.g., +/−1 standard deviation) from the average distance (50) and whether the slope parameter is within a predetermined tolerance (e.g., +/−1 standard deviation) from the average slope (51). Any pairs that are not within this parameter are eliminated from consideration, i.e., deleted (53). If more pairs exist on the list of potentially matching pairs (52), the next pair is selected and the process is repeated until no additional potentially matching pairs remain.
Additionally, any duplicative pair can be eliminated (54). A duplicative pair is one where a single sample point has been identified as a potential match for two or more template points. In such instances, the pair that has a distance closest to the average distance is saved and all other potential matches for that particular sample point are discarded.
A check is again performed to determine if the remaining number of pairs in the matrix of potentially matching pairs exceeds the predetermined number of points indicative of a sufficient number of points required for a match (41). If there are insufficient points, the sample print is deemed not to match the template print (55). If, however, the number of pairs still exceeds the predetermined number of points needed for a match, the matching evaluation process can be repeated. A second set of average and standard deviation values is calculated (42, 43, 44, 45)) using the remaining potentially matching pairs (using the remaining pairs after the elimination of those pairs that fell outside the first calculated standard deviations and the elimination of duplicative pairs). After calculating the second of average and standard deviation values, a series of additional comparisons can be made to determine if the sample print is a match to the template print. If the second set of standard deviation values for distance (46) and slope (47) are within predetermined levels, the sample print is deemed to be a match to the template print (48). The process can be repeated until the comparison of all potentially matching pairs (46, 47) yields a matching result or until the list of points is reduced to a level below that required to find a match (41).
The predetermined number of samples needed to classify a sample print as a match to a template print can be varied in accordance with the degree of accuracy required for a particular application. For example, the number of samples could be set at twelve. A sample print with twelve minutiae points that match a template print (commonly referred to as a “twelve point match”) would provide a very high level of accuracy for those prints that are deemed to be a match.
An alternative embodiment of the invention allows for comparing a fingerprint as it is obtained from a swipe sensor. In the embodiment described above and shown in
If the determination as to whether the number of potential matches exceeds a predetermined minimum (60) indicates that a sufficient number of potential matches exists, a second check can be made to determine if a predetermined portion of the fingerprint image has been processed by the fingerprint processor (63). For example, in order to maintain a high degree of accuracy in the fingerprint matching process, it could be determined that at least 50% of a print image should be obtained before declaring a match to a template. If the amount of the sample print processed by the fingerprint processor is below the predetermined threshold, an additional point is obtained from the processor as the image continues to be obtained (57) and the process is repeated. If the predetermined threshold for the minimum amount of the sample image desired for adequate matching has been reached, the process of determining actual matching points as described above with reference to
Processing minutiae points in accordance with the exemplary embodiments of the invention described herein allows for the amount of memory needed to perform the minutiae matching techniques to be significantly reduced because the points from a potentially matching template are screened to reduce the number of potential matches, thus the actual matching process can be performed only on those points that have been pre-classified as a potentially matching point.
While the embodiment described herein has been described with reference to an image obtained using a swipe sensor, it should be appreciated that other embodiments can utilize pad sensors or other alternative imaging devices. In additions, a variety of modifications to the embodiments described will be apparent to those skilled in the art from the disclosure provided herein. Thus, the present invention may be embodied in other specific forms without departing from the spirit or essential attributes thereof and, accordingly, reference should be made to the appended claims, rather than to the foregoing specification, as indicating the scope of the invention.
The present invention claims priority to U.S. Provisional Application No. 60/632,661 filed on Dec. 2, 2004, which is fully incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60632661 | Dec 2004 | US |