2009 International Conference on Electrical, Communications, and Computers A Fingerprint Verification Algorithm Using the Smallest Minimum Sum of Closest Euclidean Distance. Ujjal Kumar Bhowmik1*, Ashkan Ashrafi2, Reza R. Adhami1, Department of Electrical and Computer Engineering, The University of Alabama in Huntsville, Huntsville, AL 35899, USA, 2 Department of Electrical and Computer Engineering, San Diego State University, San Diego, CA 92182, USA Emails: *[email protected], [email protected], [email protected] 1 person’s identity is consistent with his fingerprint. AFVS is normally used to deny or allow a person access in to a building, classified database or sensitive information system and so on. Most AFVS’s are minutia based systems. A minutia, ridge end or bifurcation, is the most unique discriminatory point in a fingerprint. The AFVS uses a fingerprint scanner to scan a finger and computer software to extract minutia features from that scanned image. In a minutia based system, verification is done by counting the number of matched minutia pairs between two fingerprints. According to forensic guidelines, when two fingerprints have a minimum of 13 matched minutiae pairs they are considered to have come from the same finger [2]. The reliability of the verification system depends on the accuracy of the extracted information. Several algorithms have already been developed to extract information from fingerprint images. Normally, some standard steps are followed to extract information from fingerprint images. These steps are: image quality enhancement, Orientation field extraction, Gabor filtering, Binarization, Skeletonization, minutia extraction and spurious minutia filtering [1], [2], [5], [6]. Orientation field extraction is one of the most critical phases in the minutia extraction process. Our minutia extraction phase uses an enhanced gradient based orientation field estimation algorithm proposed by Yi, Wang et al. [3]. The final outcome of any extraction algorithm is a set of minutia vector containing minutia location (X and Y coordinate), minutia type (ridge end or bifurcation) and orientation angle (the angle of the direction of the ridge and X axis). Each existing extraction algorithm has some advantages and drawbacks when compared to others. Speed and accuracy are the two deciding factors for choosing an extraction algorithm in AFVS. Our concern is to improve the accuracy of verification process. Most of the matching or verification phases of the AFVS utilize minutiae types and orientation angle to find the matched minutiae pairs from the input and template fingerprints [7], [8]. Thus, accuracy of the verification stage largely depends on the minutia extraction process. Unfortunately, due to some non-linear distortion, like excessive pressure and twisting of fingers during enrollment, this process can cause the minutiae features to Abstract In this paper, a Euclidean distance based minutia matching algorithm is proposed to improve the matching accuracy in fingerprint verification system. This algorithm extracts matched minutia pairs from input and template fingerprints by using the smallest minimum sum of closest Euclidean distance (SMSCED), corresponding rotation angle and empirically chosen statistical threshold values. Instead of using the minutia type and orientation angle, which are widely employed in existing algorithms, the proposed algorithm uses only the minutia location, to reduce the effect of non-linear distortion. Experimental results show that the proposed method has higher accuracy with improved verification rate and rejection rate. Keywords Smallest minimum sum of closest Euclidean distance ( SMSCED ), Template fingerprint, Input fingerprint, Minutia matching, Automatic Fingerprint verification system (AFVS). 1. Introduction The human fingerprint, which has well known properties of uniqueness and persistence over time, has long been the most widely used biometric for identification. Nowadays, it has taken the place of a wide range of applications such as criminal justice, security, border control and even as a password to a personal computer. Following the deadly attacks on 9-11, some critical issues raise a question in our minds as to how much more secure we are? How much have we ensured the entrance to our highly restricted places to correct personnel? Since then, a great deal of work has been done on biometric identification and emphasis has been given on fingerprint identification techniques. There are mainly two systems using fingerprints as a biometric: fingerprint identification system (FIS) and fingerprint verification system (FVS). In a FIS, a fingerprint of an unknown person is compared with an existing database in order to identify that person. On the other hand, an automatic FVS has a small database and is used to confirm whether a 978-0-7695-3587-6 2009 U.S. Government Work Not Protected by U.S. Copyright DOI 10.1109/CONIELECOMP.2009.57 90 Authorized licensed use limited to: San Diego State University. Downloaded on August 18, 2009 at 14:25 from IEEE Xplore. Restrictions apply. be distorted from the original. A ridge-end could turn in to a bifurcation and a bifurcation may produce a couple of ridge-ends which in turn affects the orientation angle of the minutiae pattern. Therefore, a new algorithm is needed to improve the accuracy of the AFVS. This new algorithm should consider each minutia in the global context of the image instead of considering local features, minutia type and orientation. In this paper, a novel algorithm, which uses the overall minutia pattern in both images without considering the minutia type and orientation angle, is proposed. The overall minutia patterns of the two fingers are compared by the SMSCED between two minutia sets. The process starts off by placing the input fingerprint on top of the template fingerprint and rotating the input fingerprint with some suitable step size up to ±900. During each rotation SMSCED is measured. By observing the rotation angle, measuring the SMSCED and using some boundary conditions, matched minutiae pairs are identified. Finally, the number of matched minutiae pairs can determine whether the two fingerprints have come from same finger or not. T ( X j , Y j ) and the minutiae vector with a lesser number of minutiae is called the Input vector, where, and j 1,2,3,.....m ; V ( X i , Yi ) , i 1,2,3,......n ; m ! n 2) Take any minutia of V ( X i , Yi ) , say i 1 , and place it on top of any minutia of T ( X j , Y j ) , say j 1 , and modify all other minutiae of V ( X i , Yi ) so that V will be placed on top of T accordingly. i.e., V ( X i , Yi ) [(V ( X i ) x ), (V (Yi ) y )]; i 1,2,3,....., n ; where, x T ( X j ) V ( X i ) ; y T (Y j ) V (Yi ) ; for i 1 and j 1. 3) Find the closest Euclidean distances by the following algorithm for j 1 : m for i 1: n T ( X ED ( j , i ) end CED( j ) end 2. SMSCED Algorithm The idea behind the smallest minimum sum of closest Euclidean distance originated from the fact that if two identical fingerprints are placed on top of one another then the minutiae from one fingerprint will exactly coincide with the minutiae from the other fingerprint, so the sum of the distances between the corresponding minutiae is naturally zero. Now consider the situation when two fingerprints from a same finger are scanned at a different instant of time. Although these fingerprints are taken from same finger, they are not identical due to misalignment during the enrollment. If one fingerprint is placed on top of another then the minutiae from one fingerprint will not exactly coincide with the minutiae of the other fingerprint. However, if one fingerprint is rotated by some angle, maximum number of matched minutia pairs between the images can be obtained. Obviously, the sum of the distances between the corresponding minutiae will be minimized at that angle. The SMSCED algorithm operates in three stages: coarse rotation stage, Fine rotation stage and Decision stage. ) V ( X i ) T (Y j ) V (Yi ) 2 j 2 min( ED) Then consider the index of V ( X i , Yi ) , that is placed on top of T ( X j , Y j ) , as the center of rotation then rotate V ( X i , Yi ) up to ±900 with a suitable step size (preferably 100) and calculate SCED for each rotation step i.e., r 0 0 , r 10 0 , r 20 0 ,......, r90 0 by the following formula m SCED(i, r ) ¦ CED( j ), j 1 Where, i is the index of V ( X i , Yi ) and r is the rotation angle. The initial value of the angle is 00. 4) Find, MSCED( j , i, r ) min( SCED) where, j index number of T ( X j , Y j ) vector 2.1 Coarse Rotation i index of V ( X i , Yi ) that is placed on top of T ( X j , Y j ) r rotation angle that gives min(SCED) 5) Take another minutia of V ( X i , Yi ) , repeat steps 3 to 4 The following steps are to be followed in the coarse rotation stage to find the optimum angle of rotation where the MSCED is minimized: and calculate MSCED ( j , i, r ) until all minutiae of V ( X i , Yi ) have been considered. Then, take another 1) until all the minutiae of T ( X j , Y j ) have been considered. The next step is to find the smallest value among MSCED values: minutia of T ( X j , Y j ) and repeat the whole process The minutiae vector with a greater number of minutiae is considered as the Template vector, 91 Authorized licensed use limited to: San Diego State University. Downloaded on August 18, 2009 at 14:25 from IEEE Xplore. Restrictions apply. for j 1: m for i 1: n MSCED ( j , i, r ) min( SCED ) end SMSCED ( j , i, r ) min( MSCED ) end Where, j is the index number of T ( X j , Y j ) vector, i 2400 2300 is the index number of V ( X i , Yi ) that gives SMSCED and r is the rotation angle where SMSCED occurs. SMSCED 2200 2100 2000 After following the above steps 1-5, we have gotten minutia pairs, index number of T ( X j , Y j ) and 1900 1800 corresponding index number of V ( X i , Yi ) that gives SMSCED . Our coarse rotation stage shows that if two fingerprints have come from same finger they have smaller values of SMSCED and the corresponding rotation angles where SMSCED occur are very close to each other. In other words, if two fingerprints have come from different fingers then the standard deviation of rotation angles, std (r ) , would be very large and the mean value of the SMSCED will be very high (Fig. 1). We empirically came up with some threshold values for the mean of the SMSCED and std (r ) in order to discriminate between the matched and non-matched fingerprints: 0 10 20 30 40 50 M in u t ia N u m b e r (T e m p la t e ve c t o r) 60 70 0 10 20 30 40 50 M in u t ia N u m b e r (T e m p la t e ve c t o r) 60 70 100 80 60 40 Degree 20 0 -2 0 -4 0 -6 0 -8 0 -1 0 0 Fig.1 Two fingerprint images from different fingers, their SMSCED and corresponding rotation angles. The mean of ( SMSCED ) is 1985.4 and rotation angles are scattered, i.e. std (r ) is 27.605. If ( std (r ) ! 20) & (mean( SMSCED) ! m u 25) then result " No Match " Else One of the two fingerprint images shown in Fig. 2 is rotated around 500 with respect to the other one. Both of the fingerprints are from the same finger. Application of the coarse stage of our algorithm shows that the SMSCED values occur at about 500 rotation angles. This is consistent with the actual relative position of the images with respect to each other. 2.2 Fine Rotation If the two fingerprints have come from same finger we need to find their matched minutiae. In this case, we should perform the fine rotation stage to extract matched minutia pairs. The mean value of SMSCED after coarse rotation is 1646, which is much less than the threshold value of 2200, (m×25), where m = 88 is the number of minutiae in T ( X j , Y j ) . The corresponding mean value of the Fine rotation repeats the same steps of the coarse rotation stage but uses smaller steps size (preferably 20) and rotates the input fingerprint up to ±100 from the mean value of r . The result of the fine rotation stage will be SMSCED f ( j , i, rf ) . Where, suffix f indicates fine rotation angle is -52.180. The standard deviation, std (r ) 9.8152 , which is also much less than the threshold of 20. rotation, j is the index number of T ( X j , Y j ) vector for V ( X i , Yi ) that could be a probable matched pair of j and So the necessary conditions for starting the fine rotation stage are satisfied. After going through the fine rotation stage, we found that mean value of SMSCED f is rf is the rotation angle where SMSCED f occurs. 1572.6, which is less than the mean value of SMSCED which SMSCED f is calculated, i is index number of 92 Authorized licensed use limited to: San Diego State University. Downloaded on August 18, 2009 at 14:25 from IEEE Xplore. Restrictions apply. 2.3 Decision Stage To find out the final set of matched minutiae pairs falsely matched minutia pairs must be eliminated form the set. A falsely matched minutia pair is the one which has larger SMSCED value and the corresponding rotation angle is significantly different from mean value of r . Sometimes a minutia from the input vector, V ( X i , Yi ) , -20 -40 might match with more than one minutia in the template vector, T ( X j , Y j ) . This may happen when several -60 minutiae are very close to each other on the template. This situation occurs when spurious minutiae appear in the minutiae extraction stage due to the low quality of the images. Normally, all the repeated minutiae index of V ( X i , Yi ) , and their corresponding minutiae in T ( X j , Y j ) are removed from the input and template vectors to determine correct matched minutiae pair. However, special care has also been taken to the spurious minutiae in order to avoid the erroneous deletion of matched minutia pairs. After applying our algorithm to several scanned fingerprint images and to a quite large database, FVC2004, we observed that the SMSCED , SMSCED f and their corresponding rotation angle values carry some distinguished characteristics. From our observation and empirical analysis, we came up with some empirical statistical boundary values of SMSCED and rotation angle, which give excellent result for verification system. The following steps are followed in the decision making stage: -80 0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 60 70 80 90 0 10 20 30 40 50 60 70 80 90 1900 1800 1700 1600 1500 -40 -45 -50 -55 SMSCED / rotation angle -60 2200 If (mean(SMSCEDf)<m×15) & std(r)<10) then Find the unique minutiae index of V(Xi,Yi) and corresponding minutiae index in T(Xj,Yj) which give minimum SMSCEDf. Apply boundary condition to find how many minutia pairs are within ± 7.50 range of mean (rf). If ( number of minutia pairs >= 13) then Two fingerprint are matched Else Not Matched End Else Remove repeated index from both V ( X i , Yi ) and T ( X j , Y j ) images. 2000 1800 1600 1400 0 10 20 30 40 50 60 70 Minutia Number (Template vector) 80 90 Fig.2 Two fingerprint images from the same finger. SMSCED and corresponding rotation angles found after coarse and fine rotation stages. obtained from the coarse rotation stage. Obviously, rotation with smaller step size can move the matched minutiae pairs closer to each other. We also found that the standard deviation, std (rf ) is 5.2116, which is also less If (mean(SMSCEDf)<m×20) & std(r)<10) then Apply boundary condition to find how many minutia pairs are within ± 7.50 of mean(rf) Else Apply boundary condition to find how many minutiae pairs are within ± 50 of mean (rf) End then std (r ) . From decision stage, described below, we found that these two fingerprints have 44 matched minutia pairs. 93 Authorized licensed use limited to: San Diego State University. Downloaded on August 18, 2009 at 14:25 from IEEE Xplore. Restrictions apply. If ( number of minutia pairs >= 13) then Two fingerprint are matched Else Not Matched End End In Fig. 3 and Fig.4 two extreme cases are tested with our algorithm. Image-12_2(middle fingerprint) is compared with two other obscured images: image-12_6 (left) and image-1_7 (right) (From database FVC2004). The following results are obtained from our experiments: 0 -10 -20 From Fig.3 (for pair of image-12_2 and image-12_6) mean( SMSCED) 1191.9 ; std (r ) 8.33 mean( SMSCED f ) 1180.4 ; std (rf ) 5.49 No. of matched minutia pairs = 13 Result = Fingerprint Matched -30 -40 20 30 40 50 60 0 10 20 30 40 50 60 0 10 20 30 40 50 60 0 10 50 60 1400 1200 1000 0 3. Experimental Results -10 The SMSCED Algorithm is verified in two stages. In the first stage, using the facility of UAH Biometric Lab, we tested our algorithm with 20 different fingerprint images taken from 10 different people. In the second stage we tested our algorithm using a large database of 800 images (FVC2004). These images are taken from 100 different fingers, 8 images for each finger. The verification rate and rejection rate, introduced by Anil Jain et al. [1], are two well-known parameters used for measuring the accuracy of the verification system If an input image matches the template containing the image coming from the same finger as itself, then a correct verification is established. If an input image can not match with the template containing the image coming from same finger as itself, then it is rejected. If an input image matches with a template contains the image from different fingers, then a false verification is established rejection rate 10 1600 From Fig.4 (for pair of image-12_2 and image-1_7) mean( SMSCED) 1976.3; std (r ) 16.96 mean( SMSCED f ) 2020.8 ; std (r f ) 8.41 No. of matched minutia pairs = 3 Result = Fingerprint not Matched Verification rate 0 -20 SMSCED / rotation angle -30 1600 1400 1200 1000 20 30 40 Minutia Number (Template vector) Fig.3 Fingerprint Images of 12_6, 12_2, 1_7 (FVC2004) and SMSCED and corresponding rotation angle of pair (12_2 & 12_6) after coarse and fine rotation stages. correct _ num u 100% correct _ num false _ num reject _ num u 100% total _ no _ of _ images In the first stage of the verification process, we compared each fingerprint image with other 19 images. We found, Verification rate = 100%; Rejection rate =0%. In the second stage, we created two sets of images taken from the FVC2004 database. Each set has 700 pairs of images. In one set each pair represents the same fingerprint images and in other set each pair represents different fingerprint images. We found, Verification rate = 100%; Rejection rate = 8.12% Where, correct_num is the number of correct verification, false_num is the number of false verification, and reject_num is the number of rejected images [4]. 94 Authorized licensed use limited to: San Diego State University. Downloaded on August 18, 2009 at 14:25 from IEEE Xplore. Restrictions apply. 100 4. Conclusion 50 We have designed and implemented a novel minutiae matching algorithm using the smallest minimum sum of closest Euclidean distance. Our algorithm operates in three stages: coarse rotation, fine rotation, and decision stage. This algorithm uses only minutiae location, X and Y coordinates, to reduce the effect of non-linear distortion. Using the minutiae coordinates also relaxes the dependency of the algorithm to inaccurate minutiae orientation resulted from the poor image qualities. the Experimental results show a significant improvement in the verification process. Reduction of the number of iterations needs to be investigated in future works. Techniques such as random walk and other optimization algorithms could also be used to determine SMSCED and corresponding rotation angle values. 0 -50 0 10 20 30 40 50 60 70 80 0 10 20 30 40 50 60 70 80 2400 2200 2000 1800 20 15 10 5. References 5 SMSCED / rotation angle 0 0 10 20 30 40 50 60 70 [1] 80 3500 3000 [2] 2500 2000 1500 [3] 0 10 20 30 40 50 60 Minutia Number (Template vector) 70 80 Fig.4. SMSCED and corresponding rotation angle of pair [4] (12_2 & 1_7) after coarse and fine rotation stage. [5] Using different threshold values, Anil Jain et.al reported: i) The best verification rate and corresponding rejection rate are 100% and 27.72% respectively. ii) The best rejection rate and corresponding verification rate are 11.23% and 99.426% respectively. [6] After applying some modifications on Anil Jain et.al algorithm, Xiping Luo et.al reported: i) The best verification rate and corresponding rejection rate are 100% and 13.3% respectively. ii) The best rejection rate and corresponding verification rate are 9.4% and 99.908% respectively. [7] [8] Compared with the above popular existing methods our algorithm showed a significant improvement in verification process was achieved. A. Jain, L. Hong and R. Bolle, “On-Line Fingerprint Verification,” IEEE Trans on Pattem Analysis and Machine Intelligence, vol.19, No.4. pp.302-313, 1997. D. Maltoni, D. Maio, A. Jain and S. Praghakar, Handbook of Fingerprint Recognition, New York: Springer, 2003. Wang, Y., Hu, J., & Han, F. (2006). Enhanced gradient-based algorithm for the estimation of fingerprint orientation field. Applied Mathematics and Computation, 26, 506-514. X. P. Luo, J. Tian, and Y. Wu, “A minutiae matching algorithm in fingerprint verification,” in Proc. 15th ICPR, vol. 4, 2000, pp. 833–836. P. Meenen, A Multi-Level Fingerprint Feature Extraction and Verification System Using Pores, Ph.D. Dissertation, The University of Alabama in Huntsville, 2005. P. Meenen, A. Ashrafi, and R. Adhami, “The Utilization of Taylor Series Based Transformation in Fingerprint Verification”, Pattern recognition letters, Vol.27, No.14, October 2006. M. Tico, P. kuosmanen, “Fingerprint matching using an orientation-based minutia descriptor”, IEEE Trans. PAML, vol. 25, no. 8 , August 2003, pp. 1009-1014. N.K. Ratha, V.D. Pandit, “Robust fingerprint authentication using local structural similarity,” Fifth IEEE workshop on applications of computer vision, Palm Springs,CA, December 2000, pp. 2934. 95 Authorized licensed use limited to: San Diego State University. Downloaded on August 18, 2009 at 14:25 from IEEE Xplore. Restrictions apply.
© Copyright 2026 Paperzz