Biometric identification is more interesting in current developing; it has been used to security system, identification system in police station, or forensic analysis, etc. Biometric identification includes the technologies of finger print recognition, palm print recognition, iris recognition, facial recognition, voice recognition, ear pattern recognition, behavior recognition and DNA recognition, etc. Different recognition has different technology to implement, and analysis the source, then calculated the identification data stored in the database, the data has been used to compare with the new fingerprint to achieve the biometric identification.
At present fingerprint recognition, facial recognition, voice recognition and other biometric technologies are already mature and can be applied. In all biometric technologies, fingerprint recognition does not constitute a violation of the human body, which is the technology of convenient, practical, reliable, moderate price.
Fingerprint has two important characteristics: first, it is unique, everyone's fingerprint is different, and same person has 10 different fingerprints; the second is the stability of fingerprint patterns will never change, it does not change as people age, and it does never disappear and separated from people body. So it has provided the good feature to research. (Andrew Ackerman, Rafail Ostrovsky)
Fingerprint identification technology has two kinds: one is based on the method of fingerprint image statistics; another is based on the structure approach of fingerprint inherent feature points. (Andrew Ackerman, Rafail Ostrovsky) The first one is to match the image statistics, compared the new image statistic with the original, if they are similar, so as to achieve to determine the two fingerprints are the same individuals. The second method, recognition based on the feature point matching. The feature point can be analyzed and stated as data stored in the database.
2. Process of fingerprint feature extracting
Fingerprint identification is a large process; it includes some stages: fingerprint collection, enrollment, verification, and identification. Enrollment is that the original fingerprint has been made as a template, the template has been marked by its' features, then been stored in database. Verification is that the testing fingerprint matches with the claimed identity's fingerprint; this is the 1 to 1 comparing process. Identification is that the testing fingerprint matches with all fingerprints which come from database, this is the 1 to N comparing process, via comparing, the system can find out the testing fingerprint is whose; it has the relationship with database. Verification and identification are the sub-processes of the comparing process. (Online, 2006)
We can use a figure to explain the process of fingerprint identification.
Figure 1: the processing of fingerprint identification processing
(Anil K. Jain, Ruud Bolle, Sharath Pankanti, 2002)
This figure is an integrated diagram; we can look the processing clearly. When a fingerprint is applied, the sensor window of the fingerprint reader will send the fingerprint which has been scanned, then processed it as a gray scale image by special computer software, and identify the key minutiae points from the image, these points are the fingerprint features as the data of this fingerprint be stored into database, when the application needs to match the fingerprint, the system will use the methods to calculate the result to make decision by manager.
Whatever the verification or identification, they have the same process- processing the image. How to deal with the fingerprint image to let system understood what features on the fingerprint image, this is an important processing. There is a sequence of fingerprint image processing: original image → orientation image (pattern) → image filtration → image enhancement (binarization) → image thinning → minutiae extraction.( Anil K. Jain, Ruud Bolle, Sharath Pankanti, 2002) for the example of figure 2.
The step of orientation image (pattern) is used to make sure the orientation of the fingerprint, what pattern of this fingerprint (loop, whorl, arch), we should understand that some one's finger has been cut; few wounds have been left on the finger, so they will affect the quality of image.
The image filtration step is used to fill the pattern following the ridge orientation, as before we said, the wound will be left on the fingerprint image, if the wound is not too big, it has been ignored in this step, but in the general, the image keeps the all features and it looks like as original image.
The fourth step is enhanced and noise reduced, we are ready to extract the ridges. Though the ridges have gradations of intensity in the original grayscale image, their true information is simply binary, ridges against background, so simplifying the binarization operation takes as input grayscale image and returns a binary image as output.
Figure 2 the sequence of fingerprint image processing (http://www.eettaiwan.com/ART_8800551242_681521_TA_b423402b_2.HTM)
The fifth step, thinning reduces the width of the ridges down to a single pixel. The purpose is for minutia detection. The last step is found at the feature extraction stage operating upon the thinned image, the minutiae are straight forward to detect. But sometimes, minutiae have been constrained, for example, some algorithms just want to use bifurcation to identify, so at this step, the system just extracts the bifurcation features.
In this processing, the image's information has been changed as data from beginning, all the change just change the data information, and the final data has been stored in the database as a template, and system shows it as image. When users want to match the fingerprint, the testing image will do this process again, and matched with the template data via some algorithms.
3. The fingerprint identification algorithm
As before we introduced, fingerprint identification technology has two kinds: one is based on the method of fingerprint image statistics; another is based on the structure approach of fingerprint inherent feature points. (Anil K. Jain, Ruud Bolle, Sharath Pankanti, 2002) And now will introduce few algorithms.
Using Phase-Based Image Matching for Low-Quality Fingerprints (Koichi Ito, Ayumi Morita, etc. 2005)
When the scanner scans the fingerprint, a few people whose fingerprints are difficult to capture from fingertips, for example, dry fingertips, rough fingertips, allergic skin fingertips, etc. these elements will affect the quality of fingerprint image, so we need a method to identify this kind of fingerprint.
This algorithm is "The use of phase components in 2D (two-dimensional) discrete Fourier transforms of fingerprint images makes possible to achieve highly robust fingerprint recognition for low-quality fingerprints.", "an efficient fingerprint recognition algorithm using phase-based image matching - an image matching technique using the phase components in 2D Discrete Fourier Transforms (DFTs) of given images." (Koichi Ito, Ayumi Morita, etc. 2005). This technique has been successfully applied to computer vision applications to deal with the tasks of high accuracy image registration.
Figure 3: Example of genuine matching using the original POC function and the BLPOC function: (a) registered fingerprint image f (n1, n2), (b) input fingerprint image g (n1, n2), (c) original POC function and (d) BLPOC function with K1 = 34 and K2 = 63. (Koichi Ito, Ayumi Morita, etc. 2005)
For the example of figure 3, this is matching for two fingerprint images, using Phase-Only Correlation (POC) (C. D. Kuglin and D. C. Hines, 1975, K. Takita, T. Aoki, etc. 2003, K. Takita, M. A. Muquit, etc. 2004) function and Band-Limited Phase-Only Correlation (BLPOC) function to compare. BLPOC function is based on POC function, which has been modified; it is used for eliminating meaningless high frequency components in the calculation of cross-phase spectrum depending on the inherent frequency components of fingerprint images. (K. Ito, H. Nakajima, etc,2004) We can see in the figure 3, the correlation peak can show the result of identification, (d) BLPOC function provides the higher correlation peak and better discrimination capability than the (c) POC function. ( and has been defined by Koichi Ito, Ayumi Morita, etc. the specific algorithm will be omitted, we can look at the article by reference).
This algorithm of fingerprint recognition consists of the four steps: (Koichi Ito, Ayumi Morita, etc. 2005)
a) Core detection
"This step is to detect the core of the registered fingerprint image and the input fingerprint image in order to align the displacement between the two images. The core is defined as a singular point in a fingerprint image that exhibits the maximum ridge line curvature."
b) Rotation and displacement alignment
In order to perform the high accuracy fingerprint matching between the registered fingerprint and the input fingerprint, the displacement and rotation alignment should be normalized.
When the two fingerprint images have their cores, and use the position of the cores to align the translational displacement, generate a set of rotated image as the replica of the registration image, and the angle has been limited in a limited range with a space angle, and then the input image uses the BLPOC function. If they do not have the cores, just rotation the registered image to get the replica image, let them align the translational displacement. Then we can have the normalized versions of the registered image and the input image.
c) Common region extraction
This step is to extract the overlapped region of the normalized images; the non-overlapped areas become the uncorrelated noise components in the BLPOC function. The common effective image areas have the same size, which are extracted for the succeeding image matching step.
d) Fingerprint matching
Calculating the BLPOC function between the extracted images, and evaluate the matching score. Sometimes, the BLPOC function may give multiple correlation peaks due to elastic fingerprint deformation, thus we define the highest two peaks of BLPOC function to match.
Figure 4: ROC curves and EER ((Koichi Ito, Ayumi Morita, etc. 2005)
Via the matching of BLPOC function, we can see in the figure 4, the efficiency of BLPOC function algorithm is higher than other algorithm, especially using to recognize the low quality fingerprints.
Local-Matching Algorithm Using Unit-Circle Parametrization
(Nam-Seok Choi, Joon-Jae Lee, Byung-Gook Lee, 2008)
The method of unit circle mapping applies in similar manner through the following procedures:
1) Obtaining feature points.
As the beginning of this paper, we have introduced the process of obtaining feature points. Example of fingerprint feature points in figure 5 (a).
2) Delaunay triangulation of the feature points.
This step is connecting the adjacent two feature points, so that they combined into a triangle, these triangles, which do not intersect, combined into a triangulation meshes. Triangulation of point pattern provides a way of defining neighborhood. Applying triangulation method has used G.Leach's algorithm. (G. Leach, June 1992) (figure 5 (b))
Figure 5: The triangulations. (a) Raw feature points (b) Triangulated meshes.
3) Mapping local triangulation neighborhood to unit-circle.
In the triangulated meshes, we can use the piece-wise linear system that solves the interior points and chord length mapping of boundary points, and use the method of choosing the weight as the average of barycentric coordinate of a geodesic polar mapping local sub-triangulation neighborhood. Boundary points can be found with chord length calculation. To map a local neighborhood to unit circle by chord length of local boundary points. In figure 6, it shows the boundary points mapping in unit circle.
Figure 6: The boundary points mapping in unit circle
4) Matching mapped unit-circle.
Local matching algorithm matches the local neighborhood of two triangulated point sets, using different methods to calculate the one-ring neighbor polygon area based on boundary points. If the difference of two polygon's area is less than threshold value, that we assume the two one-ring neighbors are locally matched.
All in all, the algorithm of fingerprint identification has more and more, this report describes two kinds of them, one is using the fingerprint image statistics to analyse, and the other one is using the structure approach of fingerprint feature points to analyse. There has difference ways to identify fingerprint, e.g. via spectroscopy to identify the fingerprint image, etc. But no matter what algorithm we used to identify fingerprints, the database can not be separated, which is important for fingerprint identification,
4. The using of database for fingerprint identification
Fingerprint identification system based on fingerprint sensor and DSP processor core composition. Fingerprint sensors capture fingerprint images, DSP processor do the real-time fingerprint recognition algorithm. Meanwhile, the fingerprint identification system also has strong communication ability and database processing ability.
For one person, database has been stored over 10 fingerprint images, because when people scans the fingerprint, the image is not the standard fingerprint, the core of fingerprint may be not in the center of image, so one finger may be captured over 3 images. If the database is the publish database, which served for different algorithm system, so all the information of the fingerprint image should stored in the database, e.g. pixels, size, etc. When the image has been processed, the information of fingerprint should be stored in database.
We can use the SQLite embedded database to perform the fingerprint identification, because it is fully independent, and does not dependent with external. The SQLite embedded database performs the operation of storing, searching, delete and modify, etc. via the files which has defined the function and been embedded in the program. This embedded database has the many functions of SQL database, but we can not use SQL language to operate the database, it should use the special API. There is an example of SQLite language in Table 1.
1. To open database:
Int sqlite3_open(
Const char * filename,
SQLITE3 * *ppDb ); /*putout of the SQLite language*/
2. Operation:
Int sqlite3_exec(
Sqlite3 *, /*opening*/
Const char * sql, /* operate SQL*/
Sqlite_callback, /* call-back function*/
Void *, /* the first parameter of call-back function*/
Char * * errmsg ); /* return a error message*/
3. close the database:
Int sqlite3_close(sqlite3 *);
Table 1: The example of SQLite language (Hou Ming, Yang Jundong, 2008)
Then we can use another figure to show the relationship of database. It uses the primary key (PK), foreign key (FK), and partial primary key (PF) to connect the difference tables, let database complete.
Figure 7: The fingerprint identification application use for FBI
(Barry Williams, Data Model for Fingerprint systems, DatabaseAnswers.org Dec, 2007)
5. Conclusion
This report has researched the processing of fingerprint identification, and described a few algorithms which used in fingerprint identification, and researched the relationship between database and fingerprint recognition, more comprehensive understanding of the fingerprint identification knowledge. Via the study of fingerprint recognition to understand the biometric identification technique, it is useful to improve the development of the biometric.