A new fingerprint matching approach using level 2 and level 3 features

Fingerprint friction ridge details are generally described in a hierarchical order at three levels, namely, Level 1 (pattern), Level 2 (minutiae points) and Level 3 (pores and ridge shape). Although high resolution sensors (~ 1000dpi) have become commercially available and have made it possible to reliably extract Level 3 features, most Automated Fingerprint Identification Systems (AFIS) employ only Level 1 and Level 2 features. As a result, increasing the scan resolution does not provide any matching performance improvement. We develop a matcher that utilizes Level 3 features, including pores and ridge contours, in conjunction with level 2 features (minutiae) for matching. The aim is to reduce the error rates, namely FAR (False Acceptance Rate) and FRR (False Rejection Rate) in the existing minutiae based systems. The hierarchical matcher has been tested on two diverse databases in public domain. The obtained results are promising and verify our claim.


Introduction
Fingerprint recognition is a widely popular but a complex pattern recognition Problem. It is difficult to design accurate algorithms capable of extracting salient features and matching them in a robust way. There are two main applications involving fingerprints: fingerprint verification and fingerprint identification. While the goal of fingerprint verification is to verify the identity of a person, the goal of fingerprint identification is to establish the identity of a person. Specifically, fingerprint identification involves matching a query fingerprint against a fingerprint database to establish the identity for an individual. To reduce search time and computational complexity, fingerprint classification is usually employed to reduce the search space by splitting the database into smaller parts (fingerprint classes) [1]. There is a popular misconception that automatic fingerprint recognition is a fully solved problem since it was one of the first applications of machine pattern recognition (it dates back to more than 50 years ago). On the contrary, fingerprint recognition is still a challenging and important pattern recognition problem. The real challenge is matching fingerprints affected by: o High displacement or rotation which results in smaller overlap between template and query fingerprints (this case can be treated as similar to matching partial fingerprints), o Non-linear distortion caused by the finger plasticity, o Different pressure and skin condition and o Feature extraction errors which may result in spurious or missing features.
The approaches to fingerprint matching can be coarsely classified into three classes: Correlation-based matching, Minutiae-based matching and Ridge-feature-based matching. In correlation-based matching, two fingerprint images are superimposed and the correlation between corresponding pixels is computed for different alignments. During minutiae-based matching, the set of minutiae are extracted from the two fingerprints and stored as a sets of points in the two dimensional plane. Ridge-featurebased matching is based on such feature as orientation map, ridge lines and ridge geometry.  [2], [3] The information contained in a fingerprint can be categorized into three different Levels, namely, Level 1 (pattern), Level 2 (minutiae points), and Level 3 (pores and ridge contours).
The vast majority of contemporary automated fingerprint authentication systems (AFAS 1 ) are minutiae (Level 2 features) based [4]. Minutiae-based systems generally rely on finding correspondences 2 between the minutiae points present in "query" and "reference" fingerprint images. These systems normally perform well with high-quality fingerprint images and a sufficient fingerprint surface area. These conditions, however, may not always be attainable. 1 Automated Fingerprint Authentication Systems 2 A minutiae in the "query" fingerprint and a minutiae in the "reference" fingerprint are said to be corresponding if they represent the identical minutiae scanned from the same finger As shown in Figure 2, even though these two fingerprint images are from the same individual, the relative positions of the minutiae are very different due to skin distortions. This distortion is an inevitable problem since it is usually associated with several parameters [28], [29], including skin elasticity, nonuniform pressure applied by the subject, differentfinger placement with the sensor, etc.
In many cases, only a small portion of the "query" fingerprint can be compared with the "reference" fingerprints as a result, the number of minutiae correspondences might significantly decrease and the matching algorithm would not be able to make a decision with high certainly. This effect is even more marked on intrinsically poor quality fingerprints, where only a subset of the minutiae can be extracted and used with sufficient reliability. Although minutiae may carry most of the fingerprint's discriminatory information, they do not always constitute the best trade-off between accuracy and robustness. This has led the designers of fingerprint recognition techniques to search for other fingerprint distinguishing features, beyond minutiae which may be used in conjunction with minutiae (and not as an alternative) to increase the system accuracy and robustness. It is a known fact that the presence of Level 3 features in fingerprints provides minutiae detail for matching and the potential for increased accuracy.
Ray et al. [5] have presented a means of modeling and extracting pores (which are considered as highly distinctive Level 3 features) from 500 ppi fingerprint images. This study showed that while not every fingerprint image obtained with a 500 ppi scanner has evident pores, a substantial number of them do have. Thus, it is a natural step to try to extract Level 3 information, and use them in conjunction with minutiae to achieve robust matching decisions. In addition, the fine details of Level 3 features could potentially be exploited in circumstances that require high-confidence matches. Moosavi [21] developed a matcher that utilizes Level 3 features, including pores and ridge contours, in conjunction with Level 2 features (minutiae) for matching.
The types of information that can be collected from a fingerprint's friction ridge impression can be categorized as Level 1, Level 2, or Level 3 features as shown in Figure 1. At the global Level, the fingerprint pattern exhibits one or more regions where the ridge lines assume distinctive shapes characterized by high curvature, frequent termination, etc. These regions are broadly classified into arch, loop, and whorl. The arch, loop, and whorl can further be classified into various subcategories, by noticing Delta and core.
Features of Level 1 comprise these global patterns and morphological information. They alone do not contain sufficient information to uniquely identify fingerprints but are used for broad classification of fingerprints.
Level 2 features or minutiae refer to the various ways that the ridges can be discontinuous. These are essentially Galton characteristics, namely ridge endings and ridge bifurcations. A ridge ending is defined as the ridge point where a ridge ends abruptly. A bifurcation is defined as the ridge point where a ridge bifurcates into two ridges. Minutiae are the most prominent features, generally stable and robust to fingerprint impression conditions. Statistical analysis has shown that Level 2 features have sufficient discriminating power to establish the individuality of fingerprints [6]. Level 3 features are the extremely fine intra ridge details present in fingerprints [7]. These are essentially the sweat pores and ridge contours. Pores are the openings of the sweat glands and they are distributed along the ridges.
Studies [8] and [12] have shown that density of pores on a ridge varies from 23 to 45 pores per inch and 20 to 40 pores should be sufficient to determine the identity of an individual. A pore can be either open or closed, based on its perspiration activity. A closed pore is entirely enclosed by a ridge, while an open pore intersects with the valley lying between two ridges as shown in Figure 4.
The pore information (position, number and shape) are considered to be permanent, immutable and highly distinctive but very few automatic matching techniques use pores since their reliable extraction requires high resolution and good quality fingerprint images. Ridge contours contain valuable Level 3 information including ridge width and edge shape. Various shapes on the friction ridge edges can be classified into eight categories, namely, straight, convex, peak, table, pocket, concave, angle, and others as shown in Figure 5. The shapes and relative position of ridge edges are considered as permanent and unique. On the perpetual quest for perfection, a number of techniques devised for reducing FAR 3 and FRR 4 were developed; computational geometry being one of such techniques [10]. Matching is usually based on lower-Level features determined by singularities in the finger ridge pattern known as minutiae. Given the minutiae representation of fingerprints, fingerprint matching can simply be seen as a point matching problem. As mentioned before, two kinds of minutiae are adopted in matching: ridge ending and ridge bifurcation. For each minutia usually extract three features: type, the coordinates and the orientation. Where θ is the orientation and (x0, y0) is the coordinate of minutiae. M. Poulos et al. develop an approach that constructs nested polygons based on pixels brightness; this method needs some image processing techniques [11].
Another geometric topologic structure, Nested Convex Polygons (NCP) [13], used in [17], Khazaee and others establish a matching using minutiae. This approach was invariant from translation and rotation. They also had a local matching with using of the most interior polygon (Reference Polygon) and then apply global matching. They use reference polygon that is unique for every fingerprint; this uniqueness helps to reject non matching fingerprints with minimum process and time. We use in our approach, this point of view and continue this idea to use it for pores and ridges in Level 3 features. In this paper, we proposed a new fingerprint matching method that utilizes Level 3 features (pores and ridge contour) in conjunction with Level 2 features (minutiae) for matching, using of the most interior polygon (reference polygon) and apply matching in 2 Levels. Three main steps of our proposed method are: In Section 2, we review some feature extraction methods. In Section 3, we introduce nested convex polygons [13]. In section 4, we describe matching approach. Then, in section 5, show how we can construct a NCP with minutiae and pores. A new approach for fingerprint matching using NCP is described in section 6. Experimental results on FVC2006 and NIST 9 are presented in Section 7. The paper is concluded in Section 8.

Feature Extraction
To compensate for the variations in lighting, contrast and other inconsistencies three preprocessing steps are used: Gaussian blur, sliding window contrast adjustment, and histogram based intensity Level correction. Gaussian blurring is used to remove any noise introduced by the sensor. The lighting inconsistencies are adjusted by using sliding-window contrast adjustment on the Gaussian blurred image. To further enhance the ridges and valley a final intensity correction is made by using Histogram-based Intensity Level Adjustment.
The preprocessed image is enhanced using a popular fingerprint enhancement technique by Sharat [14] which uses contextual filtering in Fourier domain. The enhanced fingerprint image is not suitable for extracting pores as the pore information is lost during enhancement. Thus for pore extraction the preprocessed image is used.
The minutiae points are extracted from the enhanced image by using NIST's5 minutia extraction software (NFIS). The method first generates the image quality maps by checking the regions with high curvature, low flow and low contrast. And then, a binary representation of the fingerprint is constructed. Minutiae are generated by comparing each pixel neighborhood with a family of minutiae templates. Finally, spurious minutiae are removed by using a set of heuristic rules. The NFIS also counts the neighbor ridges and assigns each minutia point a quality (in the range 0 to 100) determined from image quality maps. The minutia representation generated by NFIS consists of the location information, orientation, minutia type (bifurcation or ending) and minutia quality [26]. The proposed minutia matcher does not differentiate between different minutiae types. This is because the minutia types are difficult to distinguish when the applied finger pressure during acquisition varies. Figure 9 shows one such example where the same minutiae extracted from two different impressions appears as a bifurcation in one image and as a ridge ending in other.
(a) (b) Figure 9: Effect of differential finger pressure [16] The Level 3 features are extracted only when the minutiae based matching fails to match the query fingerprint image with the template image. The ridge contours are extracted from the enhanced fingerprint image by using the approach proposed by Jain et al. [9]. The extracted ridge contours by using this approach is shown in Figure 10. For extracting pores the technique proposed in [16] and [25] by International Biometric Group is used. Figure 11 show the extracted pores by using this approach. The pore information thus extracted contains the location information and orientation information of pores.
(a) Sample 500 dpi fingerprint (b) extracted pore Figure 11: Pores extracted from an image canned with Cross Match Verifier 300 scanner at 500 dpi

Fingerprint Preprocessing
Before extracting the proposed ridge features, we need to perform some preprocessing steps (see Figure 12). These steps include typical feature extraction procedures as well as additional procedures for quality estimation and circular variance estimation. We first divide the image into 8 8 pixel blocks. Then, the mean and variance values of each block are calculated to segment the fingerprint regions in the image. We then apply the method described in [29] to estimate the ridge orientation and the ridge frequency is calculated using the method presented in [30]. The Gabor filter [31] is applied to enhance the image and obtain a skeletonized ridge image. Then, the minutiae (end points and bifurcations) are detected in the skeletonized image. The quality estimation procedure [32] is performed in order to avoid extracting false minutiae from poor quality regions and to enhance the confidence Level of the extracted minutiae set. Furthermore, in regions where ridge flows change rapidly, such as the area around a singular point, it is hard to estimate the ridge orientations accurately or to extract the thinned ridge patterns consistently. Therefore, to detect regions which have large curvature, we apply circular variance estimation [33]. The circular variance of the ridge flows in a given block is calculated as follows: Where and n represent the estimated orientation of the ith block and the number of neighboring blocks around the ith block, respectively. In our experiments, we use eight neighboring blocks. Quality estimation and circular variance values are used to avoid generating feature vectors in poor quality regions or in regions around singular points. Moreover, we adopt some post-processing steps [34] to remove falsely extracted ridges, such as short ridges and bridges. We can then extract the ridge structures consistently against various noise sources.

Nested Convex Polygons
Let { , ,..., } 12 S x x x n = denote n points in two dimensional spaces. We use Quick Hall algorithm iteratively to construct nested polygons [13].  The purpose of fingerprint matching is to determine whether two fingerprints are from the same finger or not. In order to this, the input fingerprint needs to align with the template fingerprint represented by its minutiae pattern [18]. The following rigid transformation can be performed: represent a set of rigid transformation parameters: (scale, rotation, translation). In our research, we assume that the scaling factor between input and template image is identical since both images are captured with the same device.   Table 1 shows features that we use in Level 2 matching and table2 shows the features we use in Level 3 matching. In the table1, Length is the length of edge; Ө1 is the angel between the edge and the orientation field at the first minutiae point; Type1 denote minutiae type of the first minutiae [10].
Using onion layer algorithm we construct nested polygons; for every fingerprint we store edge properties that mentioned in table1 of the reference polygon, plus its depth, and Minutiae points features that mentioned in first row of table1 in database as template (fingerprint Registration). Also, we construct nested polygons for pores and for every fingerprint store edge properties that mentioned in table2 of the reference polygon, plus its depth, and pore points features that mentioned in first row of table2 in database as template (fingerprint Registration).
At the Figure 14 the polygon at depth 6 is the reference polygon that used for Level 2 matching in order to calculate rigid transformation parameters; these parameters apply to the whole remain minutiae of input fingerprint in order to align with template fingerprint, then Level 3 matching is employed, and if the score of matching is higher than predefined threshold, two fingerprints are identical, otherwise they are from different fingers. The purpose of fingerprint matching is to determine whether two fingerprints are from the same finger or not. At this step input fingerprint image goes through preprocessing, NCPs construction and determining its class like registration step. Afterward depend on Identification (1→n matching) or verification (1→1 matching) we perform matching. In verification mode we do not have to determine the class of fingerprint; retrieve fingerprint from database template and perform matching. But the purpose of identification is to identify unknown person, so in this mode, the class of input fingerprint is detect and matching of unknown fingerprint with templates at that class continue until happen a matching or rejection at the end. We divided registration in two steps: firstly, in preprocessing step, some image processing techniques that customize for fingerprint, like segmentation, normalization, Gabor filter and etc apply on fingerprint input image [19]. Next, Binarization and thinning are employed and valid minutiae are extracted from thin image. Secondly, we apply onion layer algorithm and construct NCPs. We store invariant feature (table1) for reference polygon plus its depth and variant features for other polygons in the database as a template. We also do the same procedure for pores and apply onion layer algorithm and construct NCPs for them too and store invariant feature ( are respectively thresholds of length of edges, and minutia angle and orientation of edge, respectively. 4. Repeat step 3, until find two adjacent edges in Pi that have two adjacent edges corresponding in P t . If such couple adjacent edges don't exist in two RPs, matching reject at this step. 5. Using of such couple adjacent edges, a triangle constructed as Reference Triangle (RT). One more step needed to ensure that two triangles are exactly corresponded, that's satisfied with following condition: Where, 3 T is threshold of angle between two adjacent edges in two RT. 6 (7) Where, r0 and Ө0 are thresholds of distance and orientation respectively.
Where, m and q are the number of minutiae in two fingerprints and n is the number of matched minutiae. If p be greater than predefined value, so two fingerprint are the same, otherwise go back to step 3. This iteration continues until either no candidate at step 4 exists, or accepts at step 9.

Experimental Results
We perform experiments using the fingerprint database of FVC 2006 and NIST 9 database to evaluate the correctness of algorithm and show the results of experiments. The experiment uses DB1_a in database FVC 2006 [20]. Each database contained 800 fingerprints from 100 different fingers and in each database dry, wet, scratched, distorted and markedly rotated fingerprints were also adequately represented. The performance of the algorithm is measured in terms of receiver operating characteristics (ROC). For the NIST 9 database, at ~ 0% false acceptance rate (FAR) the genuine acceptance rate (GAR) observed is ~ 74% and at ~ 11% FAR, GAR is ~ 92%. For the FVC2006 database at ~ 0% FAR the GAR observed is 71% and at ~ 18% FAR, GAR is 89%. Proposed algorithm yields better GAR at low FAR with reduced computational complexity.

Conclusion
In this paper, we have designed a completely new method of fingerprint matching using an onion layer technique regarding computational geometry. This matching approach works by using Level 3 characteristics (pores along with ridge contour) jointly with Level 2 characteristics (minutiae) for matching. Using an onion layer technique, we assemble nested convex polygons regarding minutiae, after determining by polygons property, we perform matching regarding fingerprints; we use the almost all inside polygon in order to analyze the rigorous transformations parameters along with perform Level 2 matching, next we employ Levels 3 matching. The theory research regarding computational complexity demonstrates the NCP approach for fingerprint matching can be extremely effective than the normal minutiae based matching methods. Three principal phases for the presented fingerprint matching are: Minutiae extraction and perform matching throughout Level 2, Pores extraction along with perform matching throughout Level 3 and next fingerprint recognition. The most important characteristics on the presented algorithm are: rapid detection, very fast in rejection, far more accurate compared to typical minutiae matching. Another advantage of presented technique can be that none of image processing techniques are require for matching. Our next objective can be considering brand-new computational geometry design for matching along with classification in order to far more resistant against low quality and noise in fingerprints.