Issuu on Google+

Fingerprint Matching Using Minutiae Triangulation Giuseppe Parziale and Albert Niel Institute of Digital Image Processing Joanneum Research Wastiangasse 6, A-8010, Graz, Austria {giuseppe.parziale, albert.niel}

Abstract. We present a new technique for fingerprint minutiae matching. The proposed method connects minutiae using a Delaunay triangulation and analyzes the relative position and orientation of each minutia with respect to its neighbors obtained by the triangle structure. Due to non-linear deformations, we admit a certain degree of triangle deformation. If rotations and translations are present, the triangle structure does not change consistently. Two fingerprints are considered matching, if their triangle structures are similar according the neighbor relationship. The algorithm performance are evaluated on a public domain database.



Fingerprints are the most reliable human characteristics that can be used for people identification [1, 2]. A fingerprint pattern is composed by ridges and valleys. Ridges present various kinds of discontinuities (minutiae), able to capture the invariant and discriminatory information, used to recognize fingerprints. In automatic fingerprint recognition systems, only ridge bifurcations and ridge endings are commonly used. Fingerprint matching techniques can be coarsely classified in three groups: minutiaebased, correlation-based and ridge feature-based matching techniques. For an overview of the three methods, refer to [4]. In this work, we will focus on the first class of methods that is also the most popular and widely used [1, 6–8, 13–16]. In general, this kind of techniques performs the matching comparing two sets of points (minutiae) and looking for the transformation that establishes the correspondences, translation and rotation between the query and the template point set. Once the minutiae features are extracted from the image, the fingerprint matching becomes a non-rigid point-matching problem [4] with unknown point correspondences and difference in the number of points belonging to the two sets. Moreover, the skin elasticity changes the relative position of the minutiae at each acquisition. In this paper, we present a novel technique for fingerprint matching, taking advantage of the relative position and orientation of each minutia related to their neighbors. The paper is organized as follows. In the next Section 2, we state the general case of the non-rigid point-matching problem and how it is addressed for the fingerprint matching. In Section 3, we describe our solution. In Section 4, we give a brief description of the method used for the minutiae extraction and present the algorithm performance computed on a public domain database. Finally, concluding remark are presented in Section 5.


Statement of the problem

Q Q 2 T T T 2 Let Q = {mQ 1 , m2 , . . . , mM } ⊂ R and T = {m1 , m2 , . . . , mN } ⊂ R represent the sets of 2-D points extracted from the query and the template image, respectively. In general, a similarity transformation [5] T rs,θ,tx ,ty : Q0 → T 0 that maps each point of 0

a subset Q0 ⊆ Q with each point of a subset T 0 ⊆ T has to be found. Then, ∀mQ j ,∃ a 0 unique mTi such that, 0


xQ j 0 yjQ



tx ty


cos ϑ − sin ϑ sin ϑ cos ϑ


xTi 0 yiT


where ϑ ∈ [0, 2π[ is a rotation angle and tx and ty are the translations along the x and y axes, respectively. The correspondence between points of the two sets is unknown, i.e. the number of the common points of Q0 and T 0 is unknown. To reduce the problem complexity, the local ridge orientation θ ∈ [0, π[, which the minutia belongs to, is introduced as an extra information. Thus, denoting with mi = {xi , yi , θi } a minutia 0 0 T0 represented by its location and its orientation, we say that mQ i ∈ Q ⊂ Q and mj ∈ T 0 ⊂ T match, if the Euclidean distance ED is smaller than a given threshold d0 and the angular difference AD is smaller than an angular tolerance θ0 [4]:

!  0 

Q0 0 0 x xTi

T j ED(mQ − (2) 0 0

≤ d0 j , mi ) = T r


yjQ 0






Q T Q T T AD(mQ j , mi ) = min(|θj θi |, π − |θj − θi |)


The minimum value in (3) is considered because of the angle circularity and we represent the minutia orientation with 0 ≤ θ < π. The hyper-sphere defined by d0 and θ0 is necessary, because of the presence of local non-linear deformations and errors induced by the minutiae extraction algorithms.


Our approach

The basic idea of our approach is based on the observation that, even if deformations, rotations and translations are applied to a fingerprint image, every minutia keeps always the same neighbor structure. We use this idea, introducing the information related to the position and orientation of each minutia with respect to its neighbors. In [7] a similar approach is presented. There, the local structure represented by a minutia and its k-nearest neighbors is examined, but the matching has to be refined using the method suggested in [1] by Jain et al., in which the ridges associated with the minutiae are used to align the input points with the template points. An equivalent method was presented in [8], but the matching is performed using the core and delta points1 . We want to avoid the use of these two feature points, since they are not always present in the image. We perform the matching, using only the local structure information and no core and delta points

Fig. 1. Features extracted from each minutia pair, connected by triangles.

are needed. In our approach, the dependency among minutiae is obtained applying on the point set a Delaunay triangulation: each minutia is used as a triangle vertex. We use this approach, since the Delaunay triangulation was found to have the best structural stability under random positional perturbations [13]. The resulting triangles, obviously, must admit a certain degree of deformation, due to the elasticity of the skin. As consequence, the length of the sides and the internal angles of each triangle are not fixed. Moreover, each minutia will have always the same neighbors, even if rotation, translation and little scale changes are present. To get advantage from this assumption and admit the above triangle deformation, we proceed as follow. As first step, we extract the following quantities from each minutia pair, connected by triangles, for both the query and the template set (Fig. 1): – the distance L between the two minutiae; – the angle α between the orientations of the two minutiae (angular difference between τi and τj ); – the angles β1 and β2 between the orientation of each minutia and the segment connecting them. Then, each minutia pair of the query set Q is compared with all the minutia pairs of the template set T , according the following relations: DL =

|LQ − LT | < T hL min(LQ , LT )

Dα = |αQ − αT | < T hα

 Q   T 

β β1

Dβ =

1Q − < T hβ β2T


(4) (5) (6)

where T hL , T hα and T hβ are fixed thresholds. In the previous relations LQ and LT represent two generic distances of the query and the template set, respectively, and αQ , 1

Core and delta are points of the fingerprint flow path at which position the ridge orientation changes abruptly

β1Q , β2Q , αT , β1T , β2T are the relative angles. In (4), the denominator is a normalization factor, so that DL is a measure of the difference of the two lengths LQ and LT . Once the previous values are computed for the query and template set, an LQ is chosen and checked against all the LT . Only if some of the LQ verifies the equation (4), then the equation (5) is considered and the relative angle αQ of the considered LQ is checked against the angle αT of the remaining LT . If, again, some LT are still left, the equation (6) is considered and the relative β1Q and β2Q of LQ are checked with the β1T and β1T of the remaining LT . As soon as one of the previous equations fails for all the LT , the considered LQ is discarded and the next one is considered. As result, a list of possible candidates LT for each LQ is obtained. This means that for each minutiae pair (connected by an LQ ) in the query set, there can be more minutia pairs in the template set that present the same local structure. At this point, we use the triangles the segment belongs to. Each segment L belongs to one or two triangles. If, at least, one of the two triangles is similar to its counterpart, we assume that the minutia pairs are matching. Here, the similarity between triangles is measured using equation (4) for all the triangle sides: if the sides of the two triangles respect that relation, the triangles are said to be similar and stored for the next processing step. A list of triangles of Q and its relative candidates of T are obtained by this procedure. Let p be the number of these triangle pairs. Using the coordinates of the matching triangle vertexes, the transformation (1) is computed p times, obtaining a set of p triplets (tx , tx and ϑ). We apply these parameters to the query minutiae set through (1), obtaining p sets of points. Now, the minutia matching count is performed. For each transformed set, we count how many minutiae are within a neighborhood of a template minutia according (2). When a query minutia is found in the surrounding, it is deleted from the relative set. This is done, so that a minutia is counted only once, since, especially in regions of the fingerprint with many minutiae, it can be that more than a minutia is present in the surrounding. If this happens, we consider only the nearest minutia and delete it from the list. Let us denote with n1 , n2 , . . . , np the number of matching minutiae for each transformed set. We q define the matching score between query and template fingerprints 2

by M d = 100 × Mn·N , where M and N are the number of minutiae in the query and template set, respectively, and n = max(n1 , n2 , . . . , np ).


Experimental results

The procedure, used to extract minutiae is here summarized. To reduce sensor imperfections and poor quality due to non-uniform contact with the sensor, we adaptively normalized each image as proposed in [11]. Since we used directional filters to enhance the image, we computed the local ridge orientation and frequency. We followed the idea proposed by Jain et al. in [3]. To enhance the ridge flow path, we filtered each image, using a modified version of the Gabor filters (MGF) [12]. Then, each image was binarized using a local mean (in a 16x16 window) as threshold value. After image thinning, we extracted location and orientation of each minutia. The experiments have been conducted on two fingerprint collections present on the DVD of [4]. They are labeled DB1 and DB2 for the FVC2002 and each of them comprise 800 fingerprint images captured at a resolution of 500 dpi, from 100 fingers (eight

impressions per finger). In the implementation, we used T hL = 0.1, T hα = π/12 and T hβ = π/9: the larger these values, the larger the number of triangles to be checked, thus increasing the computational time. Moreover, too small values are not convenient, since fingerprints with a certain non-local deformation degree would be wrongly rejected. Thus, these parameters play the role of a security level: an increase of their value corresponds to an increase of the false acceptance rate, while decreasing them corresponds to an increase of the false rejection rate. For comparison, we implemented the approach proposed in [6]. Before the evaluation on the databases, we want to quantify the performance of our method independently from the automatic feature extraction algorithm. If some minutiae are missed or false minutiae are generated, the extraction step can influence the matching performance. We do that by a semi-automatic procedure. We locate by hand the minutiae presented in 200 fingerprints (five impressions per finger) of DB2. Since the minutiae were localized by an inexpert user, unable to quantify accurately the minutiae orientation, the method suggested in [3] was used to define the orientation. In our tests, we do not distinguish between ridge endings and bifurcations. Each image n (n = 1, . . . , 200) of the DB2 subset is matched against the other 199 images of the same subset. We define a correct matching, when an image matches with a template coming from the same finger, otherwise we say it is rejected. Moreover, if an image matches with a template coming from a different finger, we say that the matching is false. The verification and the rejection rate are computed as follows: V erif ication rate =

NC , NC + NF

Rejection rate =


where NT is the number of total matches, NC is the number of correct matches, NF is the number of false matches and NR is the number of rejected images. In Table 1, we report the verification and the rejection rate some experiments with the DB2 subset. Moreover, we define matching rate the following: M atching rate =

match num[k] 200

We recorded the best k (k = 1, . . . , 5) matching scores of each image n matched with the other 199 images. If at least one image matches with three of the templates coming from the same finger (more than 50% of the templates of the same finger), we increase the match num[k], (k = 1, . . . , 5) by 1. In Table 2, the average matching rate of this experiment are reported. The last experiment regards a performance comparison. We used the experimental protocol proposed in [10] on DB1 and DB2 sets and compare the proposed algorithm with the matcher presented in [6]. We use for both algorithms the pre-processing step described in Section 4. The results are shown in the Receiver Operating Characteristic (ROC) curves of Fig. 2 obtained by our algorithm. We can observe that our algorithm outperforms the algorithm of Tico and Kousmanen, even if they give a more complex description of each minutia (orientation-based minutia descriptor). We believe that this is due to the fact that our approach binds strongly together the minutiae, while in their approach each feature point is treated as an isolated entity. Their method describes ac-

Table 1. The verification and rejection rate for the manually minutia detection experiment

Verification rate Rejection rate 99.10% 3.32% 98.12% 3.44% 100% 4.66% 99.81% 2.12% 99.00% 1.21% 99.54% 2.40% 99.76% 3.45% 99.85% 4.88% 98.32% 4.39% 99.98% 1.31%

Table 2. Top 5 matching rate of the experiment with manually minutiae detection

Number of best matches 1 2 3 4 5 Matching rate 98.88% 98.83% 98.20% 98.45% 97.98%

curately each minutia, but our method describes the relationship among minutia neighbors and this implies a more consistent description of the fingerprint even if rotations, non-linear distortions and translations are applied on the image.



We have introduced a new fingerprint minutiae-matching algorithm. The basic idea consists in connecting the neighbor minutiae with triangles using a Delaunay triangulation and analyzing the relative position and orientation of the grouped minutiae. Even if rotations, translations and non-linear deformations are present, the obtained triangle structure does not change significantly, except where the feature extraction algorithm fails. The proposed method was tested on a public domain database of fingerprint images and compared with another algorithm proposed in the literature. The two methods differ essentially in the minutia description. While the method proposed in [6] describes accurately each minutia, our method describes the minutia relationship that results more consistent. We gave also the performance of our algorithm using images with minutiae extracted by hand.

References 1. A. K. Jain, L. Hong, R. Bolle: On-Line Fingerprint Verification, PAMI, Vol. 19, No. 4, pp. 302-313, 1997. 2. S. Pankanti, S. Prabhakar, A. K. Jain: On the Individuality of Fingerprints, PAMI, Vol. 24, No. 8, pp. 1010-1025, 2002.

Fig. 2. ROC-curves on (a) DB1 and (b) DB2 of FVC2002 obtained with the proposed algorithm (solid line) and the algorithm proposed in [6] (dashed line).

3. L. Hong, Y. Wan, A. K. Jain: Fingerprint Image Enhancement: Algorithms and Performance Evaluation, PAMI, Vol. 20, No. 8, pp.777-789, August 1998. 4. D. Maltoni, D. Maio, A. K. Jain, S. Prabhakar: Handbook of Fingerprint Recognition, Springer Verlag, June 2003. 5. E. Sernesi: Geometria, Bollati Boringhieri, 1989, Torino. 6. M. Tico, P. Kousmanen: Fingerprint Matching Using an Orientation-Based Minutia Descriptor, PAMI, vol. 25, No. 8, pp. 1009-1014, Aug. 2003. 7. X. Jiang, W. Y. Yau: Fingerprint Minutiae Matching Based on the Local and Global Structures, ICPR00, vol. 2, Sept. 2000. 8. W. Zhang, Y: Wang, Core-Based Structure Algorithm of Fingerprint Verification, ICPR02, Vol. 1, Aug. 2002. 9. A. Senior, R. Bolle: Improved Fingerprint Matching by Distortion Removal, IEICE Trans. Inf. and Syst., Vol. E84-D, No. 7, July 2001. 10. D. Maio, D. Maltoni, R. Cappelli, J. L. Wayman, A. K. Jain: FVC2000: Fingerprint Verification Competition, PAMI, vol. 24, no. 3, pp. 402-412, Mar. 2002. 11. B. G. Kim, H. J. Kim, D. J. Park: New Enhancement for Fingerprint Images, ICPR02:, vol. 3, pp. 879-882. 12. J. Yang, L. Liu, T. Jiang, Y. Fan: A Modified Gabor Filter Design Method for Fingerprint Image Enhancement, Pattern Recognition Letters, vol. 24 (12), pp. 1805-1817, 2003. 13. G. Bebis, T. Deaconu, M. Georgiopoulos: Fingerprint Identification Using Delaunay Triangulation, ICIIS99, Maryland, Nov. 1999. 14. N. K. Ratha, R. Bolle, V. D. Pandit, V. Vaish: Robust Fingerprint Authentication Using Local Structural Similarity, 5th. IEEE WACV, Dec. 04-06, 200, Palm Springs, California, USA. 15. Y. Hao, T. Tan, Y. Wang: Fingerprint matching based on error propagation. ICIP02, Sept. 22-25, 2002, Rochester, New York, USA. 16. D. Lee, K. Choi, J. Kim: A Robust Fingerprint Matching Algorithm Using Local Alignment. ICPR02, Vol. 1, Aug. 2002.

Minutiae matcher using Minutiae Triangulation