A Fingerprint Recognizer Using Fuzzy Evolutionary Programming
Transcript of A Fingerprint Recognizer Using Fuzzy Evolutionary Programming
-
8/8/2019 A Fingerprint Recognizer Using Fuzzy Evolutionary Programming
1/7
A Fingerprint Recognizer
Using Fuzzy Evolutionary Programming
Tu Van Le, Ka Yeung Cheung, Minh Ha Nguyen
School of ComputingFaculty of Information Sciences & Engineering
University of Canberra
E-mail: [email protected]
Abstract
A fingerprint recognizing system is built with two
principal components: the fingerprint administrator and
the fingerprint recognizer. Fingerprints are identified by
their special features such as ridge endings, ridge
bifurcation, short ridges, and ridge enclosures, which arecollectively called the minutiae. The fingerprint
administrator uses the method of gray scale ridge tracing
backed up by a validating procedure to extract the
minutiae of fingerprints. The fingerprint recognizer
employs the technique of fuzzy evolutionary programming
to match the minutiae of an input fingerprint with those
from a database. Experimental results show the methods
used are highly effective.
1. Introduction
Fingerprints have been used for many centuries as ameans of identifying people [8,16]. As it is well knownthat fingerprints of an individual are unique and arenormally unchanged during the whole life, the use offingerprints is considered one of the most reliablemethods of personal verification. This method has beenwidely used in criminal identification, access authorityverification, financial transferring confirmation, and manyother civilian applications.
In the old days, fingerprint recognition was donemanually by professional experts. But this task hasbecome more difficult and time consuming, particularly inthe case where a very large number of fingerprints areinvolved. During the past decade, several automaticfingerprint identification systems have been madeavailable to meet the demand of new applications[7,16,20,30]. The methods used in these systems are stillfar from complete satisfaction, however, due to inaccurateextraction of fingerprint characteristics and ineffectivepattern matching procedures, which are the two majortasks of fingerprint identification. The Federal Bureau ofInvestigation's method of identifying a fingerprint by its
set of minutiae is widely used in automatic fingerprintidentification systems [7,9,18,21,26]. However, the wayof extracting a fingerprint's minutiae differs from systemto system. Many systems require some form of image pre-
processing such as transforming the fingerprint into abinary image and trimming the image's ridges into singlepixel lines, before the detection of minutiae is carried out[2,3,6]. This may cause some loss of information andresult in inaccurate detection of the fingerprint's minutiae.The task of matching an input fingerprint's minutiae withthose from a database is much more difficult. The existingmethods that are based on mathematical approximationand string matching algorithms [4,10] or on relaxationand simulated annealing [1,25] have shown to be ratherineffective and time consuming. The method of discreteHough transform [23,27] is obviously inappropriate as thesearch space is continuous. These difficulties stem frompossible skin elasticity, different scales, and difference inpositions of fingerprints.
In this paper, we adopt the method of direct grayscale minutiae detection proposed in [5,15,17,29]improved by a backup validating procedure to eliminatefalse minutiae. As for minutiae matching, we employedthe technique of fuzzy evolutionary programming, whichhas been used successfully in speaker identification [11],images clustering [12,13], and fuzzy algebraic operations[14]. Experimental results show this approach is alsohighly effective in fingerprint recognition.
The paper is organized as follows. Section 2discusses the characteristics of fingerprints that arecommonly used to identify individuals. The method of
extracting these fingerprint characteristics is described inSection 3. Section 4 presents the major component of ourfingerprint recognizing system, which employs thetechnique of fuzzy evolutionary programming to identifya fingerprint. In Section 5, we present some experimentalresults that justify the methods used. The last sectionsummarizes the paper and indicates some related futureworks.
0-7695-0981-9/01 $10.00 (c) 2001 IEEE
Proceedings of the 34th Hawaii International Conference on System Sciences - 2001
-
8/8/2019 A Fingerprint Recognizer Using Fuzzy Evolutionary Programming
2/7
2. Fingerprint characteristics
A fingerprint is a textural image containing a largenumber of ridges that form groups of almost parallelcurves (Figure 1). It has been established thatfingerprint's ridges are individually unique and are
unlikely to change during the whole life.
Although the structure of ridges in a fingerprint isfairly complex, it is well known [7] that a fingerprint canbe identified by its special features such as ridgeendings, ridge bifurcation, short ridges, and ridgeenclosures. These ridge features are collectivelycalled the minutiae of the fingerprint. It is alsoreported in [7] that for automatic detection of afingerprint, it suffices to focus on two types of minutiae,namely ridge endings and bifurcation. Figure 2shows the forms of various minutiae of a fingerprint.
Figure 2. (a) Ridge ending; (b) Ridge bifurcation;(c) short ridge; (d) Ridge enclosure
A full fingerprint normally contains between 50 to 80minutiae. A partial fingerprint may contain fewer than 20minutiae. According to the Federal Bureau ofInvestigation [7], it suffices to identify a fingerprint by
matching 12 minutiae, but it has been reported that inmost cases 8 matched minutiae are enough.
3. Minutiae extraction
For convenience, we represent a fingerprint image in
reverse gray scale. That is, the dark pixels of the ridgesare assigned high values where as the light pixels of thevalleys are given low values. Figure 3 shows a section ofridges in this representation.
In a fingerprint, each minutia is represented by itslocation ( x, y) and the local ridge direction . Figure 4shows the attributes of a fingerprint's minutia. Theprocess of minutiae detection starts with finding a summitpoint on a ridge, then continues by tracing the ridge untila minutia, which can be either a ridge ending orbifurcation, is encountered. Details of these tasks aredescribed in the following subsections.
Figure 3. A section of ridges.
Figure 4. A minutia's attributes
3.1 Finding a ridge summit point
To find a summit point on a ridge, we start from a pointx= (x1,x2) and compute the direction angle by using thegradient method described in [5,17]. Then the verticalsection orthogonal to the direction is constructed (Tosuppress light noise, the section gray values areconvoluted with a Gaussian weight function). The point inthis section with maximum gray level is a summit pointon the nearest ridge.
(a) (b)
(c) (d)
Figure 1. A fingerprint
(x, y)
0-7695-0981-9/01 $10.00 (c) 2001 IEEE
Proceedings of the 34th Hawaii International Conference on System Sciences - 2001
-
8/8/2019 A Fingerprint Recognizer Using Fuzzy Evolutionary Programming
3/7
Figure 5. A summit point on a ridge
The direction angle at a pointx mentioned above iscomputed as follows. A 99 neighborhood around x isused to determine the trend of gray level change. At eachpixel u = (u1, u2) in this neighborhood, a gradient vectorv(u) = (v1(u), v2(u)) is obtained by applying the operatorh= (h1, h2) with
to the gray levels in a neighborhood ofu. That is,
where y runs over the eight neighboring pixels around uand g(y) is the gray level of pixel y in the image. Theangle represents the direction of the unit vectort that is(almost) orthogonal to all gradient vectors v. That is, t is
chosen so that 2)(u
t.v is minimum.
3.2 Tracing a ridge
The task of tracing a ridge line to detect minutiae isdescribed in the following algorithm. This algorithm alsoconstructs a traced image of the fingerprint. Every time anew summit point of the ridge is found, its location in thetraced image is assigned a high gray value and thesurrounding pixels are given lower gray levels if theyhave not been marked.
Algorithm 1(Ridge tracing)
Start from a summit pointx of a ridge.Repeat
Compute the direction angle atx;Move pixels fromx along the direction toanother pointy;Find the next summit point z on the ridge, which isthe local maximum of the section orthogonal todirection at pointy; Setx = z;
Until pointx is a termination point (i.e. a minutia or offvalid area).
Determine if the termination pointx is a valid minutia,if so record it.
End Algorithm 1
There are three criteria used to terminate tracing aridge. The first stopping condition is that when the currentpoint is out of the area of interest. That is, the current
point is within 10 pixels from the border, as experimentsshow that there are rarely any minutiae close to the edgesof the image. The second criterion determines a ridgeending: the section at the current point contains no pixelswith gray levels above a pre-specified threshold. In thiscase, the previous point on the ridge is recorded as a ridgeendpoint. The last stopping condition corresponds to thecase of a possible bifurcation: the current point is detectedto be on another ridge that has been marked on the tracedimage.
Algorithm 1 is backed up by a checking procedure thatdetermines if a termination point is a valid minutia. The
procedure is expressed as follows.
Algorithm 2 (Elimination of false minutiae)
If the current ridge end is close to another ridge end withalmost opposite direction, then delete both of themand join the gap, as they are simply broken ends ofthe same ridge.
If the current bifurcation point is close to the end of oneof its branch, then delete both of them, as shortbranch of a bifurcation is normally a result of lightnoise in the image.
If the current termination is close to more than two otherterminations, then delete all of them, as they are
likely caused by damaged ridges in the image.
The above algorithms form one major component of ourfingerprint recognizing system, called the FingerprintAdministrator. Figure 7 depicts the user-interface featureof the Fingerprint Administrator. The input fingerprintimage is displayed in the left box, and the result of ridgetracing and detection of minutia is shown in a traced
y
z
x
Figure 6. Ridge tracing
summit
x
=
=
101
000
101
4
1,
101
000
101
4
121 hh
)()()(),()()( 2211 uyyuuyyuyy
== hgvhgv
0-7695-0981-9/01 $10.00 (c) 2001 IEEE
Proceedings of the 34th Hawaii International Conference on System Sciences - 2001
-
8/8/2019 A Fingerprint Recognizer Using Fuzzy Evolutionary Programming
4/7
image in the right box. Observe that in the traced image,the ridge summits are shown in black color, theirsurrounding of five pixels is colored red, and the detectedminutiae are marked with yellow tangent vectors. If theSave button is clicked, the coordinates of the detectedminutiae and their associated direction angles are saved ina database in the form of linked list.
The Fingerprint Administrator is used to extractminutiae of known fingerprints and store them in adatabase. It is also used to extract minutiae of an inputfingerprint for the purpose of identification. Experimentalresults are reported in Section 5.
4. Fingerprint recognitionThe primary purpose of our fingerprint recognizing
system is to calculate the matching degree of the targetfingerprint with the images in a database and to decide ifit belongs to a particular individual. A fingerprint is saidto match one image in the database if the degree ofmatching between its minutiae and that of the image inthe database is higher than some pre-specified acceptancelevel. The method of calculating this matching degree isbased on our fuzzy evolutionary programming technique,which is described below.
Consider two fingerprints that are represented by
their sets of minutiae },,{ 1 mP pp = , },,{ 1 nQ qq = ,where ),,( iiii yx =p and ),,( jjjj vu =q , for
,1 mi nj 1 . Observe that the two sets may nothave the same number of points, and that the order of thepoints in each set is possibly arbitrary.
The principal task is to find a transformation F = (s,,x, y) that transforms the set of minutiae P into the set Q.
Here, s represents a scaling factor, an angle of rotation,and (x, y) a translation in the xy-plane. Thus, thetransform F(p) = ( x', y',') of a minutia p = ( x, y, ) isdefined by:
Also, in order to calculate the degree of matching, weassociate with each minutia F(p) a fuzzy set (also denotedby F(p) for convenience) the membership function ofwhich is defined by:
where, 22 )()(),(( vyuxFd +=q)p and ),0(
represents a fuzzy subset of the real line defined asfollows:
Intuitively, we allow some degree of tolerance inmatching the minutiae F(p) and q, but this tolerancedecreases rapidly when the two minutiae are far apart.The matching degree between two sets F(P) and Q isdefined as:
The task of finding a transformation F to match two setsof minutiae P and Q consists of two phases. First therotation angle is estimated by the following algorithm.
Figure 7. Fingerprint Administrator's user-interface
+
=
y
x
y
x
s
sy
x
100
0cossin
0sincos
'
'
'
Figure 8. F(p) is transform of p
)(pF
),( yx
p
s
|)),(|)),),(((min()( )',0(),0()( += qpqp FdF
=
otherwise0
||if1
)(
2
),0(
xe
eexp
p
xp
.)(1 1
)( = =
m
i
n
jjF i
qp
0-7695-0981-9/01 $10.00 (c) 2001 IEEE
Proceedings of the 34th Hawaii International Conference on System Sciences - 2001
-
8/8/2019 A Fingerprint Recognizer Using Fuzzy Evolutionary Programming
5/7
Algorithm 3 (Estimation of rotation)
Divide the interval [-, ] into Ksubintervals [k, k+1],k = 1,, K.
Set up an integer array c[1, K] and a real array [1, K]and initialize them to 0.
For each i = 1,, m and each j = 1,, n do
Find an index ksuch that kj - i < k+1;Increment c[k] by 1 and increment [k] by (j - i).Find the index k* such that c[k*] is maximum.Let be defined by
Having established the rotation angle , the remainingparameters s and x, y of the transformation F areestimated by the following algorithm.
Algorithm 4 (Fuzzy evolutionary programming)Generate a population ofm chromosomes
),,,,( kkkk yxsF = k = 1, , m, where theparameter values are randomly taken fromappropriate intervals.
For each k= 1,, m, compute the fitness:
Repeat
For each k= 1,, m, generate an offspring),,,( kmkmkmkm yxsF ++++ = as follows:
where ))(,0( kfN is a normal distribution with
variance )( kf inversely proportional to the fitness
kf , and the factors ),(1 ks )(2 kx and )(3 ky are
used to ensure that the new values are within the pre-determined intervals.
Compute the fitness kmf + of the new offspring using
formula (1). For each k= 1,, 2m, select a randomset U of c indices from 1 to 2m, and record thenumber wkof h Usuch that kh ff .Select m chromosomes from the set
},,{ 21 mFF that have highest scores wkto form thenext generation of population.
Until the population is stabilized.
Algorithms 3 and 4 form the principal component ofour system: the fingerprint recognizer. The fingerprintrecognizer receives an input fingerprint, calls the fingerprint administratorto extract the fingerprint'sminutiae, then tries to match this set of minutiae withthose in the database, until either a good match is found,or the database is exhausted. Experiments are discussed inthe next section.
5. Experimental results
A number of fingerprints of various types, includingplain and tented arch, ulna and radial loop, plain whorl,central pocket whorl, double whorl, and accidental whorl,are fed to the system's fingerprint administratorforminutiae detection. The resulting traced images (asdepicted in Figure 7) are manually inspected and theresults are shown in Table 1.
Table 1. Results of minutiae detection
We note also that the fingerprints' ridges areaccurately traced, broken ridges are effectively rejoined,and the short ridges and spur ridges are correctly adjusted.Manual checking confirms that most of those anomaliesin the fingerprints are result of light noise, skin cut ordistortion. The adjustment was realized by the system'sprocess of eliminating false minutiae (Algorithm 2).
A number of fingerprints are taken from the databaseand are modified by various rotations, resizing, andshifting, for use in testing experiments. We also addrandom light noise to the test images. The results of the fingerprint recognizer's performance are summarized inTable 2.
Table 2. Results of minutiae matching
Imagetype
Correct % False%
Missed %
Arch 96 3 1Loop 93 4 3Whorl 92 6 2
Test cases Matching
result %
Running
time (sec)Two identical sets of minutiae 100 12
One is a re-scale of the other 98.4 16
One is a rotation of the other 97.6 17
One is a translation of other 99.5 17
One is a transform of the other 96.2 18
.][
][*
*
kc
k=
)1()(1 1
)( = =
=m
i
n
jjFk ik
f qp
)),(,0()(
)),(,0()(
)),(,0()(
3
2
1
kkkkm
kkkkm
kkkkm
fNyyy
fNxxx
fNsss
+=+=
+=
+
+
+
0-7695-0981-9/01 $10.00 (c) 2001 IEEE
Proceedings of the 34th Hawaii International Conference on System Sciences - 2001
-
8/8/2019 A Fingerprint Recognizer Using Fuzzy Evolutionary Programming
6/7
6. Conclusion and future work
We have presented a fingerprint recognizing systemthat uses the method of gray scale ridge tracing backed upby a validating procedure to detect fingerprint's minutiaeand that employs the technique of fuzzy evolutionary
programming to match two sets of minutiae in order toidentify a fingerprint. The experimental results show thatthe system is highly effective with relatively cleanfingerprints. However, for poorly inked and badlydamaged fingerprints, the system appears to be not sosuccessful. In order to handle those bad types offingerprints, we are working on the addition of a pre-processing component that also adopts the fuzzyevolutionary approach to reconstruct and enhance thefingerprints before they are processed by the system.Also, it is possible to connect the system with a livefingerprint scanner that obtains a person's fingerprintdirectly and sends it to the system for identification.These are the objectives of our future work.
7. References
[1] Ansari, N., Chen, M.-H., Hou, E.S.H. "A Genetic Algorithmfor Point Pattern Matching", Dynamic, Genetic, and ChaoticProgramming, B. Soucek, ed., John Wiley and Sons, New York,1992, pp. 353-371.
[2] Arcelli, C., and Baja, G.S.D. "A Width Independent FastThinning Algorithm", IEEE Trans. Pattern Analysis Machine
Intelligence, Vol. 7, No. 4, 1984, pp. 463-474.
[3] Baruch, O. "Line Thinning by Line Following", Pattern
Recognition Letters,Vol. 8, No. 4, 1988, pp. 271-276.
[4] Cormen, T.H., Leiserson, C.E., and Rivest, R.L.Introductionto Algorithms, McGraw-Hill, New York, 1990.
[5] Donahue, M.J. and Rokhlin, S.I. "On the Use of LevelCurves in Image Analysis",Image Understanding, Vol. 57, No.2, 1993, pp. 185-203.
[6] Dyer, C.R. and Rosenfeld, A. "Thinning Algorithms forGray Scale Pictures", IEEE Trans. Pattern Analysis Machine
Intelligence, Vol. 1, No. 1, 1979, pp. 88-89.
[7] Federal Bureau of Investigation, The Science ofFingerprints: Classification and Uses, U. S. GovernmentPrinting Office, Washington D.C., 1984.
[8] Henry, E.R. Classification and Uses of Fingerprints,Routledge, London, 1900.
[9] Hollingum, J. "Automated Fingerprint Analysis Offers FastVerification", Sensor Review, Vol. 12, No. 3, 1992, pp. 12-15.
[10] Jain, A., Hong, L. and Bolle, R. "On-line FingerprintVerification", IEEE Trans. Pattern Analysis Machine
Intelligence, Vol. 19, No. 4, 1997, pp. 302-313.
[11] Le, T.V., Tran, D., and Wagner, M. "Fuzzy EvolutionaryProgramming for Hidden Markov Modelling in SpeakerIdentification", Proc. of the Congress of Evolutionary
Computation 99, Washington D.C., July 1999, pp. 812-815.
[12] Le, T.V. "DNA Algorithm and Fuzzy EvolutionaryClustering for Image Reconstruction", Proc. of IASTED Int.Conf. Signal and Image Processing, Las Vegas, Oct. 1998, pp.18-21.
[13] Le, T.V. "Fuzzy Evolutionary Programming for ImageProcessing", Proc. of Int. Conf. On Intelligent Processing and
Manufacturing of Materials, Gold Coast, July 1997, pp 497-503.
[14] Le, T.V. "Application of Evolutionary Computation toFuzzy Algebra", Proc. of the 3 rd Int. Conf. On EvolutionaryComputation, Nagoya, May 1996, pp. 592-598.
[15] Leboucher, L., Irinopoulou, T., and Hazout, S. "Grey-ToneSkeletons of Elongated Objects Using the Concept ofMorphological Automaton Application to Images of DNAMolecules", Pattern Recognition Letters, Vol. 15, No. 3, 1994,pp. 309-315.
[16] Lee, H.C. and Gaensslen, R.E. (eds.) Advances inFingerprint Technology, Elsevier, New York, 1991.
[17] Maio, D. and Maltoni, D. "Direct Gray-Scale MinutiaeDetection In Fingerprints", IEEE Trans. Pattern Analysis
Machine Intelligence,Vol. 19, No. 1, 1997, pp. 27-39.
[18] Mehtre, B.M. "Fingerprint Image Analysis for AutomaticIdentification",Machine Vision and Applications, Vol. 6, No. 2,
1993, pp. 124-139.
[19] Moayer, B. and Fu, K. "A Tree System Approach forFingerprint Pattern Recognition",IEEE Trans. Pattern Analysis
Machine Intelligence,Vol. 8, No. 3, 1986, pp. 376-388.
[20] Moenssens, A.A. Fingerprint Techniques, Chilton BookCompany, Philadelphia, 1971.
[21] Pernus, F., Kovacic, S. and Gyergyek, L. "Minutiae-BasedFingerprint Recognition", Proc. of the 5th Int. Conf. on Pattern
Recognition, 1980, pp. 1380-1382.
[22] Ranade, A. and Rosenfeld, A."Point Pattern Matching byRelaxation", Pattern Recognition, Vol. 12, No. 2, 1993, pp. 269-275.
[23] Ratha, N. K., Chen, S. and Jain, A.K."Adaptive FlowOrientation Based Texture Extraction in Fingerprint Images",Pattern Recognition, Vol. 28, No. 11, 1995, pp. 1657-1672.
[24] Sherlock, B.G., Monro, D.M. and Millard, K. "FingerprintEnhancement by Directional Fourier Filtering", Proc. of Conf. ofVision, Image and Signal Processing, 1994, pp. 87-94.
0-7695-0981-9/01 $10.00 (c) 2001 IEEE
Proceedings of the 34th Hawaii International Conference on System Sciences - 2001
-
8/8/2019 A Fingerprint Recognizer Using Fuzzy Evolutionary Programming
7/7
[25] Starink, J.P.P. and Backer, E. "Finding PointCorrespondence Using Simulated Annealing", Pattern
Recognition, Vol. 28, No. 2, 1995, pp. 231-240.
[26] Stock, R.M. and Swonger, C.W. "Development andEvaluation of a Reader of Fingerprint Minutiae", Cornell
Aeronautical Laboratory,Technical Report No. XM-2478-X-1,
1969, pp 13-17.
[27] Stockman, G., Kopstein, S. and Benett, S. "MatchingImages to Models for Registration and Object Detection viaClustering", IEEE Trans. Pattern Analysis and Machine
Intelligence, Vol. 4, No. 3, 1982, pp. 229-241.
[28] Szekely, E.N. and Szekely, V. "Image RecognitionProblems of Fingerprint Identification", Microprocessors and
Microsystems, Vol. 17, No. 4, 1993, pp. 215.
[29] Wang, L. and Pavlidis, T. "Direct Gray-Scale Extraction ofFeatures for Character Recognition", IEEE Trans. Pattern
Analysis and Machine Intelligence, Vol. 15, No. 10, 1993, pp.
1053-1067.
[30] Watson, C.I. and Wilson, C.L. Fingerprint Database,National Institute of Standards and Technology, Special Database 4, 1992.
0-7695-0981-9/01 $10.00 (c) 2001 IEEE
Proceedings of the 34th Hawaii International Conference on System Sciences - 2001