A Fingerprint Verification Algorithm Using the Smallest

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.