Next Article in Journal
Amplified OTDR Systems for Multipoint Corrosion Monitoring
Next Article in Special Issue
Scattering Removal for Finger-Vein Image Restoration
Previous Article in Journal
Simultaneous Source Localization and Polarization Estimation via Non-Orthogonal Joint Diagonalization with Vector-Sensors
Previous Article in Special Issue
Two-Level Evaluation on Sensor Interoperability of Features in Fingerprint Image Segmentation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Improving Fingerprint Verification Using Minutiae Triplets

by
Miguel Angel Medina-Pérez
1,2,*,
Milton García-Borroto
1,
Andres Eduardo Gutierrez-Rodríguez
1 and
Leopoldo Altamirano-Robles
2
1
Centro de Bioplantas, Universidad de Ciego de Ávila, Carretera a Morón km 9, Ciego de Ávila, C.P. 69450, Cuba
2
Instituto Nacional de Astrofísica, Óptica y Electrónica. Luis Enrique Erro No. 1, Sta. María Tonanzintla, Puebla, C.P. 72840, México
*
Author to whom correspondence should be addressed.
Sensors 2012, 12(3), 3418-3437; https://doi.org/10.3390/s120303418
Submission received: 25 January 2012 / Revised: 28 February 2012 / Accepted: 28 February 2012 / Published: 8 March 2012
(This article belongs to the Special Issue Hand-Based Biometrics Sensors and Systems)

Abstract

: 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.

1. Introduction

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 [1]. The following quality parameters are proved to be important for evaluating general matchers:

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

  • 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 [3].

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

  • 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 [4].

  • 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 [5].

  • 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 [3].

  • 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 [5]. Partial fingerprints can be produced by the restrictions of the sensors, latent fingerprints in crime scenes, and different fingerprint creation mechanisms.

  • Tolerance to the low quality of fingerprints: The results of the algorithm are not significantly affected by low fingerprint quality [6]. Due to different skin conditions and/or the different fingerprint creation mechanisms, sometimes many details of the fingerprints do not appear clearly.

  • 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 [3].

  • 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 [3,4,7]. In these contexts, the algorithms with higher quality are those based on minutiae [2]. Minutiae are the points where the ridge continuity breaks and they are typically represented as (x, y, θ); where (x, y) represent the 2D point coordinates, and θ the ridge direction at that point.

As a minutia-based matcher should be invariant to translation and rotation, the process of minutia pairing is ambiguous [8]. Thus, most matchers in this family use local minutia structures (minutiae descriptors) to quickly establish the minutiae correspondences [4].

A simple and accurate minutiae descriptor is based on minutiae triplets [3]. Minutiae triplets are local structures represented by three minutiae. Algorithms based on minutiae triplets have the following advantages, which make them of higher quality than algorithms based on other representations:

  • They are tolerant to fingerprint deformations [9].

  • They are faster and more accurate, compared to algorithms based on other representations [10,11], especially in applications with partial fingerprints [12].

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

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

  • Minutiae triplets have higher discriminative power than minutiae pairs and single minutiae [10].

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 (Figure 1).

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

  • 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 (Figure 3).

State-of-the-art algorithms based on minutiae triplets do not fulfil all the quality parameters, which has a negative impact on their accuracy. Table 1 shows the lacking quality parameter of all the reviewed matchers, according to the following parameters:

  • 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.

2. Definitions

This section defines some basic functions that we use throughout the paper. Given two minutiae pi = (xi, yi, θi) and pj = (xj, yj, θj), ed(pi, pj) represents the Euclidean distance between the coordinates of pi and pj Equation (1).

ed ( p i , p j ) = ( x i x j ) 2 + ( y i y j ) 2

For two given angles α and β, adπ(α, β) computes the minimum angle required to superpose two vectors with the same origin and angles α and β respectively using Equation (2), while ad2π(α, β) computes the angle required to rotate a vector with angle β in clockwise sense to superpose it to another vector with the same origin and angle α using Equation (3).

ad π ( α , β ) = min ( | α β | , 2 π | α β | )
ad 2 π ( α , β ) = { β α if   β > α β α + 2 π otherwise

Finally, for a given pair of minutiae pi and pj, ang(pi, pj) computes the angle of the vector with initial point at pi and terminal point at pj using Equation (4).

ang ( p i , p j ) = { arctan ( Δ y / Δ x ) if   Δ x > 0 Δ y 0 arctan ( Δ y / Δ x ) + 2 π if   Δ x > 0 Δ y < 0 arctan ( Δ y / Δ x ) + π if   Δ x < 0 π / 2 if   Δ x = 0 Δ y > 0 3 π / 2 if   Δ x = 0 Δ y < 0
where Δy = yiyj and Δx = xixj.

3. Feature Representation

In this section, we introduce m-triplets, a robust feature representation based on minutiae triplets. Provided that a fingerprint is described by the minutia set P, our representation is a tuple with the following components (see Figure 4):

  • minutiae pi ∈ P are clockwise arranged starting on p1.

  • di∈1...3, where di is the Euclidean distance between the minutiae different than pi.

  • dmax, dmid and dmin are the maximum, middle and minimum distances in the triplet, respectively. Although these components can be calculated based on distance values, we store them because they are a key point for the algorithm optimizations.

  • αi∈1...6 are the angles ad2π(ang(p, q),θ) required to rotate the direction θ of a minutia to superpose it to the vectors associated with the other two minutiae in the triplet.

  • βi = ad2π (θj, θk) is the angle required to rotate the direction of the minutia pk in order to superpose it to the direction of the minutia pj.

The m-triplets are sensitive to the directions of the minutiae relative to the sides of the triangle (angles α). The minutiae in this representation are arranged in clockwise direction without a central minutia. Therefore, in order to compare m-triplets, the similarity function considers the three minutiae rotations in clockwise sense (next section contains a formal definition of this procedure). This representation and the comparison function guarantee the invariance to the order of minutiae in the feature, and the sensitivity to the reflection of minutiae triplets.

4. M-Triplets Similarity

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 t and r, we propose sinv(t, r) in Equation (5) to compare m-triplets.

s inv ( t , r ) = max { s part ( t , r ) , s part ( t , shift ( r ) ) , s part ( t , shift ( shift ( r ) ) ) }
where: shift(r) is the clockwise-shifted m-triplet r and spart(t, r) is the base similarity function in Equation (6).
s part ( t , r ) = { 0     if   s θ ( t , r ) = 0 s d ( t , r ) = 0 s α ( t , r ) = 0 s β ( t , r ) = 0 1 ( 1 s d ( t , r ) ) ( 1 s α ( t , r ) ) ( 1 s β ( t , r ) ) , otherwise

The base similarity function spart is defined using functions sθ, sd, sα, and sβ, which consider different components of the m-triplets. According to Equation (6), two m-triplets are totally dissimilar if they have at least one component totally dissimilar. If all component similarities are above zero, the product rule makes the similarity hight if at least one component is close to 1.

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θ Equation (7) incorporates this information into the m-triplets similarity to increase minutia discrimination for such problems. Consequently, two m-triplets are dissimilar if their minutiae directions differ more than π/4.

s θ ( t , r ) = { 0 if   i ( ad π ( θ i t , θ i r ) > π / 4 ) 1 otherwise

The function sd Equation (8) compares m-triplets in terms of the side lengths of the triangle formed by the triplet minutiae. sd returns values in the interval [0,1], returning 0 if at least one length difference is greater than threshold tl. sd returns 1 if all length differences are 0; that is, the triangles formed by both m-triplets are identical.

s d ( t , r ) = { 0 if   i ( | d i t d i r |   >   t l ) 1 max i = 1 ... 3 { | d i t d i r | } / t l otherwise

The function sα Equation (9) compares m-triplets based on the angles formed by minutiae directions and the sides of the triangles (angles α on Figure 4).

s α ( t , r ) = { 0 if   i ( ad π ( α i t , α i r )   >   t α ) 1 max i = 1 ... 6 { ad π ( α i t , α i r ) } / t α otherwise

The function sβ Equation (10) compares m-triplets based on relative minutiae directions (angles β on Figure 4

s β ( t , r ) = { 0 if   i ( ad π ( β i t , β i r )   >   t α ) 1 max i = 1 ... 3 { ad π ( β i t , β i r ) } / t α otherwise

Equations (9) and (10) return values in the interval [0, 1]. They return 0 if at least two compared angles differ more than threshold ta. The less the angles differ, the higher is the value returned by the equations; therefore, they return 1 if the compared angles are identical.

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.

Theorem 1. Given two m-triplets t and r, if | d max t d max r | > t l then sinv(t, r) = 0.

Theorem 2. Given two m-triplets t and r, if | d mid t d mid r | > t l then sinv(t, r) = 0.

Theorem 3. Given two m-triplets t and r, if | d min t d min r | > t l then sinv(t, r) = 0.

Based on these theorems, we can modify sinv Equation (5). This way, our m-triplets similarity can be re-written as Equation (11).

s inv ( t , r ) = { 0   if ( | d max t d max r |   > t l ) ( | d mid t d mid r |   > t l ) ( | d min t d min r |   > t l ) max { s part ( t , r ) , s part ( t , shift ( r ) ) , s part ( t , shift ( shift ( r ) ) ) } ,     otherwise

Local distance threshold tl and angle threshold ta are parameters of the algorithm and must be tuned according to the image characteristics.

The function sinv, by means of spart, 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 sinv invariant to the order of minutiae in the feature and sensitive to the reflection of minutiae triplets.

5. M3GL Algorithm

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 P we compute the m-triplets as follows. For each pP, find its c nearest minutiae in P and build all m-triplets that include p and two of its nearest minutiae, discarding duplicates. This way of computing m-triplets makes M3gl tolerant to the low quality of fingerprints and tolerant to errors of the feature extractor. Additionally, m-triplets in the fingerprint are sorted according to the length of the largest side to perform a binary search when looking for similar m-triplets; Theorem 1 guarantees the safety of this procedure.

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

5.1. Local Minutiae Matching

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 Q and P be the query and template fingerprint minutiae sets respectively. Let R and T be the query and template fingerprint m-triplets sets respectively. Let A ← {} be the set that will contain local matching m-triplets pairs.

  • For each query m-triplet riR perform binary search looking for the template m-triplets {t1, t2, …, tu} ⊂ T with similarity value higher than 0 and add the pairs (ri, t1), (ri, t2), …, (ri, tu) to A.

  • Sort in descendant order all matching pairs (r, t) in A according to the similarity value.

  • Let M ← {} be the set containing local matching minutiae pairs.

  • For each (r, t) ∈ A do

    • Let B ← {(q1, p1), (q2, p2), (q3, p3) } be the matching minutiae that maximizes sinv(r, t) where q1, q2, q3 ∈ Q and p1, p2, p3 ∈ P.

    • For each (qi, pi) ∈ B do:

      • If there is not any pair (qj, pj) ∈ M that qj = qi or pj = pi then M ← M ∪ {(qi, pi)}.

5.2. Global Minutiae Matching

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 tg. Second, minutia directions must not exceed threshold ta. Third, the directions differences relative to reference minutiae pair must not exceed threshold ta. The formal algorithm is the following:

  • Let n ← 0 be the maximum number of matching minutiae computed after performing all fingerprint rotations.

  • For each (qi, pi) ∈ M do:

    • Let E ← {} be the set containing global matching minutiae pairs for the current iteration.

    • For each (qj, pj) ∈ M, if (qk, pk) ∈ E [(qj qk) (pj pk)]

      • Compute q = (x, y, θ) as [ x y θ ] = [ cos ( Δ θ ) sin ( Δ θ ) 0 sin ( Δ θ ) cos ( Δ θ ) 0 0 0 1 ]     [ x 3 x 1 y 3 y 1 θ 3 θ 1 ] + [ x 2 y 2 θ 2 ] where qi = (x1, y1, θ1), pi = (x2, y2, θ2), Δθ = θ2 − θ1, qj = (x3, y3, θ3).

      • Let pj = (x4, y4, θ4); if ed(q, pj) ≤ tg ∧ adπ (ad(θ2, θ1), ad(θ4, θ3)) ≤ ta ∧ adπ(θ, θ4) ≤ ta, then E ← E ∪ {(qj, pj)}.

    • if n < |E| then n ← |E|.

5.3. Similarity Score Computation

The similarity value is computed using the formula n 2 | P | | Q |; where P and Q are the template and query fingerprint minutiae sets respectively, and n is the amount of matching minutiae pairs.

Global distance threshold tg and angle threshold ta are parameters of the algorithm, and must be tuned based on the image characteristics.

6. Experimental Results

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 [22]. Performance is measured by indicators EER, FMR100, FMR1000 and ZeroFMR. The indicator Time refers to the average matching time in milliseconds. We carry out all the experiments on a laptop with an Intel Core i7 740QM processor (1.73 GHz) and 4 GB of RAM.

We use the same parameters values for M3gl in all databases (tl = 12, tg = 12, ta = π/6, c = 4). We estimate these parameters through a few experiments using fingerprint databases DB1_B, DB2_B, DB3_B and DB4_B of FVC2004 competition.

In the experimental comparisons, we include the algorithm proposed by Jiang and Yau [9] (JY) because it is the most popular algorithm based on minutiae triplets in the literature. We implement the algorithm proposed by Parziale and Niel [11] (PN) because it is the algorithm based on minutiae triplets more similar to our proposal and we are interested in showing the difference in accuracy and speed. We also compare our proposal with algorithms based on other types of minutiae descriptors, that is why we implement the algorithms proposed by Wang et al. [23] (WLC), Qi et al. [24] (QYW), Tico and Kuosmanen [25] (TK), and Udupa et al. [26] (UGS).

Figures 5 and 6 show that M3gl achieves lower FNMR for most of the FMR values. Tables 2 and 3 show that our algorithm achieves the best results for most of the performance indicators. Figure 7 shows examples where our algorithm is able to find true matching minutiae in difficult cases (partial fingerprints with low overlapping, non-linear distortion and low quality) where the other algorithms fail. M3gl is also the fastest algorithm due to the following reasons:

  • 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 et al. [23], Qi et al. [24], Jiang and Yau [9], and Tico and Kuosmanen [25]; we name the new algorithms M3gl1, M3gl2, M3gl3 and M3gl4 respectively. We test M3gl and its variations in the testing databases DB1_B, DB2_B, DB3_B and DB4_B of FVC2002 and FVC2004. The experimental results (Tables 4 and 5) do not show a clear superiority of any algorithm; nevertheless, when comparing M3gl with the other algorithms by pairs, we find that M3gl wins in most of the accuracy indicators.

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

7. Conclusions

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.

Acknowledgments

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

References

  1. Zhao, Q.; Zhang, D.; Zhanga, L.; Luoa, N. High resolution partial fingerprint alignment using pore-valley descriptors. Pattern Recogn 2010, 43, 1050–1061. [Google Scholar]
  2. Cappelli, R.; Ferrara, M.; Maltoni, D. Minutia cylinder-code: A new representation and matching technique for fingerprint recognition. IEEE Trans. Pattern. Anal. Mach. Intell 2010, 32, 2128–2141. [Google Scholar]
  3. Maltoni, D.; Maio, D.; Jain, A.K.; Prabhakar, S. Handbook of Fingerprint Recognition, 2nd ed; Springer-Verlag: London, UK, 2009. [Google Scholar]
  4. Jain, A.K.; Feng, J.; Nandakumar, K. Fingerprint matching. Computer 2010, 43, 36–44. [Google Scholar]
  5. Jea, T.Y. Minutiae-Based Partial Fingerprint Recognition. PhD Thesis,. State University of New York, NY, USA, 2005. [Google Scholar]
  6. Jain, A.K.; Feng, J. Latent fingerprint matching. IEEE Trans. Pattern. Anal. Mach. Intell 2011, 33, 88–100. [Google Scholar]
  7. Prabhakar, S.; Ivanisov, A.; Jain, A.K. Biometric recognition: Sensor characteristics and image quality. IEEE Instrum. Meas. Mag 2011, 14, 10–16. [Google Scholar]
  8. Feng, J. Combining minutiae descriptors for fingerprint matching. Pattern Recogn 2008, 41, 342–352. [Google Scholar]
  9. Jiang, X.; Yau, W.Y. Fingerprint Minutiae Matching Based on the Local and Global Structures. Proceedings of the 15th International Conference on Pattern Recognition, Barcelona, Spain, 3–7 September 2000; 2, pp. 1038–1041.
  10. Chen, X.; Tian, J.; Yang, X. A new algorithm for distorted fingerprints matching based on normalized fuzzy similarity measure. IEEE Trans. Image Process 2006, 15, 767–776. [Google Scholar]
  11. Parziale, G.; Niel, A. A Fingerprint Matching Using Minutiae Triangulation. Proceedings of the 1st International Conference on Biometric Authentication, Hong Kong, China, 15–17 July 2004; Volume LNCS 3072. pp. 241–248.
  12. Jea, T.Y.; Govindaraju, V. A minutia-based partial fingerprint recognition system. Pattern Recogn 2005, 38, 1672–1684. [Google Scholar]
  13. Reisman, J.; Uludag, U.; Ross, A. Secure Fingerprint Matching with External Registration. Proceedings of the 5th International Conference on Audio- and Video-Based Biometric Person Authentication (AVBPA ’05), Tarrytown, NY, USA, July 2005; Volume LNCS 3546. pp. 720–729.
  14. Kovcs-Vajna, Z.M. A fingerprint verification system based on triangular matching and dynamic time warping. IEEE Trans. Pattern. Anal. Mach. Intell 2000, 22, 1266–1276. [Google Scholar]
  15. Tan, X.; Bhanu, B. Fingerprint matching by genetic algorithms. Pattern Recogn 2006, 39, 465–477. [Google Scholar]
  16. Feng, Y.; Feng, J.; Chen, X.; Song, Z. A Novel Fingerprint Matching Scheme Based on Local Structure Compatibility. Proceedings of the 18th International Conference on Pattern Recognition, Hong Kong, China, 20–24 August 2006; 4, pp. 374–377.
  17. Chen, X.; Tian, J.; Yang, X.; Zhang, Y. An algorithm for distorted fingerprint matching based on local triangle feature set. IEEE Trans. Inf. Forensics Secur 2006, 1, 169–177. [Google Scholar]
  18. Xu, W.; Chen, X.; Feng, J. A Robust Fingerprint Matching Approach: Growing and Fusing of Local Structures. Proceedings of the 2nd International Conference on Biometrics, Seoul, Korea, 27–29 August 2007; Volume LNCS 4642. pp. 134–143.
  19. Zheng, J.D.; Gao, Y.; Zhang, M.Z. Fingerprint Matching Algorithm Based on Similar Vector Triangle. Proceedings of the 2nd International Congress on Image and Signal Processing (CISP ’09), Tianjin, China, 17–19 October 2009; pp. 1–6.
  20. Hoyle, K. Minutiae Triplet-Based Features with Extended Ridge Information for Determining Sufficiency in Fingerprints. Master Thesis,. Virginia Polytechnic Institute and State University, Burruss Hall Blacksburg, VA, USA, 2011. [Google Scholar]
  21. Ghazvini, M.; Sufikarimi, H.; Mohammadi, K. Fingerprint Matching Using Genetic Algorithm and Triangle Descriptors. Proceedings of the 19th Iranian Conference on Electrical Engineering, Tehran, Iran, 17–19 May 2011; pp. 1–6.
  22. Cappelli, R.; Maio, D.; Maltoni, D.; Wayman, J.L.; Jain, A.K. Performance evaluation of fingerprint verification systems. IEEE Trans. Pattern. Anal. Mach. Intell 2006, 28, 3–18. [Google Scholar]
  23. Wang, W.; Li, J.; Chen, W. Fingerprint Minutiae Matching Based on Coordinate System Bank and Global Optimum Alignment. Proceedings of the 18th International Conference on Pattern Recognition, Hong Kong, China, 20–24 August 2006; Volume 4,. pp. 401–404.
  24. Qi, J.; Yang, S.; Wang, Y. Fingerprint matching combining the global orientation field with minutia. Pattern Recogn. Lett 2005, 26, 2424–2430. [Google Scholar]
  25. Tico, M.; Kuosmanen, P. Fingerprint matching using an orientation-based minutia descriptor. IEEE Trans. Pattern. Anal. Mach. Intell 2003, 25, 1009–1014. [Google Scholar]
  26. Udupa, U. R.; Garg, G.; Sharma, P. Fast and Accurate Fingerprint Verification. Proceedings of the 3rd International Conference on Audio- and Video-Based Biometric Person Authentication (AVBPA ’01), Halmstad, Sweden, 6–8 June 2001; Volume LNCS 2091. pp. 192–197.

Appendix Theorem Proofs

Theorem A1. Given two m-triplets t and r, if | d max t d max r | > t l then sinv(t, r) = 0.

Proof. From the definition of m-triplet we have:

d max r d mid r
d max r d min r
d mid r d min r

Assume, without loss of generality, that d max t > d max r; then, from the hypothesis of Theorem A1, we infer that:

d max t d max r > t l
which is equivalent to:
d max t t l > d max r

From Equations (A5) and (A1) we have d max t t l > d mid r; which is equivalent to:

d max t d mid r > t l
Similarly, from Equations (A5) and (A2) we obtain:
d max t d min r > t l

From Equations (A4), (A6) and (A7) we conclude that d max t differs more than threshold tl with respect to d max r, d mid r and d min r respectively. Therefore, sd(t, r) returns 0 for every clockwise shifting of r and consequently sinv(t, r) = 0.

Theorem A2. Given two m-triplets t and r, if | d mid t d mid r | > t l then sinv(t, r) = 0.

Proof. From the definition of m-triplet we have:

d max t d mid t

Assume, without loss of generality, that d mid t > d mid r; then, from the hypothesis of Theorem A2, we infer that:

d mid t d mid r > t l
which is equivalent to:
d mid t t l > d mid r

From Equation (A10) and (A3) we have d mid t t l > d min r; which is equivalent to:

d mid t d min r > t l
Similarly, from Equations (A8) and (A9) we obtain:
d max t d mid r > t l
Additionally, from Equations (A8) and (A11) we obtain:
d max t d min r > t l

From Equations (A9), (A11), (A12) and (A13) we conclude that d max t and d mid t differ more than threshold tl with respect to both d mid r, d min r. Therefore, sd(t, r) returns 0 for every clockwise shifting of r and consequently sinv(t, r) = 0.

Figure 1. Similar minutiae triplets that were not classified as true matching by some algorithms because in image (a) the features are arranged according to the length of the sides, in image (b) the algorithms try to match the main minutia q1 (left triplet) with the main minutia p1 (right triplet).
Figure 1. Similar minutiae triplets that were not classified as true matching by some algorithms because in image (a) the features are arranged according to the length of the sides, in image (b) the algorithms try to match the main minutia q1 (left triplet) with the main minutia p1 (right triplet).
Sensors 12 03418f1 1024
Figure 2. Minutiae triplets that do not match because (p1, p2, p3) is a reflected version of (q1, q2, q3).
Figure 2. Minutiae triplets that do not match because (p1, p2, p3) is a reflected version of (q1, q2, q3).
Sensors 12 03418f2 1024
Figure 3. Minutiae triplets that do not match because minutiae pairs (q1, p1), (q2, p2) and (q3, p3) highly differ in the directions of the minutiae relative to the sides of the triangles.
Figure 3. Minutiae triplets that do not match because minutiae pairs (q1, p1), (q2, p2) and (q3, p3) highly differ in the directions of the minutiae relative to the sides of the triangles.
Sensors 12 03418f3 1024
Figure 4. The components of the new feature representation proposed in this paper.
Figure 4. The components of the new feature representation proposed in this paper.
Sensors 12 03418f4 1024
Figure 5. ROC curves with the performance of the compared algorithms in FVC2002.
Figure 5. ROC curves with the performance of the compared algorithms in FVC2002.
Sensors 12 03418f5 1024
Figure 6. ROC curves with the performance of the compared algorithms in FVC2004.
Figure 6. ROC curves with the performance of the compared algorithms in FVC2004.
Sensors 12 03418f6 1024
Figure 7. 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).
Figure 7. 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).
Sensors 12 03418f7 1024
Table 1. Summary of the lacking quality parameter on fingerprint matching algorithms based on minutiae triplets.
Table 1. Summary of the lacking quality parameter on fingerprint matching algorithms based on minutiae triplets.
AlgorithmsLacking quality parameter
IIIIIIIVVVI
JY [9]XXX
KV [14]XXX
PN [11]XX
JG1 [12]XXXX
JG2 [5]XX
RUR [13]XX
TB [15]XX
FFCS [16]XX
CTYZ [17]XX
XCF [18]XXXX
ZGZ [19]XX
HK [20]XX
GSM [21]XX
Table 2. Experimental results on databases DB1_A, DB2_A, DB3_A and DB4_A of FVC2002.
Table 2. Experimental results on databases DB1_A, DB2_A, DB3_A and DB4_A of FVC2002.
DatabaseAlgorithmEERFMR100FMR1000ZeroFMRTime(ms)
WLC29.557.263.666.9123.0
DQYW22.846.852.655.913.6
BJY5.110.623.931.93.3
1TK4.04.97.08.912.4
-PN1.92.53.45.820.3
AUGS2.22.84.15.91,239.4
M3gl1.11.32.33.81.4

WLC34.063.669.372.6269.6
DQYW22.847.853.759.227.2
BJY4.58.317.327.64.6
2TK3.64.66.323.119.1
-PN1.41.62.43.544.4
AUGS1.92.34.95.62,846.1
M3gl1.31.41.92.21.6

WLC29.857.462.765.027.1
DQYW30.055.763.577.96.3
BJY9.416.426.133.11.5
3TK7.79.812.616.45.8
-PN5.66.910.212.85.6
AUGS5.38.012.226.496.0
M3gl3.14.57.59.40.6

WLC22.951.761.063.537.0
DQYW24.357.363.267.68.5
BJY7.413.023.028.32.1
4TK5.17.19.412.18.4
-PN3.13.95.610.310.3
AUGS4.27.112.616.8463.0
M3gl2.43.45.611.21.0
Table 3. Experimental results on databases DB1_A, DB2_A, DB3_A and DB4_A of FVC2004.
Table 3. Experimental results on databases DB1_A, DB2_A, DB3_A and DB4_A of FVC2004.
DatabaseAlgorithmEERFMR100FMR1000ZeroFMRTime(ms)
WLC27.364.873.977.3150.0
DQYW24.360.680.397.315.5
BJY13.528.542.855.94.2
1TK15.929.141.851.011.7
-PN11.417.724.425.920.9
AUGS7.914.824.931.31,649.4
M3gl6.311.419.321.71.3

WLC28.162.168.978.0103.0
DQYW24.852.158.973.712.9
BJY11.019.428.439.23.0
2TK7.812.018.724.911.6
-PN10.012.115.116.914.9
AUGS6.410.516.719.91,210.8
M3gl6.29.113.615.31.1

WLC24.557.964.969.5312.0
DQYW19.747.765.987.522.6
BJY12.022.132.341.46.4
3TK9.619.732.937.317.0
-PN7.110.717.624.938.0
AUGS5.18.614.122.46,510.9
M3gl6.18.614.416.41.9

WLC23.654.965.070.0108.8
DQYW25.555.565.874.713.3
BJY9.716.325.328.63.2
4TK7.611.416.639.411.8
-PN5.26.99.311.917.2
AUGS5.17.611.213.11,687.1
M3gl3.04.06.910.31.2
Table 4. Experimental results on databases DB1_B, DB2_B, DB3_B and DB4_B of FVC2002.
Table 4. Experimental results on databases DB1_B, DB2_B, DB3_B and DB4_B of FVC2002.
DatabaseAlgorithmEERFMR100FMR1000ZeroFMRTime(ms)
DM3gl11.72.53.63.6
BM3gl22.51.63.23.2
1M3gl31.42.93.63.6
-M3gl41.62.93.23.2
BM3gl2.02.53.23.2

DM3gl10.71.11.81.8
BM3gl21.92.53.23.2
2M3gl30.80.81.81.8
-M3gl41.92.92.92.9
BM3gl0.71.11.81.8

DM3gl16.59.412.112.1
BM3gl27.713.918.618.6
3M3gl36.99.311.811.8
-M3gl46.911.427.927.9
BM3gl6.49.311.111.1

DM3gl12.33.619.619.6
BM3gl22.83.911.111.1
4M3gl32.23.216.416.4
-M3gl44.032.578.278.2
BM3gl2.43.619.619.6
Table 5. Experimental results on databases DB1_B, DB2_B, DB3_B and DB4_B of FVC2004.
Table 5. Experimental results on databases DB1_B, DB2_B, DB3_B and DB4_B of FVC2004.
DatabaseAlgorithmEERFMR100FMR1000ZeroFMRTime(ms)
DM3gl14.05.410.410.4
BM3gl25.824.330.730.7
1M3gl33.86.113.613.6
-M3gl46.433.650.450.4
BM3gl2.559.39.3

DM3gl19.721.124.324.3
BM3gl212.925.028.628.6
2M3gl38.918.920.720.7
-M3gl411.425.031.131.1
BM3gl10.520.725.725.7

DM3gl10.91.42.52.5
BM3gl23.16.124.624.6
3M3gl31.01.42.52.5
-M3gl43.748.270.470.4
BM3gl0.60.71.41.4

DM3gl13.46.17.57.5
BM3gl24.611.413.213.2
4M3gl33.86.17.97.9
-M3gl45.320.072.972.9
BM3gl4.26.17.57.5

Share and Cite

MDPI and ACS Style

Medina-Pérez, M.A.; García-Borroto, M.; Gutierrez-Rodríguez, A.E.; Altamirano-Robles, L. Improving Fingerprint Verification Using Minutiae Triplets. Sensors 2012, 12, 3418-3437. https://doi.org/10.3390/s120303418

AMA Style

Medina-Pérez MA, García-Borroto M, Gutierrez-Rodríguez AE, Altamirano-Robles L. Improving Fingerprint Verification Using Minutiae Triplets. Sensors. 2012; 12(3):3418-3437. https://doi.org/10.3390/s120303418

Chicago/Turabian Style

Medina-Pérez, Miguel Angel, Milton García-Borroto, Andres Eduardo Gutierrez-Rodríguez, and Leopoldo Altamirano-Robles. 2012. "Improving Fingerprint Verification Using Minutiae Triplets" Sensors 12, no. 3: 3418-3437. https://doi.org/10.3390/s120303418

Article Metrics

Back to TopTop