Online Fingerprint Verification Algorithm and Distributed System

In this paper, a novel online fingerprint verification algorithm and distribution system is proposed. In the beginning, fingerprint acquisition, image preprocessing, and feature extraction are conducted on workstations. Then, the extracted feature is transmitted over the internet. Finally, fingerprint verification is processed on a server through web-based database query. For the fingerprint feature extraction, a template is imposed on the fingerprint image to calculate the type and direction of minutiae. A data structure of the feature set is designed in order to accurately match minutiae features between the testing fingerprint and the references in the database. An elastically structural feature matching algorithm is employed for feature verification. The proposed fingerprint matching algorithm is insensitive to fingerprint image distortion, scale, and rotation. Experimental results demonstrated that the matching algorithm is robust even on poor quality fingerprint images. Clients can remotely use ADO.NET on their workstations to verify the testing fingerprint and manipulate fingerprint feature database on the server through the internet. The proposed system performed well on benchmark fingerprint dataset.


Introduction
Biometrics refers to the automatic identification of a person based on his/her physiological or behavioral characteristics.Identification based on biometrics is preferred over traditional methods with the advantage that biometrics identification techniques obviate the need to remember a PIN/password which may be forgotten, or the need to carry the tokens like passports and driver's licenses which may be forged, stolen, or lost.For example, in the e-commerce application, the biggest concern is security problem.Currently, the common security method for online transaction consists of using one's password or PIN.However, PIN is cumbersome and insecure as people are afraid of passwords being stolen and the transaction process being invaded by adept hackers.With the increasing use of computers as vehicles of information, it is necessary to restrict access to sensitive/personal data.The biometric techniques can potentially prevent unauthorized access to or the fraudulent use of ATM, cellular phones, smart cards, desktop PCs, workstations, and computer networks.As a result, online biometric identification is enjoying a renewed interest.
Since manual fingerprint identification is extremely tedious and time consuming, automatic and reliable fingerprint identification systems are in great demand.Many research achievements on fingerprint recognition and identification have been published in literature recently [1][2][3][4].For example, fingerprint recognition and verification techniques include point set matching [5,6], graph matching [7], simulated annealing and genetic algorithms [8], relaxation [9], neural network based method for classification [10], and structural method for fingerprint recognition [11], etc.
To capture the texture information of fingerprint image, Gabor filter with eight orientations is proposed by Jain et al. [12].Patil et al. [13] used four orientations of Gabor filters for extracting fingerprint features from gray scale fingerprint image.The image is cropped to the size of 128 × 128 pixels using its core point as the center.Huang and Aviyente [14] and Khan and Javed [15] employed wavelet based analysis in order to provide rich discriminatory texture structure for fingerprint verification.To capture global transformation between two fingerprint images, genetic algorithm is adopted by Tan and Bhannu [16].
The combination of fingerprint minutiae and texture information performs the better recognition rate than individual methods.In the reference paper [17], the global structure (orientation field) and the local features (minutiae) are combined so that the global orientation field is beneficial to the alignment of the fingerprints which are either incomplete or poor quality.
Ross et al. [18] proposed a new technique to estimate the nonlinear distortion in fingerprint pairs based on ridge curve correspondences.The nonlinear distortion, called thin plate spline (TPS) function, is used to estimate the "average" deformation model for a specific finger when several impressions of that finger are available.Experimental results demonstrated that incorporating their proposed model resulted in an improvement in the matching performance.
Although texture-like feature can improve fingerprint verification performance, minutiae pattern is the most important feature.Generally speaking, minutiae extraction from distorted images is not reliable and often gives erroneous results in matching.
In this paper, we will focus on online fingerprint verification over the internet.First, the basic concept of fingerprint verification is reviewed in the introduction section.Then, an online fingerprint verification distributed system is drawn in Section II.Fingerprint acquisition and image preprocessing are discussed in Section III.Both minutiae feature extraction and dynamic matching algorithm are proposed in Section IV while experiments are conducted in Section V. A conclusion ends this paper.

Online Fingerprint Verification Distributed System
Feature extraction plays an important role in the fingerprint verification system.Reliable and significant features are extracted from fingerprint image.The local features (ridge ending and ridge bifurcation) and global features (core point) of fingerprint are defined as follows: 1) Ridge Ending: the point where a ridge ends abruptly.
2) Ridge Bifurcation: the point where a ridge forks or diverges into two branch ridges.
3) Core: The maximum curvature point.Some fingerprint has two cores.4) Minutiae: ridge ending, bifurcation, and core are called as the minutiae points.
The minutiae are shown in Figure 1.Advanced features like loops, islands, and delta (triangular portion) on the fingerprint image can be formed by combining all of the above minutiae points.
In the proposed system, live-scan fingerprint devices are used as fingerprint acquisition.A live-scan fingerprint is directly obtained from the finger without the in-termediate use of paper.For example, the Thompson-CFS chip-based sensor works through thermal sensor to detect temperature difference across the ridges and valleys.Siemens sensors are based on differential capacitance.
The captured fingerprint image is a grayscale image with 256 levels and different sizes (512 × 512, 256 × 256, or 128 × 128) depending on application requirement.A benchmark fingerprint database can be obtained from National Institute of Standards and Technology (NIST), USA.The NIST Special Fingerprint Database 4 [19] includes 2000 fingerprint image pairs, which was used to test the proposed fingerprint algorithm.
In the proposed system, fingerprint image preprocessing and feature extraction are conducted on computer workstations.In order to effectively manage fingerprint database on a server through the internet, the most advanced ActiveX Data Objects for .NET (ADO.NET) are employed to conduct fingerprint database query.For example, the operations of fingerprint enrollment, insertion and deletion of a record, etc. are carried out on the workstation sides and the changes in the database stored on the server side.The fingerprint verification is processed over the internet in such a way that the workload of server is decreased.Multiple workstations share one database on the server.The fingerprint distributed system is shown in Figure 2.

Fingerprint Image Preprocessing
Image filtering, image enhancement, and thinning are indispensable to fingerprint image processing.In this section, we will address these issues.

Image Noise Removal and Enhancement
2) The pixels comprising the skeleton should lie in the centre of the ridges; Median filter [20] is used to remove salt-and-pepper noises or spot-like noises.If a pixel is accidentally changed to an extreme value caused by various reasons, then the result of filter can achieve excellent result.The advantage of median filter is to keep the edge of the image and to remove salt-and-pepper noises in the images.
3) Skeleton pixel must be connected to each other to form the same number of regions as existed in the original image.
Figure 3 shows the processed result of one original fingerprint image.Histogram Equalization [20] is applied to enhance the ridges of the fingerprint images.Histogram Equalization reassigns a new value of a pixel based on the image histogram.The algorithm works by dividing the image into overlapping subimages with size of L × L; where L is the length and width of the subimage.Histogram information is obtained from local area of the fingerprint image.

Spur Detection and Refinement Procedure
After thinning, there exist either some spurs in the thinning image or broken lines in the ridges.A ridge smoothing algorithm is employed to delete the spurs and to link the broken lines with following criteria:

Thinning Fingerprint Image
 If a branch in a ridge map is roughly orthogonal to the local ridge direction and its length is less than a specified threshold, then it will be removed.
Fingerprint images consist of ridges.The position and direction of the ridges and the relationship among ridges convey unique information.The extra pixels usually comprise the thickness of the lines that need to be removed in order to accurately extract minutiae points.
 If a break line in a ridge is short enough and no other ridges pass through it, then it will be connected.According to Zhang and Suen's thinning algorithm [4], a thinning process is much like erosion.The pixels to be removed are marked in the first instance and then removed in a second pass over the image.This process is repeated until there are no more redundant pixels left.The remaining pixels are those belonging to the skeleton of the ridges and no minutiae points have been removed.This is called thinning by successive deletion.The skeleton must remain intact and must have a few basic properties listed below:  If several minutiae form a cluster in a small region, then remove all of them except for the one nearest to the cluster center. If two minutiae are located close enough, facing each other, but no ridge lie between them, then all of them are removed.

Coarse Feature Classification
A fingerprint image can be classified as one of five cate-1) It should consist of thin regions, one pixel wide; gories [2]: A human expert can easily perform coarse finger classification.For an automatic system, the problem becomes much more difficult due to poor image quality and impression distortion.Two hierarchical classifications are applied in our recognition system, namely, one coarse classification and one fine classification.
The first step is to employ coarse classification method [2] to classify fingerprint image into one of the five categories.
For the fine classification, further feature extraction method needs to be investigated.Two most stable and easily extracted features are ending points and bifurcation, which are used as fine features in this paper.

Fine Feature Extraction
After image pre-processing and the coarse feature extrac-tion, a thinned fingerprint image will be applied to following process: Minutiae extraction: In order to extract minutiae in the thinned fingerprint image, a 5 × 5 pattern template is imposed on the image as shown in Figure 4.
In the minutiae extraction, the thinned image is scanned twice to locate two kinds of points (ridge-ending and bifurcation).
Assuming Point M is a detecting point, the set of B(0), B( 1 Criterion2: where  ,8 B j presents the modulo operation of B(j) with 8, where 8 is the total number of pixels in the 3 × 3 neighboring ring; whereas

 ,16
A j denotes the modulo operation of A(j) with 16, where 16 is the total number of the 5 × 5 neighboring ring.
The direction of the ending point M is assigned as one of the directions A(0) ~ A (15), in which the direction of the correspondence A(i) is non-zero.The position and the direction are considered as ending point feature set.
For the bifurcation extraction, criterion 3 is applied.
We can modify the criterion 2 accordingly.The direction of the bifurcation is assigned as one ridge direction that has the maximum distance to the other two ridges.It can be expressed by Criterion 4 below: where r 1 is the number of the binary pixels, which values are continuously equal to 0 on the 5 × 5 neighboring ring counting in the clockwise direction, and starting from the point A(j); whereas r 2 has the same meaning in the anticlockwise direction.l represents one of three ridges on the bifurcation area.DIR is the direction of the bifurcation.
For example, in Figure 5, the central point is point M, which is a bifurcation point with three ridges: Line M-A14, Line M-A4, and Line M-A8.The number of 0's counted by Equation(4) in the its 5 × 5 neighboring pixels for Line M-A14 is 10; the number of 0's for Line M-A4 is 8; and the number of 0's for Line M-A8 is 8.So the direction of the bifurcation is the direction of Line M-A14.
If there are two lines that have the same number of 0's in the 5 × 5 neighboring pixels, then first ridge line direction counted from top-left in the clockwise direction will be considered as bifurcation direction.

Fine Feature Match
An efficient and effective algorithm for feature matching is the central theme of an automatic fingerprint identification system.As its name implies, the matching process deals with two fingerprint impressions captured at different times and in different environments.It will verify whether or not the two fingerprints are identical.The matching of two fingerprint impressions has proved to be difficult.Three areas of concerns might be that: 1) the minutiae of fingerprint impressions captured might have different coordinates and relative angles; 2) the shape of two fingerprint impressions taken at different places might not be the same due to the effect of stretching; 3) same fingerprint might have different impression images as the different parts of fingerprint enrolled or as noises introduced while enrolling.An ideal automatic fingerprint system must satisfy the following criteria: 1) the size of feature file must be small in order to minimize search time and space; 2) matching algorithm must be fast as well as accurate; 3) matching algorithm must cope with the problems of rotation, distortion, false minutiae, and omitting minutiae of matching pairs; 4) matching algorithm must be robust if two matching fingerprints only have partial images.
Based on the criteria mentioned above, a novel hybrid matching approach is proposed in this paper.The algorithm is divided two steps:  All minutiae are ordered according to the distance from the fingerprint's core. The distance is represented by the number of ridges between two feature points in the fingerprint image.All the minutiae are listed according to the distance to the core: {P 0 , P 1 , P 2 , , P m-1 }.Here m is the number of minutiae.


Each feature set includes the following information: Information of each minutia in the fingerprint image must be recorded.The details of encoding information are described as data structures below: Struct Fingerprint Feature { unsigned char Type; // type of calculating minutia: ending point (1)  The distance between the P i and one of the neighborhoods P ij is defined as: LDIS[i,j] = the number of ridges between P i and P ij ; j = 1, 2, , 5.
 The local direction difference between P i and P ij is calculated as follows:

LDIR[i,j] = DIR[i] -DIR[j]
where DIR[i] is the direction of calculating point P i .LDIR [i,j] is the directional difference between the calculating minutia P i and its neighboring minutia P ij .LDIS[i,j] and LDIR[i,j] are saved into the data structure: Neigh-borhood_Minutiea_Feature.
Based on our definition, the extracted features (distance and direction) are insensitive to fingerprint image distortion and rotation.
Let the testing fingerprint F be represented as a set of m minutiae features as follows: Note that each of the elements in the feature set is a feature data structure containing the following components: Type DIR Type P P LDIS P LDIR Type P P LDIS P LDIR Type P P LDIR Type P P LDIS P LDIR Type P Similarly, let the feature set of kth fingerprint image in fingerprint database be represented as a set of n minutiae points.Each minutiae point is represented by two data structures defined in the Struct Fingerprint Feature and Struct Neighborhood_Minutiea_Feature.
It is assumed that the two fingerprint images are roughly aligned.The matching algorithm seeks to find the number of matched minutiae between the testing fingerprint and the reference fingerprint.The proposed matching algorithm is elaborated as follows: The distance between the ith minutia of testing fingerprint F i and the jth minutia of the reference fingerprint R kj in the database can be calculated according to the distance integral norm: The symbol ">" represents the data structure pointer operation; parameters w 1 and w 2 are weight factors which are empirically determined to give the maximum similarity matching.In our experiments, w 1 is set to 1.0 and w 2 is set to 0.5.
Input: A set of structural features of the testing fingerprint and a set of structural features in the kth reference fingerprint Output: the ratio of the matched pair of two fingerprint images to the average minutiae number of two fingerprint images (MF).Count = 0; Here  and  are two parameters depending on the image resolutions and application conditions.In our experiments,  is set to 0.75 and  is set to 5.0.MF is a parameter to judge the matching degree.The higher the MF is set, the higher possibility the two fingerprints will get matched.

Discussion of Proposed Algorithm
As the distance between two feature points on a finger-Copyright © 2011 SciRes.JSIP print image is measured by the number of ridge/valley, the distance feature is therefore insensitive to scale and distortion.In addition, direction feature is the difference between the direction of testing minutia and that of its neighboring minutia, which is image-rotation insensitive.As a result, the proposed fingerprint feature extraction method is insensitive to image distortion and rotation.
Another advantage is that an elastically structural feature matching method proves to be a fast and reliable solution for fingerprint verification and identification.

Experiments
NIST Special Fingerprint Database IV [19] is used in the experiment.The database contains 2000 fingerprint image pairs with 8-bit grayscale images.Some poor quality fingerprints images are severely deformed due to rolling and/or inking problems of the distorted ridges.
In the first experiment, 200 fingerprints from NIST Special Database 4 Fingerprint Database were chosen to test the proposed system.By using PC computer with 4 MB of internal memory and 2.50 GHz, The system shows that the image preprocessing which includes image filtering, enhancement, and thinning for a 256 × 256 grayscale fingerprint image, needs about 150 ms.The minutia feature extraction and encoding takes 100 ms.It takes about 200 ms to match a testing fingerprint with 200 enrolled fingerprints in the database.As shown in Figure 2, image preprocessing and feature extraction were conducted on individual workstation computers.The fingerprint match (verification) is through the internet and conducted on a computer server, where enrolled fingerprint features were saved into database.ActiveX Data Objects for .NET was used for web-based database query.Clients can use ADO.NET on their workstation computer to remotely control the fingerprint feature database on the server, such as fingerprint feature enrollment, deletion, fast sorting, query, etc.
Figure 6 gives two examples of original fingerprint images and image preprocessed (noise removal, image enhancement and thinning) images.In the Figures 6(c) and 6(d), the blue points highlight the ending points and the bifurcation points are marked in red.In each thinned image, one feature point and its five nearest neighboring points are linked for visualizing feature extraction data structure.
As for the deteriorated fingerprint image pairs in the data set, it is very difficult to match all the five neighboring feature points using Equation (8) due to missing minutiae and false minutiae occurring in the processed image.A flexible scheme is proposed in the applications.The different numbers of neighboring feature points are chosen to conduct fingerprint verification in order to achieve the highest recognition rate.Table 1 shows the relationship of the False Acceptance Rate (FAR), False   Reject Rate (FRR) with the different number of neighboring feature points in the fingerprint image matching.
In the second experiment, a comparative experiment on the different number of fingerprints was conducted.The recognition performance with different enrollment numbers of fingerprint is shown in Figure 7.
For 200 fingerprint images, the verification rate (correct passing rate) can be as high as 95%.

Conclusions
Fingerprint verification over the internet is a new research topic as it will deal with web-based database query and fingerprint feature transmission over internet.A web-based fingerprint verification algorithm and its distributed system is presented in this paper.Based on internet transmission, no extra hardware system is needed.A new fingerprint feature extraction method and a flexible structural feature matching algorithm are proposed in the system.Experiments show that the proposed fingerprint verification algorithm is insensitive to fingerprint image distortion, scale, and rotation.The web-based online distributed system performs well on the benchmark fingerprint dataset and practical applications.
Further research will be conducted on how the network security can be applied to fingerprint feature transmission over the internet.The feature data should be encrypted before transmission in order to protect the system from being invaded by adept hackers.

Figure 3 (
a) is an original low-quality fingerprint image scanned by an optical senor, Figure 3(b) shows the result image after median filter, histogram equalization, thinning procedure.
), , B(7) are its 3 × 3 neighboring points in a clockwise direction beginning at top-left position; whereas the set of A(0), A(1), A(2), , A(15) are its 5 × 5 neighboring points, which directions are shown in Figure 4.   If M is a ridge ending, the following criteria must be satisfied
r 1 and r 2 are calculated based on the following equation:

Figure 7 .
Figure 7. Fingerprint verification rates on different enrollment number of images.
, five neighboring minutiae which are nearest to the minutia P i are sorted.The five sorted minutiae are represented by P i1 , P i2 , P i3 , P i4 , P i5 respectively.