A method for matching distorted fingerprints implemented by an automatic fingerprint identification system including a processor, a memory coupled to the processor, an interface to a fingerprint scanning device, and a sensor associated with the fingerprint scanning device that indicates a fingerprint match, the computer-implemented method comprising:
- receiving (i) a plurality of search octant feature vectors associated with a plurality of search minutiae extracted from a search fingerprint, and (ii) a plurality of reference octant feature vectors associated with a plurality of reference minutiae extracted from a reference fingerprint, wherein:
- the search fingerprint includes one or more non-overlapping sectors that each include a subset of the plurality of search minutiae, and
- each of the plurality of search octant feature vectors includes a set of relative features that represent a difference between a particular search minutia and a plurality of particular reference minutiae that are identified as closest neighboring minutiae within a particular sector that includes the particular search minutiae;
- each of the plurality of reference octant feature vectors includes a set of relative features that represent a difference between a particular reference minutia and a plurality of particular search minutiae that are identified as closest neighboring minutiae within a particular sector that includes the particular search minutiae;
- computing, for each of the plurality of search minutiae, a first score that (i) represents the difference between the particular search octant feature associated with the particular search minutia and the plurality of reference octant feature vectors associated with a plurality of particular reference minutiae that are identified as closest neighboring minutiae within the particular sector that includes the particular search minutiae, and (ii) is adjusted based at least on determining that at least one of the plurality of particular reference minutiae that are identified as the closest neighboring minutiae within the particular sector that includes the particular search minutia has drifted to another of the one or more sectors due to distortion within the search fingerprint;
- computing, for each of the plurality of search minutiae, a second score that represents a ratio indicating a number of paired mated minutiae relative to a number of paired unmated minutiae all of the one or more sectors, wherein:
- the paired mated minutiae represent the particular search minutia that have the plurality of particular reference minutiae that are identified as closest neighboring minutiae within each of the one or more sectors, and
- the paired unmated minutiae represent the particular search minutia that do not have at least one particular reference minutia that is identified as the closest neighboring minutiae within each of the one or more sectors;
- computing, for each of the plurality of search minutiae, a local similarity score based at least on combining the first score and the second score;
- determining, based at least on the computed local similarity scores for each of the plurality of search minutiae, (i) a geometrically aligned region between the search fingerprint and the reference fingerprint, and (ii) a rotation angle between the search fingerprint and the reference fingerprint;
- identifying a plurality of globally aligned mated minutiae within the geometrically aligned region, wherein the plurality of globally aligned mated minutiae represent a set of particular search minutia that have geometrically consistent features, determined based at least on the rotation angle, to a plurality of particular reference minutiae within the geometrically aligned region;
- computing, for each of the plurality of globally aligned mated minutiae, an additional first score that represents the difference between a particular search octant feature associated with the particular search minutia within the geometrically aligned region and a plurality of reference octant feature vectors associated with the plurality of particular reference minutiae within the geometrically aligned region;
- computing, for each of the plurality of globally aligned mated minutiae, an additional second score that represents a ratio indicating a number of paired globally aligned mated minutiae relative to a number of globally aligned unmated minutiae within geometrically aligned region;
- computing (i) a third score based at least on combining the respective first scores for each of the plurality of search minutiae, and the respective additional first scores for each of the plurality of globally aligned mated minutiae, (ii) a fourth score based at least on combining the respective second scores for each of the plurality of search minutiae, and the respective additional second scores for each of the plurality of globally aligned mated minutiae;
- computing a match similarity score between the search fingerprint and the reference fingerprint based at least on combining the third score and the fourth score;
- and
- providing the match similarity score for output to the automatic fingerprint identification system.