^{1}

^{2}

^{★}

^{1}

^{1}

^{2}

This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

Improving fingerprint matching algorithms is an active and important research area in fingerprint recognition. Algorithms based on minutia triplets, an important matcher family, present some drawbacks that impact their accuracy, such as dependency to the order of minutiae in the feature, insensitivity to the reflection of minutiae triplets, and insensitivity to the directions of the minutiae relative to the sides of the triangle. To alleviate these drawbacks, we introduce in this paper a novel fingerprint matching algorithm, named M3gl. This algorithm contains three components: a new feature representation containing clockwise-arranged minutiae without a central minutia, a new similarity measure that shifts the triplets to find the best minutiae correspondence, and a global matching procedure that selects the alignment by maximizing the amount of global matching minutiae. To make M3gl faster, it includes some optimizations to discard non-matching minutia triplets without comparing the whole representation. In comparison with six verification algorithms, M3gl achieves the highest accuracy in the lowest matching time, using FVC2002 and FVC2004 databases.

Fingerprints are the marks made by ridges and furrows in the fingers. They are formed during the sixth month of intrauterine life of human beings and do not disappear until some time after death. Since there are not two persons with the same fingerprints and they do not change naturally, they are an important element to identify people.

Due to the high complexity of fingerprint matching and the huge amount of existing fingerprints, it is necessary to build computer systems that automatically process fingerprints with high accuracy and low computational costs. Historically, fingerprint recognition systems were mostly used in forensic sciences, but the current popularity of these systems is mainly due to civilian applications such as the control of physical access to facilities, the control of logical access to software, and the control of voters during elections. A key component in fingerprint recognition systems is the fingerprint matching algorithm.

To measure the quality of a fingerprint matching algorithm, the evaluator must consider the context in which it is applied. For example, the algorithms based on microscopic characteristics are suitable for applications where fingerprints are acquired with high resolution sensors (1,000 dpi or higher); the quality of these algorithms dramatically decreases when the resolution is low [

Low computational cost: The algorithm satisfies memory and time restrictions for its application context [

Invariance to translation: The algorithm returns a high similarity value when comparing fingerprints from the same finger notwithstanding that fingerprints be translated horizontally and/or vertically [

Invariance to rotation: The algorithm returns a high similarity value when comparing fingerprints from the same finger in spite of fingerprints rotation [

Tolerance to non-linear distortion: The algorithm returns a high similarity value when comparing fingerprints from the same finger even when fingerprints are affected by non-linear distortion, as a result of fingerprint creation mechanisms [

Sensitivity to the individuality of fingerprints: The algorithm returns a high similarity value when comparing fingerprints from the same finger and returns a low similarity value when comparing fingerprints from different fingers [

Insensitivity to select a single alignment: The algorithm does not perform a single global alignment from the best local alignment. Maximizing the local similarity value does not guarantee to find a true matching local structure pair. Even if the selected local structure pair is a true matching pair, it is not necessarily the best pair to carry out fingerprint alignment [

Tolerance to partial fingerprints: The algorithm returns a high similarity value when comparing fingerprints from the same finger even when the fingerprints are not complete [

Tolerance to the low quality of fingerprints: The results of the algorithm are not significantly affected by low fingerprint quality [

Tolerance to errors of the feature extractor: The algorithm returns a high similarity value when comparing fingerprints from the same finger even when the feature extractor has missed some features and/or has extracted some non-existent features [

Determinism: Two executions of the algorithm with the same parameters return the same results.

Modern technologies impose new challenges to fingerprint matching algorithms; new systems reside on light architectures, need standards for systems interoperability, and use small area sensors [

As a minutia-based matcher should be invariant to translation and rotation, the process of minutia pairing is ambiguous [

A simple and accurate minutiae descriptor is based on minutiae triplets [

They are tolerant to fingerprint deformations [

They are faster and more accurate, compared to algorithms based on other representations [

They are suitable for applications based on interoperability standards because the most popular standards are based only on minutiae [

They are appropriate for systems embedded on light architectures because the representation and comparison of minutiae triplets can be performed efficiently [

Minutiae triplets have higher discriminative power than minutiae pairs and single minutiae [

Some important quality parameters related to fingerprint matching algorithms based on minutiae triplets are:

Invariance to the order of minutiae in the feature: No matter the minutiae order in the triplet, the algorithm finds the correct correspondences of minutiae when matching similar triplets (

Sensitivity to the reflection of minutiae triplets: The algorithm does not match a triplet with its reflected version (

Sensitivity to the directions of the minutiae relative to the sides of the triangle: In order to find similar triplets, the algorithm takes into account the directions of the minutiae relative to the sides of the triangles formed by the triplets (

State-of-the-art algorithms based on minutiae triplets do not fulfil all the quality parameters, which has a negative impact on their accuracy.

Invariance to the order of minutiae in the feature.

Sensitivity to the reflection of minutiae triplets.

Sensitivity to the directions of the minutiae relative to the sides of the triangle.

Insensitivity to select a single alignment.

Tolerance to errors of the feature extractor.

Determinism.

In this research, we introduce M3gl, a new fingerprint matcher that fulfils most quality parameters. M3gl is based on a new representation and a new comparison function for minutia triplets. An experimental comparison with algorithms based on different types of minutiae descriptors shows that M3gl is highly accurate and it has acceptable computational costs.

This section defines some basic functions that we use throughout the paper. Given two minutiae _{i}_{i}, y_{i}, θ_{i}_{j}_{j}, y_{j}, θ_{j}_{i}_{j}_{i}_{j}

For two given angles _{π}_{2}_{π}

Finally, for a given pair of minutiae _{i}_{j}_{i}, p_{j}_{i}_{j}_{i}_{j}_{i}_{j}

In this section, we introduce

minutiae _{i}_{1}

_{i∈1...3}, where _{i}_{i}

_{max}_{mid}_{min}

_{i∈1...6} are the angles ad_{2}_{π}

_{i}_{2π} (_{j}, θ_{k}_{k}_{j}

The m-triplets are sensitive to the directions of the minutiae relative to the sides of the triangle (angles

In this section, we introduce a new m-triplets similarity. It is designed to accurately distinguish between similar and non-similar m-triplets. Given two m-triplets _{inv}(_{part}(

The base similarity function s_{part} is defined using functions s_{θ}_{d}, s_{α}_{β}

The invariance to rotation is an important quality parameter for fingerprint recognition, especially for fingerprint identification. Nevertheless, for fingerprint verification, the rotation is usually restricted by sensors. The function s_{θ}

The function s_{d} _{d} returns values in the interval [0,1], returning 0 if at least one length difference is greater than threshold _{l}_{d} returns 1 if all length differences are 0; that is, the triangles formed by both m-triplets are identical.

The function s_{α}

The function s_{β}

_{a}

In order to detect dissimilar m-triplets in advance, avoiding all costly shifts, we use Theorems 1, 2, and 3. Proofs for Theorems 1 and 2 appear in the appendixes. Proof of Theorem 3 is similar to the proof of Theorem 1 and is not stated.

_{inv}(

_{inv}(

_{inv}(

Based on these theorems, we can modify s_{inv}

Local distance threshold _{l}_{a}

The function s_{inv}, by means of s_{part}, achieves the invariance to translation and the invariance to restricted rotation, the tolerance to non-linear distortion and the sensitivity to the directions of the minutiae relative to the sides of the triangle. The clockwise shifting makes function s_{inv} invariant to the order of minutiae in the feature and sensitive to the reflection of minutiae triplets.

In this section, we introduce M3gl, a new fingerprint verification algorithm based on the proposed minutiae triplet representation and similarity measure.

Given a fingerprint described by the minutia set

M3gl consists of the following major steps: local minutiae matching, global minutiae matching, and similarity score computation.

This step finds the similar m-triplets in the template fingerprint using binary search. Then, it sorts all matching pairs according to the similarity value and finds the local matching minutiae. Formally, the algorithm is the following:

Let

For each query m-triplet _{i}_{1}, t_{2}_{u}_{i}, t_{1}_{i}, t_{2}_{i}, t_{u}

Sort in descendant order all matching pairs (

Let

For each (

Let _{1}, p_{1}_{2}, p_{2}_{3}, p_{3}_{inv}(_{1}, q_{2}, q_{3}_{1}, p_{2}, p_{3}

For each (_{i}, p_{i}

If there is not any pair (_{j}, p_{j}_{j}_{i}_{j}_{i}_{i}, p_{i}

This step uses every minutiae pair as a reference pair for fingerprint rotation and performs a query minutiae transformation for each reference pair. Later, it selects the transformation that maximizes the amount of matching minutiae. This strategy overcomes the limitations of the single alignment based matching. M3gl uses three criteria to determine if two minutiae match at global level and to achieve the tolerance to non-linear distortion. First, the Euclidean distance must not exceed threshold _{g}_{a}_{a}

Let

For each (_{i}, p_{i}

Let

For each (_{j}, p_{j}_{k}, p_{k}_{j}_{k}_{j}_{k}

Compute ^{′}^{′}, y^{′}, θ^{′}_{i}_{1}, _{1}, _{1}), _{i}_{2}, _{2}, _{2}), Δ_{2} _{1}, _{j}_{3}, _{3}, _{3}).

Let _{j}_{4}, _{4}, _{4}); if ed(^{′}, _{j}_{g}_{π} (ad_{2π}(_{2}, _{1}), ad_{2π}(_{4}, _{3})) _{a}_{π}^{′}_{4}) _{a}_{j}, p_{j}

if

The similarity value is computed using the formula

Global distance threshold _{g}_{a}

In order to evaluate the new fingerprint matching algorithm, we use databases DB1_A, DB2_A, DB3_A and DB4_A of FVC2002 and FVC2004 competitions. These databases are commonly used as benchmarks for evaluating fingerprint matchers in the context of fingerprint verification. We also use the FVC evaluation protocol [

We use the same parameters values for M3gl in all databases (_{l}_{g}_{a}

In the experimental comparisons, we include the algorithm proposed by Jiang and Yau [

The m-triplets similarity function includes the properties demonstrated in Theorems 1, 2 and 3 to discard comparisons without performing all its operations.

The algorithm performs binary search when looking for similar m-triplets in the local minutiae matching step.

The similarity score computation of M3gl is simple but robust. In order to test this robustness we substitute the similarity score computation of M3gl for the strategies proposed by Wang

Experimental results confirm that fulfilling the quality parameters discussed in Section 1 has a direct impact in the matcher accuracy.

Fingerprint matching algorithms based on minutiae triplets have proved to be fast and accurate. They are commonly used on light architectures and in systems based on interoperability standards for fingerprints represented by minutiae. However, existing algorithms have several limitations that affect their accuracy. In this paper, we identify the quality parameters that have a more significant impact on fingerprint matching accuracy in order to create M3gl, a more accurate matcher.

M3gl uses a new representation based on minutiae triplets and a new comparison function that achieves the invariance to the translation and rotation of fingerprints, and achieves the sensitivity to the directions of the minutiae relative to the sides of the triangle. The new representation arranges the minutiae in clockwise sense and the comparison function performs the three possible rotations of the triplets achieving the invariance to the order of minutiae in the feature and the sensitivity to the reflection of minutiae triplets. The components of the proposed representation are compared using thresholds that allow the tolerance to the non-linear distortion of fingerprints. Besides, the new comparison function includes optimizations that avoid comparing all the components of the triplets, increasing the matching speed in many cases.

M3gl is deterministic, insensitive to select a single alignment, and sensitive to the individuality of fingerprints. It uses a simple and effective procedure to compute minutiae triplets which makes the algorithm tolerant to the low quality of fingerprints and to errors of the feature extractor.

Experimental results in databases of the FVC2002 and FVC2004 competitions show that M3gl has low computational costs and is more accurate than other algorithms based on minutiae triplets and other algorithms based on different representations.

In the near future we plan to study the behaviour of the new algorithm for latent fingerprint identification.

The authors would like to thank Dania Yudith Suárez Abreu for her valuable contribution improving the grammar and style of this paper.

_{inv}(

Assume, without loss of generality, that

From

From _{l}_{d}(_{inv}(

_{inv}(

Assume, without loss of generality, that

From

From _{l}_{d}(_{inv}(

Similar minutiae triplets that were not classified as true matching by some algorithms because in image (_{1}_{1}

Minutiae triplets that do not match because (_{1}, p_{2}, p_{3}_{1}, q_{2}, q_{3}

Minutiae triplets that do not match because minutiae pairs (_{1}, p_{1}_{2}, p_{2}_{3}, p_{3}

The components of the new feature representation proposed in this paper.

ROC curves with the performance of the compared algorithms in FVC2002.

ROC curves with the performance of the compared algorithms in FVC2004.

Two examples where all matching algorithms fail but our algorithm finds true matching minutiae. The first row contains fingerprints db1_36_1 and db1_36_4 of database DB1_A (FVC2002); the second row contains fingerprints 85_6 and 85_8 of database DB1_A (FVC2004).

Summary of the lacking quality parameter on fingerprint matching algorithms based on minutiae triplets.

JY [ |
X | X | X | |||

KV [ |
X | X | X | |||

PN [ |
X | X | ||||

JG1 [ |
X | X | X | X | ||

JG2 [ |
X | X | ||||

RUR [ |
X | X | ||||

TB [ |
X | X | ||||

FFCS [ |
X | X | ||||

CTYZ [ |
X | X | ||||

XCF [ |
X | X | X | X | ||

ZGZ [ |
X | X | ||||

HK [ |
X | X | ||||

GSM [ |
X | X |

Experimental results on databases DB1_A, DB2_A, DB3_A and DB4_A of FVC2002.

WLC | 29.5 | 57.2 | 63.6 | 66.9 | 123.0 | |

D | QYW | 22.8 | 46.8 | 52.6 | 55.9 | 13.6 |

B | JY | 5.1 | 10.6 | 23.9 | 31.9 | 3.3 |

1 | TK | 4.0 | 4.9 | 7.0 | 8.9 | 12.4 |

- | PN | 1.9 | 2.5 | 3.4 | 5.8 | 20.3 |

A | UGS | 2.2 | 2.8 | 4.1 | 5.9 | 1,239.4 |

M3gl | ||||||

| ||||||

WLC | 34.0 | 63.6 | 69.3 | 72.6 | 269.6 | |

D | QYW | 22.8 | 47.8 | 53.7 | 59.2 | 27.2 |

B | JY | 4.5 | 8.3 | 17.3 | 27.6 | 4.6 |

2 | TK | 3.6 | 4.6 | 6.3 | 23.1 | 19.1 |

- | PN | 1.4 | 1.6 | 2.4 | 3.5 | 44.4 |

A | UGS | 1.9 | 2.3 | 4.9 | 5.6 | 2,846.1 |

M3gl | ||||||

| ||||||

WLC | 29.8 | 57.4 | 62.7 | 65.0 | 27.1 | |

D | QYW | 30.0 | 55.7 | 63.5 | 77.9 | 6.3 |

B | JY | 9.4 | 16.4 | 26.1 | 33.1 | 1.5 |

3 | TK | 7.7 | 9.8 | 12.6 | 16.4 | 5.8 |

- | PN | 5.6 | 6.9 | 10.2 | 12.8 | 5.6 |

A | UGS | 5.3 | 8.0 | 12.2 | 26.4 | 96.0 |

M3gl | ||||||

| ||||||

WLC | 22.9 | 51.7 | 61.0 | 63.5 | 37.0 | |

D | QYW | 24.3 | 57.3 | 63.2 | 67.6 | 8.5 |

B | JY | 7.4 | 13.0 | 23.0 | 28.3 | 2.1 |

4 | TK | 5.1 | 7.1 | 9.4 | 12.1 | 8.4 |

- | PN | 3.1 | 3.9 | 5.6 | 10.3 | 10.3 |

A | UGS | 4.2 | 7.1 | 12.6 | 16.8 | 463.0 |

M3gl |

Experimental results on databases DB1_A, DB2_A, DB3_A and DB4_A of FVC2004.

WLC | 27.3 | 64.8 | 73.9 | 77.3 | 150.0 | |

D | QYW | 24.3 | 60.6 | 80.3 | 97.3 | 15.5 |

B | JY | 13.5 | 28.5 | 42.8 | 55.9 | 4.2 |

1 | TK | 15.9 | 29.1 | 41.8 | 51.0 | 11.7 |

- | PN | 11.4 | 17.7 | 24.4 | 25.9 | 20.9 |

A | UGS | 7.9 | 14.8 | 24.9 | 31.3 | 1,649.4 |

M3gl | ||||||

| ||||||

WLC | 28.1 | 62.1 | 68.9 | 78.0 | 103.0 | |

D | QYW | 24.8 | 52.1 | 58.9 | 73.7 | 12.9 |

B | JY | 11.0 | 19.4 | 28.4 | 39.2 | 3.0 |

2 | TK | 7.8 | 12.0 | 18.7 | 24.9 | 11.6 |

- | PN | 10.0 | 12.1 | 15.1 | 16.9 | 14.9 |

A | UGS | 6.4 | 10.5 | 16.7 | 19.9 | 1,210.8 |

M3gl | ||||||

| ||||||

WLC | 24.5 | 57.9 | 64.9 | 69.5 | 312.0 | |

D | QYW | 19.7 | 47.7 | 65.9 | 87.5 | 22.6 |

B | JY | 12.0 | 22.1 | 32.3 | 41.4 | 6.4 |

3 | TK | 9.6 | 19.7 | 32.9 | 37.3 | 17.0 |

- | PN | 7.1 | 10.7 | 17.6 | 24.9 | 38.0 |

A | UGS | 22.4 | 6,510.9 | |||

M3gl | 14.4 | |||||

| ||||||

WLC | 23.6 | 54.9 | 65.0 | 70.0 | 108.8 | |

D | QYW | 25.5 | 55.5 | 65.8 | 74.7 | 13.3 |

B | JY | 9.7 | 16.3 | 25.3 | 28.6 | 3.2 |

4 | TK | 7.6 | 11.4 | 16.6 | 39.4 | 11.8 |

- | PN | 5.2 | 6.9 | 9.3 | 11.9 | 17.2 |

A | UGS | 5.1 | 7.6 | 11.2 | 13.1 | 1,687.1 |

M3gl |

Experimental results on databases DB1_B, DB2_B, DB3_B and DB4_B of FVC2002.

D | M3gl1 | 1.7 | 2.5 | 3.6 | 3.6 | |

B | M3gl2 | 2.5 | ||||

1 | M3gl3 | 2.9 | 3.6 | 3.6 | ||

- | M3gl4 | 1.6 | 2.9 | |||

B | M3gl | 2.0 | 2.5 | |||

| ||||||

D | M3gl1 | 1.1 | ||||

B | M3gl2 | 1.9 | 2.5 | 3.2 | 3.2 | |

2 | M3gl3 | 0.8 | ||||

- | M3gl4 | 1.9 | 2.9 | 2.9 | 2.9 | |

B | M3gl | 1.1 | ||||

| ||||||

D | M3gl1 | 6.5 | 9.4 | 12.1 | 12.1 | |

B | M3gl2 | 7.7 | 13.9 | 18.6 | 18.6 | |

3 | M3gl3 | 6.9 | 11.8 | 11.8 | ||

- | M3gl4 | 6.9 | 11.4 | 27.9 | 27.9 | |

B | M3gl | |||||

| ||||||

D | M3gl1 | 2.3 | 3.6 | 19.6 | 19.6 | |

B | M3gl2 | 2.8 | 3.9 | |||

4 | M3gl3 | 16.4 | 16.4 | |||

- | M3gl4 | 4.0 | 32.5 | 78.2 | 78.2 | |

B | M3gl | 2.4 | 3.6 | 19.6 | 19.6 |

Experimental results on databases DB1_B, DB2_B, DB3_B and DB4_B of FVC2004.

D | M3gl1 | 4.0 | 5.4 | 10.4 | 10.4 | |

B | M3gl2 | 5.8 | 24.3 | 30.7 | 30.7 | |

1 | M3gl3 | 3.8 | 6.1 | 13.6 | 13.6 | |

- | M3gl4 | 6.4 | 33.6 | 50.4 | 50.4 | |

B | M3gl | |||||

| ||||||

D | M3gl1 | 9.7 | 21.1 | 24.3 | 24.3 | |

B | M3gl2 | 12.9 | 25.0 | 28.6 | 28.6 | |

2 | M3gl3 | |||||

- | M3gl4 | 11.4 | 25.0 | 31.1 | 31.1 | |

B | M3gl | 10.5 | 20.7 | 25.7 | 25.7 | |

| ||||||

D | M3gl1 | 0.9 | 1.4 | 2.5 | 2.5 | |

B | M3gl2 | 3.1 | 6.1 | 24.6 | 24.6 | |

3 | M3gl3 | 1.0 | 1.4 | 2.5 | 2.5 | |

- | M3gl4 | 3.7 | 48.2 | 70.4 | 70.4 | |

B | M3gl | |||||

| ||||||

D | M3gl1 | 3.4 | ||||

B | M3gl2 | 4.6 | 11.4 | 13.2 | 13.2 | |

4 | M3gl3 | 7.9 | 7.9 | |||

- | M3gl4 | 5.3 | 20.0 | 72.9 | 72.9 | |

B | M3gl | 4.2 |