A Fingerprint Recognizer Using Interminutiae Binary Constraint Graph

The main aim of this paper is to describe an inter-minutiae binary network-based global matching algorithm. It exploits absolute minutiae features represented by a binary constraint graph. A dynamic tolerance area in the neighborhood of the minutiae combined with the search-rearrangement method on the binary constraint graph is used to perform the global matching. Tests on the public ﬁngerprint databases DB1 and DB2 FVC2002 showed that our approach outperforms those based on the forward tracking search only. The most relevant aspect of this algorithm is that it does not require implicit alignment of the two ﬁngerprint images due to the strong dependencies between minutiae described by the constraint graph.


INTRODUCTION
During the last two decades, several automatic biometric systems have been designed to meet new requirements in civilian applications. Recall that fingerprints have been used for many centuries as a means for identifying people and many fingerprint matching approaches were reported in literature. They can be broadly classified into two categories: structural feature-based matching [1][2][3][4], which is the most popular and widely used, and image-based matching [5][6][7]. Both approaches are based on two major fingerprint matching principles: global and local minutiae matchings, which use the implicit or the explicit alignment step simultaneously with the classical features as absolute position, direction, ridge counts, and type of minutiae. For the prealignment phase, some authors avoid fingerprint alignment [8] by introducing an intrinsic coordinate system according to a portioned regular region defined by the orientation field. However, this approach has some limits such as reliably partitioning the fingerprint into regular regions and unambiguously defining intrinsic coordinate axes in poor-quality fingerprint images [9].
The first matching principle is based on the alignment of all minutiae points at a time. However, this is only an approximation since two fingerprint features belonging to the same person are often related by a nonlinear transformation [9]. This matching uses two main approaches: absolute prealignment (explicit alignment) to find the point correspondences and the optimal minutiae alignment [10,11] and relative prealignment (implicit alignment) which consists in explicitly aligning one or more corresponding points (minutiae or singular points) generally based on a generalized Hough transform [12]. On the other hand, the second matching technique attempts to match minutiae occurring within a small local area [13][14][15][16][17][18]. These approaches are robust to nonlinear distortion due to graph-based matching. The approach described by Chikkerur et al. [17] uses what they called Kplet representation to encode local neighborhood of a minutiae. Their method is based on dynamic programming to obtain candidate star pairs followed by a consolidation of the local matches based on a novel coupled breadth first search (BFS) algorithm. It propagates the local matches simultaneously in both fingerprints to ensure a reliably matching of all minutiae. The accuracy of this method depends critically on the way this local matching is started; while the approach proposed in [18] matches two fingerprints by solving a minimum cost flow problem.
These local matching algorithms have a high accuracy and efficiency to nonlinear deformation compared to global matching ones. For the latter, there has been several attempts to improve the matching process by using the elastic distortions model [13,[19][20][21]. Kovâcs-Vajna [13] have used a 2 EURASIP Journal on Advances in Signal Processing triangular matching approach for the large deformations and demonstrated that small local distortions can result in large global deformations. The method proposed in [19] uses the thin plate spline (TPS) model to align each pair from different fingerprint impressions. Ross et al. [20] also introduce the average deformation using the TPS model which is based on minutiae pair alignment for several impressions of the same finger to improve the alignment minutiae points. They have mentioned that the incorporation of the finger-specific deformation model in the matching process shows the good performance compared to the conventional approaches. On the other hand, Jea and Govindaraju [21] propose the tolerance range errors (distance, orientation) according to the interminutiae distance values. These tolerance areas are defined by thresholds that vary with the length of the interminutiae line segment. They asserted that these tolerances provide robustness against spatial distortions.
In this paper, we address a new minutiae-link-based matching algorithm for fingerprint recognition without need for a prealignment step. This algorithm rests upon a new representation which is described through an interminutiae relational network using a binary constraint graph. The interminutiae constraint network is constructed from the fingerprint enrollment via the number of ridges crossed by the straight line segment connecting two minutiae and the two angles formed by their orientations and this line, respectively. Hence, with this representation, the minutiae features become invariant to geometric transformations, which allows to avoid prealignment in our matching algorithm. The global matching uses the search-rearrangement heuristic to check constraints between the matched minutiae by applying dynamic tolerance area. Furthermore, we have used two types of tolerance errors: the fixed and adaptive thresholds. Some experimental results are presented to demonstrate significant improvements in fingerprint matching accuracy on the two public fingerprint databases DB1 and DB2 [9].
The breakdown of the paper is as follows. We describe fingerprint features extraction in Section 2. Section 3 provides our fingerprint constraint graph representation. The matching process via minutiae correspondence computation and the binary constraints checking is presented in Section 4. Experiments carried out in this paper are reported in Section 5. Finally, a conclusion is drawn in Section 6.

FINGERPRINT FEATURES
For convenience, we use the minutia orientation redefinition introduced in our paper [10] and extract the conventional interminutiae ridge counts [14,15]. Besides, we introduce two new features that we called relative interminutiae angles (noted as α i j and α ji ). These angles are formed by the straight line segment connecting two minutiae (m i , m j ) and the two angles formed by this line and their orientations, respectively. As shown on Figure 1(a), each relative interminutiae angle is obtained considering the anticlockwise sense. It is worth to note that this representation is completely different from that described in [18] since they use the angle formed by the straight line segment connecting two minutiae (m i ,m j ) and the x-axis.  Figure 1(b) illustrates the main difference between the two representations. It is easily noticeable that for [18] we can obtain the same angle (ϕ i j ) between m i and m j for two different fingerprints, but in our representation, relative interminutiae angles α i j andα ji are completely different in two fingerprint images.

INTERMINUTIAE BINARY CONSTRAINT GRAPH
In our matching algorithm, the fingerprint features are represented by the interminutiae constraint network. The main idea of our approach is to connect the minutiae features throughout the links, which will be governed by constraints. Thus, we define a new representation for fingerprint features using constraint network between all minutiae (binary constraint graph) to represent these links.
The binary interminutiae constraint graph consists of a set of minutiae (variables) m 1 , . . . , m n with respective features (domains) and a set of binary constraints. The binary constraint graph G = (V , E) for interminutiae relations is the undirected graph, where V is the set of variables which are represented by the minutiae and E is the set of edges, where each edge corresponds to a binary constraint C which describes the link between two minutiae (a minutiae pair).
Let T = {m i , i = 1, . . . , n} be the minutiae list extracted from the fingerprint image. Formally, the interminutiae constraint network is defined as follows: (i) a set of n minutiae (variables): are previously computed by the preceding features (ridge counts and the relative angles) between the minutia m i and the other minutiae m j , for j / = i, (iii) for each pair of the minutiae {m i , m j }, i / = j, a binary constraint C i, j , which is a subset of d i × d j , exists. In our representation, every constraint takes the two features at the same time. On the other hand, each binary constraint is as follows: (iv) for each minutia m i , the constraint relation C i is defined to describe the relation between minutia m i and the other ones as follows: F. Benhammadi et al. . .
Global inter-minutiae constraint graph In the enrollment phase, the relational network for each minutia m i is computed from the features (Euclidean distance, ridge counts, and relative interminutiae angles) between this minutia and other minutiae m j , for j / =i and the fingerprint template is generated by the global interminutiae constraint graph which represents the minutiae relational network as shown in Figure 2. Let us note that for each minutiae pair (m i , m j ), we have r i j = r ji .

BINARY CONSTRAINT GRAPH MATCHING
In this section, we introduce our global constraint matching algorithm which is used to find corresponding minutiae pairs of two fingerprints. There are two steps to match the interminutiae binary constraint graph. The first one is to compute minutiae pairing (the set of split matched minutiae). The second one is to compute the global binary constraints checking between matched minutiae from the split sets.

The minutiae pairing
The minutiae pairing allows identifying corresponding minutiae pairs from two constraint graphs. Let T = {m i , i = 1, . . . , m} and I = {m j , j = 1, . . . , n} be the minutiae lists extracted from template and input fingerprints and let G T = (V T , E T ) and G I = (V I , E I ) be their constraint graphs, respectively. The minutiae pairing for two constraint graphs is described into the two following stages. First, we match vertices (minutiae belonging to the template and the input fingerprints). The matching function considered here is multivalent, that is, each minutia of the input fingerprint constraint graph is matched with a possibly empty set of minutiae of the template constraint graph. More formally, a matching of two constraint graphs G I and G T is a set M ⊆ V I × V T which contains every pair (m i , m j ) ∈ V T ×V I such that the minutiae m i is matched with the minutiae m j . We now describe how two minutiae are matched. Let = j} be the minutiae m i and m j domains. For the relative interminutiae angles tolerance, we define the adjustable (adaptive) angles according to the relative interminutiae angle formed by the three straight line segments connecting two minutiae (m i , m j ) and the angle errors formed by these lines and their orientations, respectively, as follows: This adjustment overcomes the small non-linear deformation present in fingerprint image pairs, minutia orientation and localization error as illustrated in Figure 3.
Then the minutia m i is matched with minutia m j if ∃{r ik , α ik } ∈ d i and ∃(r jl , α jl ) ∈ d j that respect the following conditions: Given a minutia m i segment, we compute the possible interminutiae angles at localization errors (A i and B i ) of each minutia according to minutia orientation errors (θ − i and θ + i ).
indicates the relative interminutiae angle between the lines (D 1 ) and (D 3 ). In our approach, the minutia localization error is ±15 pixels and the orientation error is ±15 degrees.  However, the large distortions ( Figure 4) influence not only the minutiae ridge counts angles but also the ridge counts. Using the ridge count or distance in this case, the matching result is usually negative. Some authors have made recourse to the average deformation model as described in [20] to overcome these large distortions. This model permits to predistort minutiae points before matching process but the model required registration stage. Hence, in our approach, we have proposed strong constraint (see (4)) to compare ridge counts values. This latter allows matching each two minutiae according to the other nearest neighbor minutiae and the distortion influences this constraint for the long distance between minutiae.

EURASIP Journal on Advances in Signal Processing
In the second stage, we also have to identify the set of split matched minutiae, that is, the set of minutiae that are matched to more than one minutia. So, each minutia m j from the input fingerprints is associated with the set S m j of its matched minutiae from the template fingerprint:

The binary constraint checking
Once a set of split minutiae is computed, the next phase is to check the global constraints consistency for the matched minutiae. A state of the constraint graph matching problem is defined by an assignment of template minutiae to some or all of the input minutiae belonging to the set of split matched minutiae. An assignment that does not violate any constraint is called a consistent or legal consistent assignment. A complete assignment is one in which every minutia belonging to the input fingerprint is mentioned. Therefore, an assignment  isconsistent if the constraint C j,l = {(α jl , α l j ), (r jl , r l j )} for each matched minutiae pair (m j , m l ) is satisfied. The backtracking search is used for the constraints checking that chooses a minutia m j i from the set S m j for one minutia m j at a time and backtracks when the minutia m j has no constraint consistency to the other minutiae belonging to S m l for l / = j. We have chosen the backtracking search because the variable ordering and the value selection heuristics help significantly and the search may be systematic. Moreover, in some cases, this algorithm with search-rearrangement heuristics is more efficient solving due to specific solvers such as prolog that we have exploited in our approach. Part of the search tree for the global constraint checking is shown in Figure 5, where we have assigned the matched minutiae from input fingerprint in the order m 1 , m 2 , . . . , m |split(M)| , where |split(M)| represents the set of split matched minutiae cardinality.
The backtracking search algorithm is described in the following way: We now proceed to give the complexity of our global matching algorithm. Assume that the domain size for each variable (each minutia m j i from the set S m j computed from the template fingerprint) is d. The overall time-complexity of our backtracking search algorithm is widely considered to be O * (d n ) such that n represents the matched minutiae from the input fingerprint for the interminutiae constraint graph. So, we express the time-complexity of our backtracking search algorithm by the number of partial solutions generated by the algorithm. This is a valid representation because the time complexity can be represented as the number of partial solutions multiplied by a polynomial factor which is ignored by the O * notation.

The score matching
A matching score for fingerprint features establishes a correspondence between the input constraint graph and all the graphs of the template database set. So, after the global constraints checking has been verified, a match score is computed based on the number of corresponding minutiae in the assignment sets. Otherwise, the match score represents the depth of the tree constructed from backtracking search which is the maximal cardinality of assignment sets. Let A Mj for j = 1, . . . , j |Split(M)| be the assignment sets computed from the backtracking search algorithm. Then, the match score is where |A M1 |, |A M2 |, . . . , |A Mj|Split(M)| | are the cardinality of the assignment sets. Our backtracking search does not specify explicitly the order of the minutiae to be assigned. Experiments and analysis by several researchers show that the ordering in which variables are chosen for instantiation can have substantial impact on the complexity of backtracking search [22]. This job is done by ordering heuristics. Several heuristics have been developed and analyzed for selecting variable ordering. The simplest and the most successful ordering heuristic is called search-rearrangement method or Fail-Fist [24]. Therefore, we choose the minutiae with the fewest possible remaining alternatives (smallest set of split matched minutiae) and they are selected for instantiation at each step in the tree search. Thus, the order of minutia instantiation is, in general, different in different branches of the tree and is determined dynamically, that is, the implementation requires maintaining split set of each minutia which is updated dy-namically when matched minutiae are removed or restored. The optimizing problem for matched minutiae consistency checking is to determine an order in which to perform the tests, which minimizes the expected number of tests performed. So, the selection of the matched minutiae (instruction: matched minutia ← m j ) in the backtracking algorithm will be replaced by the selection of the minimal element among the split sets by choosing the minutia m j with the fewest values (the smallest set S m j of its matched minutiae from the template fingerprint). The second choose is to try the values (matched minutia of m j ) according to the minimal ridge counts values. This last order allows to favor a local matching by choosing at each step the closest neighbors of the minutia m j .

EXPERIMENTAL RESULTS
The tests were performed by our proposed fingerprint matching algorithm. Therefore, we show the experimental results in both verification and identification modes. The experimental fingerprints databases came from the publicly available DB1-a and DB2-a extracted from the Fingerprint Verification Competition (FVC2002) [9]. This gave a total of 100×8 distinct fingerprint images for each database. Besides, all experiments discussed in this section are conducted on a Pentium IV 3,2 GHz.
When verification or identification process is necessary, the binary constraint graph is extracted from the user's presented finger, and it is compared to the binary constraint graphs (templates) in the database, as illustrated by the system flowchart in Figure 6.

Verification mode
For the evaluation of our fingerprint verification algorithm, we adopt the equal error rate (EER) that is an important indicator rate when the false acceptance rate (FAR) and the false rejection rate (FRR) are identical. For FAR, the total number of tests is (100 × 99)/2 = 4950 and for FRR, the total number of tests is (8 × 7)/2 × 100 = 2800. Then, the EER  reported from the test are 2.31% on DB1-a and 1.42% on DB2-a as illustrated by Figure 7. So, we have a false rejection rate, FRR = 8.61% at false acceptance rate FAR = 0%. Compared with the approach proposed in [18] on the database DB2-a, we can see that when 7% ≤ FAR ≤ 10%, our system achieves a lower FRR, while their approach achieves a lower FRR for FAR ≤ 7%. Moreover, the two methods all have high speed matching with small EERs 1.06% and 1.31% using our minutiae extraction module as illustrated in Figure 8. In addition, their algorithms have been developed by implementing the exact graph matching using the mini- mum cost flow method and the NN approach. In contrary, we have used inexact matching in our approach. Thus, the two approaches are suitable for common applications with lower security requirements. Finally, the weakness of our approach lies in the failure of the strong constraint (rigid tolerance) on ridge count comparison particularly in the case when we have the ridge count number with long distance between minutiae and for the deformable images when we have large distortions. However, our method depends on many implementation parameters to calculate these dynamic tolerances.   Table 1 shows the average computational time cost of our interminutiae graph matching and the rank of our approach compared to the results obtained by the different algorithms presented to the FVC2002 [26] competition from the same bases (according to the criteria: EER, average enrollment time, and average matching time). All times discussed in this section are conducted on a Pentium IV 3.2 GHz. According to the ranking rule in terms of EER, our constraint graph matching algorithm is in the first 15 and 12 places on DB1-a and DB2-a, respectively. However, in terms of computational time cost, we got less classified places.

Identification mode
In order to evaluate our constraint graph matching algorithm in the identification case, we report our results according to the following matching protocol. We have used 100 distinct fingerprint images as the reference base and the set of the 700 remaining fingerprints as the test base. The probability of correct identification at rank n means that the probability of the correct match is somewhere in the top n matching scores. A cumulative match characteristic (CMC) is used to show the probability of identification for numerous (inclusive) ranks [26]. The probability of identification achieved on DB1-a and DB2-a are shown in Table 2. Each CMC curve is estimated on the experimental databases DB1-a and DB2a as shown in Figure 9. Comparison between CMCs shows that our constraint matching algorithm improves greatly the identification performance on DB2-a database with an identification probability of 0.95.

Heuristic speed improvements
All experiments discussed in the preceding sections are conducted using the backtracking search algorithm without   specifying explicitly the order of the selection of minutiae to be assigned neither for the minutiae of the input fingerprint nor for that of template. However, another issue is the proposed rearrangement method (the order in which the matched minutiae from the input fingerprint are considered for instantiations and the order of the ridge count values). For our constraint graph matching problem, three heuristics have been tested.
(i) Variables ordering: given the sets of matched minutiae from the input fingerprint, we have tried these sets according to the ascending order of their cardinality (split cardinality). (ii) Domains ordering: given a matched minutia, how to order the ridge count values to try. So, we adopt the same strategy by ordering the matched minutiae from the template fingerprint. (iii) Variables and domains ordering: the combination of the two preceding strategies.
We experimentally show in Table 3 that the searchrearrangement heuristics led to an improvement about three kinds of the matched minutiae orders for the identification mode on DB1-a and DB2-a. It can be seen that the average matching times reported from the test are 1.094760s on DB1a and 0.894714s on DB2-a according to the ordered minutiae extracted from the input fingerprints, respectively. In addition, the matching time was also improved by the domains tries. But the combination of the two heuristics improved considerably the total time for all databases as indicated in Table 3.
Therefore, we show the efficiency of this search-rearrangement heuristic in our approach by choosing a good minutia ordering or a good order for the instantiation of different values (minutiae matching from the template fingerprint) of a given minutia. However, with these searchrearrangement heuristics, we got first to classify place in terms of computational time cost. Thus, the searchrearrangement heuristics can solve the critical problem of the minutia choice in local matching proposed in approach [18] because the accuracy of their approach depends critically on the way this local matching is started.

CONCLUSION
In this work, we have presented a fingerprint recognition system that uses the globally minutiae-based matching which is based on the constraint satisfaction problem resolution. Experiments indicate that the search-rearrangement method is successful enough for the fingerprint binary constraint graph matching and performs much better than a purely backtracking search. The main advantage of our matching process is that it does not require an implicit alignment of two fingerprint images compared to the previous. In the near future, we will use the tree-structured local minutiae matching for the global constraint graph matching decomposition problem.