Improving Fingerprint Verification Using Minutiae Triplets

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.


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: I Invariance to the order of minutiae in the feature. II Sensitivity to the reflection of minutiae triplets. III Sensitivity to the directions of the minutiae relative to the sides of the triangle. IV Insensitivity to select a single alignment. V Tolerance to errors of the feature extractor. VI Determinism. Table 1. Summary of the lacking quality parameter on fingerprint matching algorithms based on minutiae triplets.
Lacking quality parameter Algorithms I II III IV V VI

JY [9]
X X X KV [14] X X X PN [11] X X JG1 [12] X X X X JG2 [5] X X RUR [13] X X TB [15] X X FFCS [16] X X CTYZ [17] X X XCF [18] X X X X ZGZ [19] X X HK [20] X X GSM [21] X X 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.

Definitions
This section defines some basic functions that we use throughout the paper. Given two minutiae p i = (x i , y i , θ i ) and p j = (x j , y j , θ j ), ed(p i , p j ) represents the Euclidean distance between the coordinates of p i and p j Equation (1).
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 ad 2π (α, β) 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).
Finally, for a given pair of minutiae p i and p j , ang(p i , p j ) computes the angle of the vector with initial point at p i and terminal point at p j using Equation (4).

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 p i ∈ P are clockwise arranged starting on p 1 . • d i∈1... 3 , where d i is the Euclidean distance between the minutiae different than p i . • d max , d mid and d min 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 ad 2π ( 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.
is the angle required to rotate the direction of the minutia p k in order to superpose it to the direction of the minutia p j .
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.

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 s inv (t, r) in Equation (5) to compare m-triplets.
where: shif t(r) is the clockwise-shifted m-triplet r and s part (t, r) is the base similarity function in Equation (6).
The base similarity function s part is defined using functions s θ , s d , 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.
The function s d Equation (8) compares m-triplets in terms of the side lengths of the triangle formed by the triplet minutiae. s d returns values in the interval [0, 1], returning 0 if at least one length difference is greater than threshold t l . s d returns 1 if all length differences are 0; that is, the triangles formed by both m-triplets are identical.
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).
The function s β Equation (10) compares m-triplets based on relative minutiae directions (angles β on Figure 4 s Equations (9) and (10) return values in the interval [0, 1]. They return 0 if at least two compared angles differ more than threshold t a . 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. Based on these theorems, we can modify s inv Equation (5). This way, our m-triplets similarity can be re-written as Equation (11). , r), s part (t, shif t(r)), s part (t, shif t(shif t(r)))}, otherwise Local distance threshold t l and angle threshold t a are parameters of the algorithm and must be tuned according to the image characteristics.
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.

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 p ∈ P , 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.

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: 1. 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. 2. For each query m-triplet r i ∈ R perform binary search looking for the template m-triplets {t 1 , t 2 , . . . , t u } ⊂ T with similarity value higher than 0 and add the pairs (r i , t 1 ), (r i , t 2 ), . . . , (r i , t u ) to A. 3. Sort in descendant order all matching pairs (r, t) in A according to the similarity value. 4. Let M ← {} be the set containing local matching minutiae pairs. 5. For each (r, t) ∈ A do (a) Let B ← { (q 1 , p 1 ), (q 2 , p 2 ), (q 3 , p 3 ) } be the matching minutiae that maximizes s inv (r, t) where q 1 , q 2 , q 3 ∈ Q and p 1 ,

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 t g . Second, minutia directions must not exceed threshold t a . Third, the directions differences relative to reference minutiae pair must not exceed threshold t a . The formal algorithm is the following: (c) if n < |E| then n ← |E|.

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 t g and angle threshold t a are parameters of the algorithm, and must be tuned based on the image characteristics.

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 (t l = 12, t g = 12, t a = π/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.

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.