MySQL Database for Storage of Fingerprint Data

6
MySQL Database for Storage of Fingerprint Data Nani Fadzlina Naim, Ahmad Ihsan Mohd Yassin, Wan Mohd Ameerul Wan Zamri, Suzi Seroja Sarnin Faculty of Electrical Engineeering Universitit Teknologi MARA (UiTM) Shah Alam, Selangor, Malaysia [email protected]; [email protected]; [email protected]; [email protected] Abstract— This project presents MySQL database for storage of fingerprint data. The application of the database is for future process; fingerprint matching. In this project, Matlab R2009 is the software used for fingerprint image enhancement and minutia extraction. MySQL is a relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases. XAMPP Control Panel V2.5 software is also used for free and open source cross- platform web server package, consisting mainly of the Apache HTTP Server, MySQL database, and interpreters for scripts written in the PHP and Perl programming languages. It is found that this project shows an efficient and practical data storage of fingerprint. Keyword-Fingerprint image enhancement; fingerprint minutia extraction; MySQL database; fingerprint matching; XAMPP Control Panel V2.5. I. INTRODUCTION Fingerprints recognition are the oldest and most widely used [1]. Despite the widespread use of fingerprints, there is little statistical theory on the uniqueness of fingerprint minutia. A critical step in studying the statistics of fingerprint minutia is to reliably extract minutia from the fingerprint images [2]. However, fingerprint images are rarely of perfect quality. They may be degraded and corrupted due to variations in skin and impression conditions. Thus, image enhancement techniques are employed prior to minutia extraction to obtain a more reliable estimation of minutia locations. A fingerprint is composed of many ridges and furrows. These ridges and furrows present good similarities in each small local window, like parallelism and average width [4]. However, fingerprints are not distinguished by their ridges and furrows, but by minutia, which are some abnormal points on the ridges. Instead the set of minutia types are restricted into only two types, ridge endings and bifurcations, as other types of minutiae can be expressed in terms of these two feature types. Ridge endings (terminations) are the points where the ridge curve terminates, and bifurcations are where a ridge splits from a single path to two paths at a Y-junction. Figure biometric identification 1 illustrates an example of a ridge ending and a bifurcation. In this example, the black pixels correspond to the ridges, and the white pixels correspond to the valleys [4]. Figure 1. Example of a ridge ending and a bifurcation II. LITERATURE REVIEW The human fingerprint has a long history as means of identifying individuals, dating back to civilizations of Egypt and China [1]. The scientific proof that fingerprints are unique for individuals was established by Galton [5], and extended by Henry to distinguish fingerprints based on characteristics, such as arch, tented arch, loop, double loop, pocked loop, whorls, and mixes [1]. A lot of methods that can be implemented for image enhancement using Matlab software such as Gabor Filter technique [6], using Spiral technique [7] and more. Nowadays, the latest version of Matlab has Image Processing Toolbox which make easier to the user. One of the most widely cited fingerprint enhancement techniques is the method employed by Hong et al. [3], which is based on the convolution of the image with Gabor filters tuned to the local ridge orientation and ridge frequency. The main stages of this algorithm include normalisation, ridge orientation estimation, ridge frequency estimation and filtering. A simple method has been done by WuZhili [4], with is his own algorithm method. In this project, WuZhili’s method has been chosen as main reference. Basically, fingerprints have two levels of structure, global and unique. The global levels characterize the general structure of the ridge patterns, and are commonly used to partition fingerprint databases [5, 8]. Delta - the point of spreading apart of two parallel ridges. Central point - approximately the centre of loop fingerprint, located within or on innermost recurve. Based on the flow of ridges and the occurrence of 2011 UKSim 13th International Conference on Modelling and Simulation 978-0-7695-4376-5/11 $26.00 © 2011 IEEE DOI 10.1109/UKSIM.2011.62 293

Transcript of MySQL Database for Storage of Fingerprint Data

Page 1: MySQL Database for Storage of Fingerprint Data

MySQL Database for Storage of Fingerprint Data

Nani Fadzlina Naim, Ahmad Ihsan Mohd Yassin, Wan Mohd Ameerul Wan Zamri, Suzi Seroja Sarnin

Faculty of Electrical Engineeering Universitit Teknologi MARA (UiTM)

Shah Alam, Selangor, Malaysia [email protected]; [email protected]; [email protected]; [email protected]

Abstract— This project presents MySQL database for storage of fingerprint data. The application of the database is for future process; fingerprint matching. In this project, Matlab R2009 is the software used for fingerprint image enhancement and minutia extraction. MySQL is a relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases. XAMPP Control Panel V2.5 software is also used for free and open source cross-platform web server package, consisting mainly of the Apache HTTP Server, MySQL database, and interpreters for scripts written in the PHP and Perl programming languages. It is found that this project shows an efficient and practical data storage of fingerprint.

Keyword-Fingerprint image enhancement; fingerprint minutia extraction; MySQL database; fingerprint matching; XAMPP Control Panel V2.5.

I. INTRODUCTION Fingerprints recognition are the oldest and most widely

used [1]. Despite the widespread use of fingerprints, there is little statistical theory on the uniqueness of fingerprint minutia. A critical step in studying the statistics of fingerprint minutia is to reliably extract minutia from the fingerprint images [2]. However, fingerprint images are rarely of perfect quality. They may be degraded and corrupted due to variations in skin and impression conditions. Thus, image enhancement techniques are employed prior to minutia extraction to obtain a more reliable estimation of minutia locations.

A fingerprint is composed of many ridges and furrows. These ridges and furrows present good similarities in each small local window, like parallelism and average width [4]. However, fingerprints are not distinguished by their ridges and furrows, but by minutia, which are some abnormal points on the ridges. Instead the set of minutia types are restricted into only two types, ridge endings and bifurcations, as other types of minutiae can be expressed in terms of these two feature types. Ridge endings (terminations) are the points where the ridge curve terminates, and bifurcations are where a ridge splits from a single path to two paths at a Y-junction. Figure biometric identification 1 illustrates an example of a ridge ending and a bifurcation. In this example, the black pixels correspond to

the ridges, and the white pixels correspond to the valleys [4].

Figure 1. Example of a ridge ending and a bifurcation

II. LITERATURE REVIEW The human fingerprint has a long history as means of

identifying individuals, dating back to civilizations of Egypt and China [1]. The scientific proof that fingerprints are unique for individuals was established by Galton [5], and extended by Henry to distinguish fingerprints based on characteristics, such as arch, tented arch, loop, double loop, pocked loop, whorls, and mixes [1].

A lot of methods that can be implemented for image enhancement using Matlab software such as Gabor Filter technique [6], using Spiral technique [7] and more. Nowadays, the latest version of Matlab has Image Processing Toolbox which make easier to the user. One of the most widely cited fingerprint enhancement techniques is the method employed by Hong et al. [3], which is based on the convolution of the image with Gabor filters tuned to the local ridge orientation and ridge frequency. The main stages of this algorithm include normalisation, ridge orientation estimation, ridge frequency estimation and filtering. A simple method has been done by WuZhili [4], with is his own algorithm method. In this project, WuZhili’s method has been chosen as main reference.

Basically, fingerprints have two levels of structure, global and unique. The global levels characterize the general structure of the ridge patterns, and are commonly used to partition fingerprint databases [5, 8].

• Delta - the point of spreading apart of two parallel ridges.

• Central point - approximately the centre of loop fingerprint, located within or on innermost recurve. Based on the flow of ridges and the occurrence of

2011 UKSim 13th International Conference on Modelling and Simulation

978-0-7695-4376-5/11 $26.00 © 2011 IEEE

DOI 10.1109/UKSIM.2011.62

293

Page 2: MySQL Database for Storage of Fingerprint Data

special patterns, the fingerprint can be classified based on:

o Arch - the pattern in which the ridges enter on one side, rise in the middle, and flow out from the other side.

o Tented arch - like plain arch, except from that the ridges form an angle at the enter.

o Loop - the pattern in which at least one ridge recurves, touching a line drawn from the delta to the central point.

o Double loop – the pattern in which 2 distinct yet separate loop formations having 2 separate and distinct shoulders and also 2 deltas.

o Pocked loop – the pattern in which one recurving ridge, 2 deltas, an obstruction to the line of flow and no recurving ridge inside the pattern area is touched or cut.

o Whorl - the pattern that contains at least two deltas and one recurving ridge such as a spiral or a variation of a circle.

o Mixed – the pattern in which a few others pattern was combined.

After image processing and extraction process, all the

data will be stored in MySQL database. To store the database, a virtual server is required. The virtual server is used to deploy the database and website in a simulation environment before developing the actual web server [10]. It is implemented by using XAMPP Control Panel V2.5 software to create a virtual machine. The virtual machine is an implementation of a computer (guest) inside another physical computer (host). This software is then installed to convert it into a web server. The web server would be used to host the web pages and the database, which can then be accessed by any web browser locally or from any computer network and also in offline mode. For the MySQL database, the PHP application, phpMyAdmin are used to store all the fingerprints database.

III. METHODOLOGY

This project was divided by 3 section of process:

1. Fingerprint image processing

2. Fingerprint minutia extraction

3. Storage MySQL database

For this project, Matlab R2009a software is chosen as a tool to process fingerprint image. First of all, 30 samples of students’ thumbprints were collected and the thumbprints were chosen for standardization of data. Next, all that 30 samples of students’ thumbprints were scanned by using Canon PIXMA MP198 and saved in image format (.tiff). For

compatibility with the Matlab image processing toolbox, the thumbprints’ images were converted from RGB to Grayscale format by using Adobe Photoshop CS5 and also used for relocation the images into uniform size.

A. Fingerprint Image Processing This part starts from image enhancement until ROI

(Region of Interest) extraction. Fingerprint image enhancement is to make the image clearer for easy further operations. Since the fingerprint images acquired from sensors or other medias are not assured with perfect quality, those enhancement methods, for increasing the contrast between ridges and furrows and for connecting the false broken points of ridges due to insufficient amount of ink, are very useful for keep a higher accuracy to fingerprint recognition. Below is the flow of this process [4]:

• Histogram Equalization

Histogram equalization is to expand the pixel value distribution of an image so as to increase the perceptional information.

• Enhancement by Fourier Transform

Divide the image into small processing blocks (32 by 32 pixels) and perform the Fourier transform according to:

(1)

for u = 0, 1, 2, ..., 31 and v = 0, 1, 2, ..., 31.

In order to enhance a specific block by its dominant frequencies, we multiply the FFT of the block by its magnitude a set of times. Where the magnitude of the original FFT = abs(F(u,v)) = |F(u,v)|.

Histogram Equalization

Enhancement by Fourier Transform

Image Binarization

Image Segmentation

ROI Extraction

294

Page 3: MySQL Database for Storage of Fingerprint Data

Get the enhanced block according to

(2) where F-1(F(u,v)) is done by:

(3)

for x = 0, 1, 2, ..., 31 and y = 0, 1, 2, ..., 31. The k in formula (2) is an experimentally determined constant, which we choose k=0.45 to calculate. While having a higher "k" improves the appearance of the ridges, filling up small holes in ridges, having too high a "k" can result in false joining of ridges. Thus a termination might become a bifurcation.

• Image Binarization

Fingerprint Image Binarization is to transform the 8-bit Gray fingerprint image to a 1-bit image with 0-value for ridges and 1-value for furrows. After the operation, ridges in the fingerprint are highlighted with black color while furrows are white.

• Image Segmentation

In general, only a Region of Interest (ROI) is useful to be recognized for each fingerprint image. The image area without effective ridges and furrows is first discarded since it only holds background information. Then the bound of the remaining effective area is sketched out since the minutia in the bound region are confusing with those spurious minutia that are generated when the ridges are out of the sensor.

• ROI Extraction Two Morphological operations called ‘OPEN’ and ‘CLOSE’ are adopted. The ‘OPEN’ operation can expand images and remove peaks introduced by background noise. The ‘CLOSE’ operation can shrink images and eliminate small cavities.

B. Fingerprint Minutia Extraction This process is divided into two parts, firstly is ridge

thinning and the second one is minutia marking. • Fingerprint Ridge Thinning

Ridge Thinning is to eliminate the redundant pixels of ridges till the ridges are just one pixel wide [11] uses an iterative, parallel thinning algorithm.

• Minutia Marking

After the fingerprint ridge thinning, marking minutia points is relatively easy. But it is still not a trivial task as most literatures declared because at least one special case evokes my caution during the minutia marking stage. 2 point was recorded as data to save in database from this process, real end point and real branch point.

C. Storage MySQL Database Before all 30 students’ thumbprints data is stored in

MySQL database, the data is saved into Microsoft Excel. Then, XAMPP Control Panel V2.5 software is installed in the computer to make the computer as a server. The MySQL database management tool is phpMyAdmin. Three tables are used for storage of MySQL database as shown in Figure 3.0. The tables are consist of the person identification (id) number, real end points data and real branch points data. After all the 30 students’ thumbprints’ data are stored in MySQL database by using PhpMyAdmin tool, it will be easier for future processing such as fingerprint matching.

IV. RESULT AND DISCUSSION Figure 2.0 shows the original thumbprint’s image that

hass been converted into grayscale format by using Adobe Photoshop CS5. Then, the image is loaded into Matlab R2009a as shown in Figure 2.1. Histogram equalization method is used to increase the global contrast as shown in Figure 2.2.

Figure 2.0 Original thumbprint’s image in grayscale format

Figure 2.1 Thumbprint image after loading into Matlab R2009a

295

Page 4: MySQL Database for Storage of Fingerprint Data

Figure 2.2 Thumbprint image after histogram equalization

For this project, Fast Fourier Transform (FFT) factor for each student’s thumbprint image is 0.5.

Figure 2.3 Thumbprint image after enhancement by 0.5 of Fast Fourier Transform (FFT) factor

Figure 2.4 The direction of thumbprint’s ridge

Figure 2.5 Thumbprint image after binarization, segmentation and Region of Interest (ROI) extraction process

Figure 2.6 Thumbprint image after ridge thinning

Figure 2.7: Thumbprint image after minutia extraction process

From minutia extraction process, two points are detected. The first one is the real end (terminations) point which denotes with red stars and the second one is real branch (bifurcations) point which located with yellow crosses. The genuine minutias are labeled with orientation with green arrows.

Before inserting data into phpMyAdmin tool, all the real end points and the real branch points’ data is saved into Microsoft Excel. Then the data is converted into MySQL language format. Table I and Table II show the real values of end points’ data and branch points’data.

TABLE I. Example of real end points data

Point 1 Point 2 Point 3 138 24 2.5454 112 56 2.6779 76 82 -2.9997

109 52 -0.311 109 65 -0.3743 131 106 3.1416 127 162 -2.4756 299 107 3.1416 176 35 2.0626 186 40 -1.079 47 97 -2.8966

290 102 -2.8306 137 78 2.6224

296

Page 5: MySQL Database for Storage of Fingerprint Data

191 62 -1.1965 222 68 -1.9757 195 78 -2.4062 226 83 -2.191 242 74 0.6202 261 103 0.245 187 77 -1.2598 222 86 0.8622 233 86 0.7854 146 98 2.7367 163 95 -0.4049 143 98 0 142 108 2.8966 174 100 -0.4049 154 110 2.9997 218 148 2.0055 132 110 0.0357 144 112 0.0713 216 136 2.6779 224 157 1.9451 265 174 2.7673 159 131 0.8831 152 139 0.8622 189 175 -1.9757 196 147 -1.8491 34 169 -2.5703 85 86 -2.7234 87 86 2.7234 86 88 0.0278

143 32 2.4038 141 34 -0.7346 143 34 1.4601

TABLE II. Example of real branch points data

Point 1 Point 2 131 27 108 33 17 55 45 61 31 78 86 87 17 103

48 129 142 33 110 84 120 99 144 175 276 49 142 79 211 170 167 91 174 92 193 99 233 123 230 133 217 118

Three tables are used to store all the data as shown in Figure 3.0. Figure 3.1 shows the table of the person’s identification number (id). Figure 3.2 shows several real end points’ data for person’s id number 1. Several different data are obtained for one person since several thumbprints’ images are collected for one person. Figure 3.3 shows several real branch points’ data for two persons with id number 1 and 2.

Figure 3.0 Three tables of MySQL database in phpMyAdmin tool; fingerprints’ branch points data, fingerprints’ end points data and persons’

identification number

297

Page 6: MySQL Database for Storage of Fingerprint Data

Figure 3.1 Table of the person’s identification number and name in phpMyAdmin tool

Figure 3.2 Table of real end points’ data that relate with their person id

Figure 3.3 Table of real branch points’ data that relate with their person id After all the data is stored into MySQL database, it is

easier for future process such as fingerprint matching. The data that has been stored can also be added or deleted easily by user since a friendly Graphic User Interface (GUI) is

used. The data can also be accessed by others since MySQL is a relational database management system that provides multi-user access.

V. CONCLUSION As a conclusion, the objective of this project has been

achieved which is to enhance thumbprints’ images, extract the thumbprint minutia and store the data into MySQL database. This application is useful especially for biometric identification, applications such as biometric attendance and others.

For future recommendation and development, face image or retina image for biometric identification can be done and the data can be stored in MySQL database.

REFERENCES [1] P.A. Hughes and A.D.P. Green, "The Use of Neural Network for

Thumbprint Classification," Proc. 2nd Int. Conf. Neural Network, pp. 79-81, 1991.

[2] Raymond Thai, Thumbprint Image Enhancement and Minutiae Extraction, The University of Western Australia 2003.

[3] Hong, L., Wan, Y., and Jain, A. K. Thumbprint image enhancement: Algorithm and performance evaluation. IEEE Transactions on Pattern Analysis and Machine Intelligence 20, 8 (1998), 777–789.

[4] WuZhili. Thumbprint Recognition, Hong Kong Baptist University, 2002.

[5] Galton, F. Thumbprints. Mcmillan, 1982. [6] Lee, C.J., and Wang, S.D.: Thumbprint feature extration using Gabor

filters, Electron. Lett., 1999, 35, (4), pp.288-290. [7] Woon Ho Jung, Fast Thumbprint Recognition Using Spiral, Carnegie

Mellon University. [8] Lee, C.J., and Wang, S.D.: Thumbprint feature extraction using Gabor

filters, Electron. Lett., 1999, 35, (4), pp.288-290. [9] Alessandro Farina, Zsolt M.Kovacs-Vajna, Alberto leone,

Thumbprint minutiae extraction from skeletonized binary images, Pattern Recognition, Vol.32, No.4, pp877-889, 1999.

[10] H. Z. Abidin, F. Y. Abdul Rahman, I. M. Yassin, E. E. Mohd Sayuti, Development of a Local Web Server Linked to Malaysian Research and Education Network (MyREN), 2009.

[11] L.C. Jain, U.Halici, I. Hayashi, S.B. Lee and S.Tsutsui. Intelligent biometric techniques in thumbprint and face recognition. 1999, the CRC Press.

[12] Amengual, J. C., Juan, A., Prez, J. C., Prat, F., S., And Vilar, J. M. Real Time Minutea Extraction In Thumbprint Images in Proc. Of The 6th International Conferences On Image Processing And Its Application (July 1997), PP. 871-875.

298