Genetic Programming Framework for Fingerprint Matching
A fingerprint matching is a very difficult problem. Minutiae based matching is the most popular and widely used technique for fingerprint matching. The minutiae points considered in automatic identification systems are based normally on termination a…
Authors: Ismail A. Ismail, Nabawia A. ElRamly, Mohammed A. Abd-ElWahid
Genetic Programming Framework for Fingerprint Matching Ismail A. Ismail *1 , Nabawia A. ElRamly #2 , Mohammed A. Abd-ElWahid #3 , Passent M. ElKafrawy #4 and Mohammed M. Nasef #5 # Department of Mathematics, Faculty of Science, Menoufia University, Egypt * Dean, Faculty of Computers and informatics, Misr International University, Egypt e.mail: mnas ef81@yahoo.com Abstract— A fingerprint matching is a very difficult problem. Minutiae-based-matching is the most popular and widely used technique fo r fingerprint matching. The minutiae points considered in automatic identification systems are based normally on termination and bifurcation points. In this paper we propose a new technique for fingerprint matching using minutiae points and genetic programming. The goal of this paper is extracting the mathematical formula that defines the minutiae points. Index Terms — Fingerprint matchi ng, minutiae points, genetic programming I. I NTRODUCTION Fingerprint m atching depends on t he comparison of the characteristic of local ridges and their relationships. Widel y used local ridge’s characteristics, called minutiae in automatic fingerprint identifi cation system s, are ridge terminat ion and bifurcation [1], [2]. Most of the existing autom atic fingerprint verification sy stems are based on minutiae features (ridge bi furcation and ending). Such systems first detect the m inutiae in a fingerprint image and then m atch the input minutiae set with the stored template [3], [4], [5]. Extracting minut iae from fingerprint i mages is one of the most important step s in automatic fingerprint identification system. Because minutiae m atching are certainly the m ost-well-known and widely used method for fi ngerprint ma tching [6], [7] . In this paper we use genetic programm ing (GP) to extract mathem atical formul as for minutiae poi nts (end points and bifurcation point s). In section II we introduced genetic program ming, and the effect of parameters on genetic pr ogram mi ng, In section III we will explain the proposed me thodology with experimental results. Finally , section IV provides a conclusion and some fut ure work. II. G ENETIC PROGRAMMING Genetic programm ing (GP) is used for automate d learning of comput er programs. GP’s learni ng algorithm i s inspired by the theory of evolution and our contemporary underst anding of biology and natural evolution. The m ost comm only used representation in genetic program ming i s the program tree. GP trees and their corresponding expressions can equivalently be represente d in prefix notation (e.g., as Lisp expressions) [8] , [9]. Fig. 1 : Basic tree-like program representation used in GP When applying genetic programm ing to a problem , there are five major preparatory steps involved [9] , [10]. The following five param eters need to be determined before appl ying GP: 1) The set of termi nals (e.g., the independent vari ables of the problem , zero-argument funct ions, and random constant) for each branch of the to-be- evolved program. 2) The set of pr imitive functions (e.g., Boolean funct ions, arithmet ic functions, conditi onal functions) for each branch of the to-be-evolved program. (IJCSIS) International Journal of Computer Science and Information Security, Vol. 6, No. 2, 2009 316 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 3) The fitness measure (for explicitly or implicitly measuring the fit ness of individuals i n the population). 4) Certain param eters for controlli ng the run, and 5) The termi nation criteri on and met hod for desi gnating the result of the run. Geneti c operators. The two main geneti c operators are mutat ion and crossover [8] , [10], [11]. Mutat ion works as follows: (i) random ly select a node withi n the parent tree as the mutation point; (ii) g enerate a new tree of maximum depth; and (iii) replace the subtree rooted at the selected node with the generated tree. For illustration refer to the mutation process in figure 2. Crossover works as follows: (i) randoml y select a node within each tree as crossover points, (ii) take the sub tree rooted at the selected node in the second parent and use it to replace the sub tree rooted at the selected node in the first parent t o generate a child (and optionall y do the reverse to obtain a second child). The crossover procedure is illustrated in figure 3 . (a) Before Mutation (b ) After Mutation Fig. 2 : Mutation i n genetic program ming (a) Before Crossover (b) After Crossov er Fig. 3 : Crossover in genetic program ming In summary , genetic programm ing creates com puter programs by execut ing the following steps, refer to [8], [10], [11]. Step 1 Assign the m aximum num ber of generations to run and probab ilities for cloning, crossover an d mutation. Step 2 Generate an initial population of com puter program s of size N by combi ning randomly selected functions and term inals. Step 3 Execute each computer program in the popul ation and calculate i ts fitness with an appropriate fitness functi on. Designate the best -so- far individual as the result of the run. Step 4 With th e assigned prob abilities, select a genet ic operator to perform cloning, crossover or mutation. Step 5 If the cloning operator is applied, then select one com puter program from the current population of programs and copy it into a new population. • If the crossover operator is applied, then select a pair of computer program s from the current population creates a pair of offspring programs and places them into the new population. • If the mutation operator is ap plied, select one computer program from the current population, perform mutation and place the mutant into the new population. Step 6 Repeat Step 4 until the size of the n ew popul ation of comput er programs become s equal to the size of the initial population, N. Step 7 Replace the current (parent) population with t he new (offspring) population. Step 8 Go to Step 3 an d repeat the pro cess until the term ination criterion is satisfied. III. P ROPOSED M ETHODOL OGY To match a query fi ngerprint to another one, say matchi ng fingerprint, we extract the m inutiae point s for the two fingerprints firs t. The next step is to obtain the mathematical form ula for the query fingerprint using GP. Finall y, we apply the minuti ae points of the ma tching fingerprint into the mathem atical formula. If the resulting y of these points is the same as of the query fingerprint then the two fingerprints are a match, otherwise, there is no match. In t his section we explain our proposed methodology on a given fingerprint as an exampl e. Our proposed methodol ogy is divided i nto two parts. In the first part, we extract minutiae poi nts. In the second part we use genetic programm ing to extract mathem atical formulas describing the minuti ae points (end points and bifurcati on points) which is explained in full details in the next two subsections. (IJCSIS) International Journal of Computer Science and Information Security, Vol. 6, No. 2, 2009 317 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 A. Extracting Minutiae Points In the first step the fingerprint image is to be enhanced an d filtered using any enhancing and filtering technique. After that we extract the minutiae points from the enhanced image. Figure 4(a) shows the query fingerprint, figure 4(b) is t he fingerprint after enhancement and filtering, figure 4(c) is the fingerprin t image with the determined minuti ae points shown in the figure. We used the crossing number (CN) m ethod to perform the minuti ae points extraction. This m ethod extracts the ridge endings and bifurcation from t he skeleton image by exam ining the l ocal neighborhood of ridge pixel using a 3*3 window. After using CN method we can draw two graphs descri bing these points; see figure 5 where t he two graphs presenting the mi nutiae points – end points and bifurcation points respectivel y. From the two graphs we can extract all data for minut iae points (end points and bifurcation points) as sum marized in table I and II. Ending points were determi ned by three variables x, y, and angle, but bifurcation points were determined by five vari ables x, y, angle1, angle2, and angle3. To apply this notation to genetic p rogramming, we will define the following for end points: Fig. 4 : Query fingerprint image, after enhancement and extracted minutiae points • The terminal set for end points (x, y, angle, and random integer num bers). • The funct ion set for end points (+, -, *, and /). On the other hand, we’ll define the fol lowing for bi furcation points: • The term inal set for bifurcation points (x, y, angle1, angle2, angle3, and random integer numbers). • The function set for bifurcation point s (+, -, *, and /). Those points where defined in tabl e I and II for the fi ngerprint in figure 4. Fig. 5 : Tw o graphs explain minu tiae points TABLE I : En d Points Data x angle y 147 -1.05 48 40 1.57 101 133 -1.57 111 50 1.57 112 63 1.57 115 49 -2.09 117 67 2.36 124 119 -2.09 127 88 1.05 143 126 1.05 154 (IJCSIS) International Journal of Computer Science and Information Security, Vol. 6, No. 2, 2009 318 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 TABLE II : Bifurcation point s Data x angle1 angle2 angle3 y 109 3.14 -1.05 .52 50 74 2.09 -2.09 .52 55 98 -2.62 1.05 -.52 60 100 3.14 1.57 -1.05 82 107 -2.36 1.57 -.79 89 39 -2.36 1.05 -.79 94 45 -2.09 1.57 0 101 92 -2.36 1.05 -.79 103 39 3.14 -1.57 1.05 110 71 -2.36 -1.05 .79 119 64 3.14 1.05 -1.05 120 128 -2.36 1.05 -1.05 135 92 -2.36 1.05 -1.05 138 48 2.09 -2.09 0 152 59 -2.36 1.57 0 179 B. Using Genetic Programming (GP) With Minutiae Points In the previous section we extracted the minutiae points (end points and bi furcation points). In this section we will use this info rmation and develop two mathem atical form ulas describing the relationship between t he minutiae poi nts using genetic programm ing. As de fined in sect ion II we defined the five main initiative parameters, see table III, to create the program that defines the formulas for the m inutiae point s of the fingerprints. TABLE III : Genetic programm ing param eters Maximum number of Generations 1700 Size of Population 2500 Maximum depth of new individuals 6 Maximum depth of new sub trees for mut an ts 4 Maximum depth of individuals after crossover 18 Fitness-proportionate re production fraction 0.1 Crossover at any point fraction 0.2 Crossover at function points fraction 0.2 Number of fitness cases (end points) 10 Number of fitness cases (bifurcation points) 15 Selection method fitn ess- proportionate with- over-selection Generation method Full In table I and II the variable y is a depended vari able on x and the angles variables. In other words, y is the required output from the form ula defined by x and the angles for each of the sets of points that define the end points and t he bifurcation points. The GP program produces the formulas t hat is define y by knowing x and t he angles. Figure 6a shows part of the mat hematical formula for end points in S-expression, and figure 6b shows part of the mathem atical formul a for bifurcation poi nts after running the GP algorit hm. (a) E nd Points formula (b) Bifurcation points form ula Fig. 6 : Part of m athematical form ula for m inutiae points (S Expression) After we get these formulas, we want to compare t he query fingerprint with al l stored fingerprints to find a match to the query fi ngerprint. Assume t hat we have three stored fingerprints wit h the minutiae points (end points and bifurcati on points) extracted previously. After that we’ll apply each of these points in the mathematical form ulas of the query fingerprint. The points that solve for y and is equal to the result, y, of the q uery fingerprint is a matchi ng image. The results m ust be equal in end points formula and bi furcation points form ula, otherwise there is no m atch. (IJCSIS) International Journal of Computer Science and Information Security, Vol. 6, No. 2, 2009 319 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 Fig. 7 : Three different fingerprints Table IV lists the end points of the fi ngerprints in figure 7. Actually, ten points are extracted for image 7a and image 7b while im age 7c had fifteen end points extracted. Using m ean square error method we found that im age 7b matches the query image in end points but im age 7a and image 7c are not a match, see table V. Tables VI, VII and VIII shows the bifurcation points of three fingerprint s in figure 7. Table IX shows the results of evaluating these points in the mathem atical formula of the query fingerprint (bifurcati on mathem atical formula). We can conclude that the number of bifurcation points is ten points in i mage 7a, fifteen bifurcation points in i mage 7b, and fourteen bifurcation points in i mage 7c. Using m ean square error method we found that image 7b is a m atch to the query image in bifurcati on points, whereas image 7a and image 7c are not a m atch. Finally, Fingerprint image 7b is m atched with the query fingerprint image and fi ngerprints im age 7a and image 7c are not. TABLE IV : End points of three fingerprints. image1 image2 image3 x angle x angle x angle 86 -2.62 147 -1.05 104 3.14 158 -.52 40 1.57 98 0 156 -.52 133 -1.57 121 2.09 93 .52 50 1.57 65 2.36 111 .79 63 1.57 130 -2.09 24 -2.36 49 -2.09 133 1.57 112 .52 67 2.36 88 -2.09 161 -2.09 119 -2.09 107 1.05 103 .52 88 1.05 128 -1.57 151 .52 126 1.05 144 -1.57 69 1.57 99 -2.62 73 -2.09 62 0.79 120 2.62 TABLE V : The results of evaluatin g them in the mathem atical formul a of the query fingerprint (end points formul a). image1 image2 image3 query image 111.62 48.00 150.47 48 96.73 101.00 224.74 101 96.62 111.00 149.19 111 160.05 112.00 122.94 112 153.90 115.00 129.03 115 98.99 117.00 150.43 117 172.66 124.00 121.71 124 134.89 127.00 152.10 127 166.66 143.00 109.83 143 199.05 154.00 112.52 154 117.86 114.43 119.19 125.93 129.56 TABLE VI : Bifurcation points of i mage 1 x angel1 angel2 angel3 109 3.14 .79 -.52 96 2.62 -2.09 0 149 2.62 -1.57 0 110 2.62 -2.09 0 122 2.62 -1.57 0 80 3.14 -1.57 1.05 116 2.36 -2.62 -.79 171 2.36 -2.36 -.79 154 -2.62 1.57 -1.05 167 -2.62 1.05 -.52 TABLE VII : Bifurcation points of i mage 2 x angel1 angel2 angel3 109 3.14 -1.05 .52 74 2.09 -2.09 .52 98 -2.62 1.05 -.52 100 3.14 1.57 -1.05 107 -2.36 1.57 -.79 39 -2.36 1.05 -.79 45 -2.09 1.57 0 92 -2.36 1.05 -.79 39 3.14 -1.57 1.05 71 -2.36 -1.05 .79 64 3.14 1.05 -1.05 128 -2.36 1.05 -1.05 92 -2.36 1.05 -1.05 48 2.09 -2.09 0 59 -2.36 1.57 0 (IJCSIS) International Journal of Computer Science and Information Security, Vol. 6, No. 2, 2009 320 http://sites.google.com/site/ijcsis/ ISSN 1947-5500 TABLE VIII : Bifurcation point s of image 3 X Angle 1 Angle 2 Angle 3 x angel1 angel2 angel3 52 2.09 -2.09 .79 88 -2.62 1.05 0 132 -2.36 2.09 -1.05 75 -2.62 1.05 -1.05 106 -2.36 1.57 -.79 123 2.09 -1.57 1.05 115 3.14 1.05 -.79 108 -2.62 -1.05 .79 66 -2.62 1.05 -1.05 62 -2.62 -1.05 .79 137 2.36 .79 -.79 77 2.09 -2.09 0 75 -2.09 1.57 0 78 -2.62 -1.05 .79 TABLE IX : The results of ev aluating the bifurcation formula of t he query fingerprint on the 3 fingerprints. image 1 image 2 image 3 query image 97.06 50.00 70.79 50 157.71 55.00 178.81 55 153.76 60.00 -341.05 60 155.82 82.00 182.66 82 156.58 89.00 89.06 89 134.07 94.00 -81.82 94 325.16 101.00 98.94 101 314.5 103.00 115.07 103 227.62 110.00 177.93 110 65.89 119.00 115.95 119 120.00 115.19 120 135.00 149.14 135 138.00 133.63 138 152.00 115.70 152 179.00 179 IV. C ONCLUSION In this paper we proposed a novel method for fingerprint m atching. We used geneti c programm ing with mi nutiae points to extract the mathem atical form ula that define fingerprint and can be used in matching between fingerpri nts. We can obtain theses mathematical form ulas after enhancing and filtering the fingerprint after extracting the m inutiae points in the fingerpri nt using crossing number (C N) method. Fi nally we can use all data about minuti ae points (end points and bifurcation point s) to extract the mathem atical formula. In future work we try using genetic programm ing to classify fingerpri nts to decrease time search and ma tch. REFERENCES [1] A. Farina, Z. M. Kov´ acs-Vajna, and A. Leone, “Fingerprint m inutiae extraction from skeletonized binary imag e,” Pattern Recognition, vol. 32, pp. 877–889, 1999. [2] H. Hwang, J. H. Shin, S. I. Chien, and J. J. Lee, “R un representation based minuti ae extraction in fingerprint image,” in MVA2OOZ lAPR Workshop on Machine Vision Applicati ons. Nara, Japan: Nara- ken New Public Hall, Dec. 11-13 2002, pp. 64–67. [3] A. K. Jain, L. Hong, S. Pankanti, and R. Bolle, “An identity authentication system using fingerprints,” in IEEE, vol. 85, no. 9, 1997, pp. 1365–1388. [4] D. Maio and D. Maltoni, “Direct gray-scale m inutiae detection in fi ngerprints,” IEEE Trans. Pattern Analysis Machine In telligence, vol. 19, no. 1, pp. 27–40, 1997. [5] S. Prabhakar, A. K. Jain, and S. Pankanti, “Learni ng fingerprint m inutiae locati on and type,” pattern recognit ion, vol. 36, no. 8, pp. 1847–1857, august 2003. [6] D. Maltoni, D. Maio, A. K. Jain, and S. Prabhakar, Handbook of Fi ngerprint Recognition, li mit ed ed. London: Springer- Vetlag, 2009. [7] S. M. Mohsen, S. M. Z. Farh an, and M. M. A. Hashem , “Automated fingerprint recognition: Using minutiae m atching technique for t he large fingerprint database,” in 3rd International Conference on Electrical & Computer Engineering ICECE, Dhaka, Bangladesh, Dec. 28-30 2004, pp. 116–119. [8] W. Banzhaf, P. Nordin, R. E. Keller, and F. D. Francone, Genet ic Programm ing An Introduction On The Automat ic Evolution of Comput er Programs and Its Appli cation. Morgan Kaufmann, 1998. [9] J. R. Koza and R. Poli. Chapter 5 genetic program ming. [10] J. R. Koza, “Survey of genetic algori thms and genet ic programm ing,” in WESCON conference. Piscataway, NJ: IEEE, 1995, pp. 589–594. [11] R. Poli, W. B. Langdon, and N. F. McPhee, A Fi eld Guide to Genetic Programm ing. Lulu.com, 2008. (IJCSIS) International Journal of Computer Science and Information Security, Vol. 6, No. 2, 2009 321 http://sites.google.com/site/ijcsis/ ISSN 1947-5500
Original Paper
Loading high-quality paper...
Comments & Academic Discussion
Loading comments...
Leave a Comment