Lifeng Sha, Feng Zhao, and Xiaoou Tang. Department of Information Engineering. The Chinese University of Hong Kong. Shatin, N.T., Hong Kong. {lfsha1 ...
Minutiae-based Fingerprint Matching Using Subset Combination Lifeng Sha, Feng Zhao, and Xiaoou Tang Department of Information Engineering The Chinese University of Hong Kong Shatin, N.T., Hong Kong {lfsha1, fzhao0, xtang}@ie.cuhk.edu.hk Abstract In this paper, we propose an effective fingerprint matching algorithm based on ridge count matching and minutiae subset combination. In the algorithm, the orientation-based ridge patterns are first utilized to remove the spuriously matched minutiae pairs. Then the reliable ridge counts between every two minutiae are estimated to improve the minutiae relationship, and finally the matched minutiae subsets corresponding to different alignments are selectively combined to reduce the influence caused by distortions in fingerprints. Experimental results on NIST-4 show that our method achieves a much better matching performance.
1. Introduction The minutiae-based matching algorithms are widely used in fingerprint recognition [8], which first extract the local minutiae (ridge endings and ridge bifurcations) from the thinned ridge map [4] or the grayscale image [7], and then match their relative placement in the query fingerprint with the stored template. In the past decades, various matching techniques [3][6][9] have been proposed in the literature. The fingerprint minutiae are traditionally represented by three attributes: (i) x-coordinate, (ii) y-coordinate, and (iii) local ridge direction (θ). To improve the reliability of global matching, researchers proposed to match minutiae points using not only the traditional features, but also the new features such as orientation-based ridge patterns [12] and ridge count between every two minutiae [2][5][10]. For each ridge pattern, 14 orientation features are defined in [12]. Six orientations are computed from the origin point to the six points uniformly distributed along the ridge with a certain interval. The other eight orientations are the average orientations of the eight local areas centered at the eight nearby points around the origin point. Such orientation-based ridge patterns can greatly improve the minutiae local features. Ridge count is the number of ridges between any two points in the fingerprint image, which can be estimated by determining the number of 0-to-1 transitions along the connect-
The 18th International Conference on Pattern Recognition (ICPR'06) 0-7695-2521-0/06 $20.00 © 2006
ing path in a binary image or by determining the number of local maxima along the connecting path in a grayscale image. Such features between every two minutiae are capable of representing the distinctive global spatial relationship among minutiae and hence can improve the global matching performance. However, the estimation of ridge count may fail when the connecting path is nearly parallel to the local ridge orientation or when it passes through a noisy area or other minutiae field. To solve the problem, we propose a new ridge count estimation algorithm that can reliably evaluate the ridge counts and drop those unreliable ones. Due to the distortions in fingerprint images, the minutiae sets extracted from the two impressions of the same finger are usually matched partially no matter how they are aligned. To reconstruct the mapping mechanism, several approaches have been previously developed including normalization [6] and 2D warping [1], but no best solution is available due to the complexity and unpredictability of the elastic distortions. Generally, different minutiae alignments produce different subsets of matched minutiae pairs, but most genuine minutiae pairs can be covered by two or three subsets. In this paper, we propose to obtain the optimal mapping result by combining the matched minutiae subsets instead of estimating the mapping function itself. Our subset combination-based algorithm can effectively alleviate the nonlinear distortion problem in fingerprints.
2. Feature Extraction Feature extraction consists of minutiae extraction and ridge count estimation. The thinned ridge map is scanned for minutiae extraction according to the properties of crossing number (CN) [11], and a post-processing algorithm is then applied to eliminate the spurious minutiae points. For minutiae feature representation, we adopt the orientationbased ridge patterns [12], which can greatly improve the minutiae local features. Such orientation-based ridge patterns help remove more spuriously matched minutiae pairs, thus speed up the minutiae alignment and matching. After minutiae extraction and purification, the ridge
3. Fingerprint Matching
2 1
3
0
1
Fingerprint matching consists of four steps: (a) minutiae alignment, (b) minutiae matching, (c) ridge count matching, and (d) distortion removal by subset combination. For minutiae alignment and matching, we use the method in [12]. In this section, we focus on ridge count matching and subset combination.
0 4 5
(a) (a)
(b) (b)
Figure 1. The relative position code corresponding to a minutia point. (a) Ridge bifurcation and (b) Ridge ending.
3.1. Ridge Count Matching
count can be estimated by the following steps, 1. Initialization: assign 0 to all the points in the minutiae labeling image Lm and the ridge labeling image Lr , both with the same size as the thinned ridge map. 2. Set the virtual minutiae to be the singular ridge points (CN=2) that are not assigned as the real/recorded minutiae. 3. For every real or virtual minutia, assign the value of the minutia sequence number to the surrounding pixels in a pre-specified neighborhood in Lm . 4. For every ridge, assign the value of the ridge sequence number to the corresponding connection point in Lr . 5. For each minutiae pair (Mi ,Mj ) that are very close to each other, if there exists a connecting ridge, then go to step 6, otherwise go to step 7. 6. If the ridge turn around with a large angle, subdivide the ridge into two parts at the middle point and estimate the ridge count according to step 7, then restore the ridge labeling image. 7. Check the paths from point Ai,a to point Bj,b , where Ai,a (Bj,b ) is the first (second) minutia point or its neighborhood point(s) within a specified distance on the associated ridge(s). If any path crosses other minutiae field in Lm , drop the ridge count feature. If there are two paths that cross different ridges (ignoring those associated with the two minutiae), then drop the ridge count feature, otherwise count the number of ridges along the connecting path. Note that the three ridges associated with a ridge bifurcation are treated as the same one. 8. Record the position codes of minutia Mj and Mi relative to minutia Mi and Mj respectively (as shown in Fig. 1). The ridge count features are defined as, r = [i, j, rc , pi , pj ]T ,
(1)
where i and j are the sequence number of minutia Mi and minutia Mj respectively, rc is the ridge count value, pi and pj denote the position code of Mj and Mi relative to Mi and Mj , respectively. In this way, only a small percentage of ridge count features are recorded for later matching. These ridge count features are of high reliability, and hence are capable of improving the global matching performance.
The 18th International Conference on Pattern Recognition (ICPR'06) 0-7695-2521-0/06 $20.00 © 2006
Since only reliable ridge count features are recorded, it is less reasonable to evaluate the ridge count matching score by dividing the number of matched pairs by the maximum number of ridge counts in the query fingerprint and the template. Instead, we use the difference between the number of matched and nonmatched pairs in the overlapping region only. For each ridge count rQ in the query fingerprint, we search its corresponding mate rT in the overlapping region of the template, which means that the corresponding four minutiae points must be matched as two pairs. If the corresponding mate cannot be found, we ignore it instead of treating it as nonmatched, otherwise we will estimate whether they are matched or not as follows. T ) and Without loss of generality, we assume (MiQ ,Mm Q T (Mj ,Mn ) are two matched minutiae pairs in the query fingerprint and the template. If MiQ has the same type with T and MjQ has the same type with MnT , the ridge count Mm pair rQ and rT can be easily judged as matched or not by checking if the ridge count value rcQ and rcT are the same. T If MiQ and Mm are of different types, e.g., MiQ is a ridge T is a ridge ending, the ridge count value bifurcation and Mm T will be first adjusted according to different matching of Mm conditions, T matches the main ridge (code 0 in Fig. 1) of • If Mm Q Mi , decrease rcT by one if the relative position code is 2, 3, or 4 (see Fig. 1). T matches the first minor ridge (code 2 in Fig. 1) • If Mm Q of Mi , decrease rcT by one if the relative position code is 0, 4, or 5 (see Fig. 1). T matches the second minor ridge (code 4 in • If Mm Q Fig. 1) of Mi , decrease rcT by one if the relative position code is 0, 1, or 2 (see Fig. 1). T is a ridge bifurcation, If MiQ is a ridge ending and Mm Q T or in case of Mj and Mn with different types, a similar adjustment will be performed. After that, the ridge count pair can be treated as matched if their modified ridge count values are the same, otherwise nonmatched. Fig. 2 shows some examples of matched and nonmatched ridge count pairs. Let M and N denote the number of minutiae in the query fingerprint and the template respectively, Mpair denotes the /pair denote number of matched minutiae pairs, Cpair and C the number of matched ridge count pairs and nonmatched ridge count pairs, respectively. The integrated matching
1
1 5
4 (a)
2
(b)
5
4 2
3
(a) 1 1
(c)
Alignment 2
Matched Minutiae Subset 1
Alignment k
Matched Minutiae Subset 2
Subset Combination Module
Matching Score
(2)
3.2. Subset Combination for Distortion Removal Generally, different minutiae alignments will result in different subsets of matched minutiae pairs which remove distortions in different local areas, but most genuine minutiae pairs can be covered by two or three subsets. On the other hand, the accumulation of distortion may result in large distance alteration, but the effect in local area is rather small and can be effectively solved by a pattern matching algorithm [4] using a suitable bounding box. Based on these observations, we propose an effective subset combination scheme for distortion removal (see Fig. 3), which can avoid inaccurate alignment and spurious minutiae pairs. In order to save memory and matching time, the original matched minutiae subsets corresponding to different alignments are sorted in descending order according to the matching scores as defined in equation (2), and only the top 10 subsets are recorded and utilized for subset combination. Let Si , Sj , and Sk be the matched minutiae subsets corresponding to three different alignments, Si,j be the combination of Si and Sj , Si,j,k be the combination of Si,j and Sk . The final matching score Mf∗inal can be defined as, = =
M f2
=
M f3
=
max(Mf1 , Mf2 , Mf3 ), max (Ms (Si )),
i: 1i10
max
i,j: 1i,j10
max
(Ms (Si,j )),
i,j,k: 1i,j,k10
(Ms (Si,j,k )),
(3) (4) (5) (6)
where Ms (·) is the matching score of a matched minutiae subset as defined in equation (2).
The 18th International Conference on Pattern Recognition (ICPR'06) 0-7695-2521-0/06 $20.00 © 2006
3 3
(d)
1
11
55 33 (e)
Figure 3. Flowchart of subset combination for distortion removal.
Mf∗inal Mf1
22
55
4 4 22 (f)
33
5
44 2
5
33 (g)
Figure 4. An example of subset combination. (a)(b) two minutiae subsets, (c)(d) two matched minutiae subsets corresponding to two different alignments, (e)(f) corresponding results after 2D warping, (g) the final matching result based on subset combination.
Matched Minutiae Subset k
score Ms is then computed by Mpair + Cpair − C /pair . Ms = max(M, N ) + Cpair + C /pair
3 3
11
44 22
Alignment 1
55
44
(c)
Template Minutiae Set
Alignment Module
55 22
Figure 2. Examples of ridge count pairs. (a-b) matched, (c-d) nonmatched. Query Minutiae Set
(b) 1 1
44
(d)
3
The combination of two subsets will be null (i.e., matching score is 0) if they have less than three common minutiae pairs, otherwise it will be defined as the union of the two subsets except those spuriously matched minutiae pairs. In case of one minutia matches two different minutiae or two minutiae are very close but their mates in another subset have a large distance, we will remove one of the two minutiae pairs according to the following rules, • If the two pairs make different ridge count contribu/pair ), eliminate the one with a small contions (Cpair − C tribution. • If the two pairs make the same ridge count contribution /pair ), eliminate the one with a smaller distance (Cpair − C from their nearest neighbors. Fig. 4 shows a simple example to demonstrate the effect of subset combination. The two minutiae sets {M1 , M2 , M3 , M4 , M5 } and {M1 , M2 , M3 , M4 , M5 } can be matched completely by combining the two matched subsets {(M1 , M1 ), (M2 , M2 ), (M3 , M3 ), (M4 , M4 )} and {(M1 , M1 ), (M2 , M2 ), (M3 , M3 ), (M5 , M5 )}, which correspond to two different alignments.
4. Experiments Experiments are conducted on a standard fingerprint database NIST-4, which contains a set of 2000 fingerprint image pairs (512×512, 500 dpi). Each fingerprint pair has two different rolled impressions of the same finger. The overall matching performance is measured by the receiver operating characteristic (ROC) curve, which plots the genuine acceptance rate (GAR) against the false acceptance rate (FAR) at different operating points (matching score thresholds). Fig. 5a shows the overall matching performance improved by the ridge count features and Fig. 5b illustrates the distribution of the imposturous and genuine matching
(a)
(b)
Figure 5. (a) The ROC curves illustrating the performance of ridge count features using different models, (b) The distribution of the imposturous and genuine matching scores with (solid lines) and without (dotted lines) integrating the ridge count features.
Subsets Combination
Subsets Combination
2D Warping
2D Warping
No Distortion Removal
No Distortion Removal
(a) without ridge count
(b) with ridge count
Figure 7. Distribution of the imposturous and genuine matching scores with (solid lines), without (dotted lines) subset combination. The ridge counts between every two minutiae are estimated and the reliable ones are used to enhance the relationship among minutiae, which increase the overall matching accuracy. Finally the matched minutiae subsets corresponding to different alignments are selectively combined to further improve the matching performance by alleviating the nonlinear distortion problem in fingerprints.
References (a) without ridge count
(b) with ridge count
Figure 6. The ROC curves of the subset combination, 2D warping, and original method. scores before and after integrating the ridge count features. In the experiment, three ridge count models are constructed: (1) reliable ridge count as described in Section 2, (2) unreliable ridge count where all the ridge counts are utilized without evaluation, and (3) local ridge count where the ridge count are not evaluated and only those ridge count connecting the minutia and its three nearest neighbors are utilized. It can be seen that the proposed ridge count mechanism outperforms the other methods. Without evaluating the reliability of the ridge count features, the matching performance will drop drastically. In addition, the reliable ridge count features greatly enlarge the genuine matching score while slightly change the imposturous matching score, which results in an obvious decrease of the equal error rate (EER). The results indicate that the reliable ridge count features are capable of enhancing the global spatial relationship among minutiae and hence improving the matching performance. Fig. 6 illustrates the ROC curves of the subset combination compared with the 2D warping algorithm and the original method without distortion removal. As can be seen from the results, our subset combination scheme shows good capability of distortion removal and performs better than the 2D warping method. Furthermore, the subset combination can effectively decrease the EER with almost no change to the imposturous matching score, as shown in Fig. 7.
5. Conclusion In this paper, we develop an effective fingerprint matching algorithm based on ridge count matching and minutiae subset combination. In our algorithm, the orientation-based ridge patterns are utilized to improve the minutiae local features for the removal of spuriously matched minutiae pairs.
The 18th International Conference on Pattern Recognition (ICPR'06) 0-7695-2521-0/06 $20.00 © 2006
[1] A. M. Bazen and S. H. Gerez. Fingerprint matching by thin-plate spline modeling of elastic deformations. Pattern Recognition, 36(8):1859–1867, 2003. [2] Z. Chen and C. H. Kuo. A topology-based matching algorithm for fingerprint authentication. In Proc. IEEE 25th Annual Int’l Carnahan Conf. Security Technology, pages 84– 87, 1991. [3] A. K. Hrechak and J. A. Mchugh. Automated fingerprint recognition using structural matching. Pattern Recognition, 23(8):893–904, 1990. [4] A. K. Jain, L. Hong, and R. Bolle. On-line fingerprint verification. IEEE Trans. Pattern Analysis and Machine Intelligence, 19(4):302–314, 1997. [5] X. Jiang and W. Y. Yau. Fingerprint minutiae matching based on local and global structures. In Proc. 15th Int’l Conf. Pattern Recognition, volume 2, pages 1038–1041, 2000. [6] D. Lee, K. Choi, and J. Kim. A robust fingerprint matching algorithm using local alignment. In Proc. 16th Int’l Conf. Pattern Recognition, volume 3, pages 803–806, 2002. [7] D. Maio and D. Maltoni. Direct gray-scale minutiae detection in fingerprints. IEEE Trans. Pattern Analysis and Machine Intelligence, 19(1):27–40, 1997. [8] D. Maltoni, D. Maio, A. K. Jain, and S. Prabhakar. Handbook of Fingerprint Recognition. Springer-Verlag, New York, 2003. [9] N. Ratha, S. Chen, K. Karu, and A. K. Jain. A real-time matching system for large fingerprint databases. IEEE Trans. Pattern Analysis and Machine Intelligence, 18(8):799–813, 1996. [10] N. K. Ratha, V. D. Pandit, R. M. Bolle, and V. Vaish. Robust fingerprint authentication using local structural similarity. In Fifth IEEE Workshop on Applications of Computer Vision, pages 29–34, 2000. [11] D. Rutovitz. Pattern recognition. J. Roy. Statist. Soc., 129:504–530, 1966. [12] L. Sha and X. Tang. Orientation-improved minutiae for fingerprint matching. In Proc. 17th Int’l Conf. Pattern Recognition, volume 4, pages 432–435, 2004.