A Fingerprint Recognizer Using Fuzzy Evolutionary Programming

download A Fingerprint Recognizer Using Fuzzy Evolutionary Programming

of 7

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