Keywords

1 Introduction

For the last decades, the research and development activity in the area of automatic biometric verification and identification systems is steady increasing. A variety of biometric technologies have been proposed. Among them are fingerprints, face, iris, and speech recognition algorithms. Each technology has its own strength and shortcomings. The main criteria used for the comparative analysis of several biometric technologies are universality, uniqueness (authenticity), collectability, permanence etc.

The fingerprint biometric technology (also known as dactyloscopy) appears to be the oldest and the most popular due to its several attractable properties, among them are high personality and stability of fingerprint images. For a given finger and a given person, fingerprint is just a digital gray-scale image obtained from an optical scanner and containing a picture of papillary lines (‘ridges’ and ‘valleys’). Thus, fingerprint verification and identification are special machine learning problems involving the development of specialized image processing, segmentation, and analysis algorithms.

It seems that the verification problem has been investigated in details, whereas the identification problem remains a great challenge for researchers and developers. Along with performance, scalability becomes one of the first-priority issues in the development of fingerprint methods.

Although, there are known several fingerprint verification systems, which examine raw fingerprint images using the correlation analysis techniques only, usually [1] the verification/identification stage is preceded by some feature extraction one.

Among other feature extraction methods, the minutiae-based technique is most popular. From the geometrical viewpoint, a minutia is an irregularity point on a fingerprint image (where termination, bifurcation, or crossover of papillary lines are observed). The collection of such points on the image plane is called a fingerprint template. Many different types of modern fingerprint analysis algorithms [13] are based on such templates.

Unfortunately, a regular fingerprint image typically contains several dozens of minutiae and the analysis of all their combinations appears to be computationally expensive. Several geometric techniques are developed [2] to reduce this combinatorial complexity, and the the triangulation-based indexing algorithm for the minutiae set is known as the most promising.

In the paper, a new fingerprint identification algorithm based on the Delaunay minutiae triangulation, special type of coding, and MAP-learning classifier is presented. The main contribution is an original feature-space construction technique based on partial invariants against some known image transformation group. Performance of the proposed algorithm is compared with performance of well-known proprietary ‘Suprema’ algorithm [4], which is supposed to be state-of-the-art [5].

2 Problem Statement and Related Works

2.1 Verification and Identification Problems

The are two main problems associated with biometric data: verification and identification. Verification is an one-to-one (matching) problem. The goal is to answer the question Whether this person is who he (or she) claims to be? Every verification system implies two stages: enrollment and query. When a system enrolls a person for the first time, in addition to the fingerprint images, some auxiliary data (e.g. name, photo, passport or driver’s license id, etc.) are captured as well. When a person returns, he (or she) should present these complementary data along with the new fingerprint; the system just validates them. The verification problem is well-known. Therefore, the main goal of any research in this field, is to improve the performance of the algorithms in the following directions: fingerprint image enhancement and machine learning procedures based on detected minutiae.

Image enhancement algorithms are designed to improve the overall quality of fingerprints, thereby simplifying further minutiae detection procedures. The modern approach to fingerprint image enhancement is based on the general scheme proposed in famous paper [6] and is followed by many researchers [710]. According to this scheme, before the analysis, a fingerprint is segmented into regions of three types: well-defined, where ridges and valleys are clearly separable and minutiae can be easily detected; recoverable corrupted, where ridge-valley texture is corrupted but can be interpolated with a sufficiently high accuracy on the basis of neighboring areas; and unrecoverable corrupted regions. The goal is to improve the quality of recoverable regions and remove all unrecoverables. The enhancement procedure consists of the following stages: preprocessing (normalization, sharpening etc.), orientation field estimation, frequency image constructing, region mask building, and adaptive filtering (using several Gabor-like local filters).

Most modern matching algorithms [1] are centered on the geometrical alignment between previously detected minutiae (from query and model fingerprints) and constructing geometric (partial) invariants with respect to a given plane transformation group.

On the other hand, biometric identification systems answer the question Who is this person? The required answer should depend solely on the fingerprint image presented. At first glance, this problem can be reduced to the appropriate sequence of the verification problems. Indeed, at the enrollment stage, a hypothetic identification system can just memorize fingerprint data obtained from known people constructing so-called model database, and, at the query stage, it can search this database for most similar entries to the fingerprint in question, using some matching algorithm as a subroutine. But, this simple scheme has several shortcomings, and its poor scalability seems to be the most important.

2.2 A Structure of Identification System

From conceptual point of view, any automated fingerprint identification system (AFIS) consists of two main subsystems. First of them (we call it offline) is used at the enrollment stage, when a model database is constructed. The second subsystem identifies of query fingerprints on the basis of this database.

2.3 Geometric Indexing

To give a short description of the first subsystem, it is convenient to use the well-known black box model. By virtue of any standard minutiae extraction algorithmFootnote 1, an offline subsystem maps the initial model fingerprint set

$$\mathfrak {I}=\{I_j:\ j=1,\ldots ,N\}$$

into a family of finite subsets of \(\mathbb {Z}^3_+\) (cube of the set of nonnegative integer numbers). Actually, any model image \(I_j\in \mathfrak {I}\) is mapped to the subset

$$T(I_j)=\{(x_i,y_i,w_i)\in \mathbb {Z}^3_+:\ i=1,\ldots ,N_j\}$$

that is called a template (see Fig. 1). For any triple, \(x_i\) and \(y_i\) coordinates define a geometric location of the \(i\)-th minutia detected on the image plane, and \(w_i\) is equal to the confidence level of this detection. So, in the beginning of the first stage, we have the set \(\mathfrak {B}=\{T_j=T(I_j)\}\) of templates of the initial images (which is called a model database). Further, to each pair \((T_j,q)\) we assign a minutiae subset \(T_{j,q}=\{(x_i,y_i,w_i)\in T_j:\ w_i\ge q\}\subset T_j\) consisting of minutiae filtered by their accuracy level. In the sequel, we consider projections of these subsets onto planes \(H_q=\{(x,y,w):\ w=q\}\) which are parallel to the coordinate plane \(xOy\).

Fig. 1.
figure 1

Fingerprint template based on minutiae extraction

On the second (online) stage, the query image \(I\) is processed (in general) by the similar way, and the template \(T=T(I)\) is produced, after that the final identification decision is made by the one-to-one matching \(T\) with corresponding candidates subset \(\mathfrak {B}_T\subset \mathfrak {B}\) of the model database. Time complexity of this procedure (for a fixed template \(T\)) is \(O(M|\mathfrak {B}_T|),\) where \(M\) is the complexity of the inner matching algorithm. So, the problem is to construct the reducing algorithm \(R\), which to any \(T\) assigns a subset \(R(T)=\mathfrak {B}_T\) satisfying the following additional constraints.

  1. 1.

    \(|R(T)|\ll N=|\mathfrak {B}|\).

  2. 2.

    Let some confidence level \(\alpha \in (0,1)\) be given, and let a fingerprint \(I\) producing the query template \(T\) belong to some known person and the model database contains templates produced by another his (or her) fingerprints. Denote the subset of these templates by \(\mathfrak {B}'_T\). Conditional probability \(P_T\) of the event \(\mathfrak {B}'_T\cap R(T)=\varnothing \) should satisfy the inequality \(P_T\le \alpha \).

Mathematically, this problem is equivalent to the construction problem of the efficiently computable mostly powerful test statistic of the significance level \(\alpha \) for the null hypothesis ‘known person’. For any query template \(T\), the test produces a subset \(R_\alpha (T)\) of candidates for the subsequent one-to-one matching (w.r.t. \(T\)).

There are known several approaches to solve this problem. The approach based on the preliminary clusterization of the model database by the core type of the initial fingerprint images [1] seems to be the earliest. According to this approach, at the online stage, the query template is previously classified on the basis of its core, after that the search can be narrowed to the corresponding cluster. Unfortunately, the number of known core types is small and the distribution of the real fingerprints (among them) is far from the uniform one.

Another approach is based on indexing the model database and is supposed [2] to be more promising. Indexing procedures improve the classical two-stage identification scheme at the both stages. At the offline stage, the model database is indexed using some special hash function. At the online stage, the required subset \(R(T)\) is constructed from the models with the hash values that are most similar to ones calculated from the query template \(T\).

During the indexing substage, for any model template, several partial invariants (which are values of the geometrical nature that are almost invariant to a given transformation group on the plane) are computed and quantized. For instance, if some numerical features \(f_1, f_2,\ldots ,f_k\) of geometrical shapes of some kind formed by the fingerprint minutiae are used as partial invariants, then for any model \(T_i\) and for any shape \(S\) of interest, the record \(g_1(S),\ldots ,g_k(S),r_i\) is included into the indexing table. Here \(g_j\) is the quantized value of the feature \(f_j\) and \(r_i\) is a reference to the model \(T_i\). Thus, any model template \(T_i\) is transformed to some finite subset in the \(k\)-dimensional indexing space.

The second, query stage starts with computing the same partial invariants of the template to be identified. The computed \(k\)-dimensional vectors are filtered using some system of additional constraints, which are control parameters of the algorithm. Further, the remaining vectors are used for searching in the index table and estimating the posterior probabilities for the models \(T_i\) extracted. The resulting ordered subset \(R(T)\) is constructed from the most probable models according to their posterior probabilities.

Performance of indexing algorithms is suggested [2] to estimate by correct index power (CIP).

Suppose, for any respondent (from a given sample), we have a pair \((T_i,T'_i)\) of fingerprints obtained from the same finger. Construct the model database \(\mathfrak {B}\) from the first elements of each pair, and the test database \(\mathfrak {C}\) from the second (\(|\mathfrak {B}|=|\mathfrak {C}|=N\), by construction). The model \(T_i\in \mathfrak {B}\) is said to be correctly indexed by the algorithm \(R\) if \(T_i\in R(T'_i).\) Let \(N_{ci}(R)\) be the number of correctly indexed models, then

$$\begin{aligned} CIP(R)=\frac{N_{ci}(R)}{N}. \end{aligned}$$
(1)

It is clear that \(CIP(R)\) is a stochastic variable which depends, along with the algorithm \(R\) in question, on the random choice of the initial sample and the pair \((\mathfrak {B},\mathfrak {C})\). Nevertheless, its population value can be estimated statistically on some representative fingerprint sample. In this paper, the well-known ‘NIST Special Fingerprint Database 4’ [15] is used for such an estimation.

3 Our Results

We start with the description of our partial invariant data structure.

3.1 Partial Invariants

The system of invariants constructed in this paper generalizes the system proposed in [11] and extended in [12, 13]. Our system contains quantities that are invariant to the rotation-translation-scaling subgroup of similarity transformation group (on the plane). For a fixed accuracy level \(q\) of detected minutiae, to any template \(T\), the projection \(\varPi _q(T)\) of the set

$$T_q=\{(x_i,y_i,w_i)\in T:\ w_i\ge q\}$$

onto the plane \(H_q=\{(w,y,w):\ w=q\}\) is assigned and the Delaunay triangulation [16] of the set \(\varPi _q(T)\) is constructed. The choice of the Delaunay triangulation method is due to the following reasons

  1. (a)

    such a triangulation is unique for any nondegenerate finite set on the plane;

  2. (b)

    the resulting triangulation consists of \(O(m)\) facets, which number is substantially smaller than the number \(O(m^3)\) of all possible triangles with the vertices of the given \(m\)-point set;

  3. (c)

    this triangulation can be constructed efficiently, we use the algorithm [17] with time-complexity \(O(m\log m)\);

  4. (d)

    the topological structure of the resulting triangulation is stable [18] w.r.t. small perturbations of the initial data.

Suppose, a triangle \(\varDelta \) is a triangulation facet with edges \(a\le b\le c\). To this triangle, assign the vector \(\nu (\varDelta )=[\alpha , \beta , \gamma ]\) by the formulas \(\alpha =b/c\), \(\beta =a/b\), and \(\gamma =\cos C\) (here \(C\) is the angle opposite to the side \(c\)). This vector is invariant to any translation, rotation and scaling transform on the plane and satisfies the following inequalities

$$ \frac{1}{2}<\alpha \le 1,\ 0<\beta \le 1,\ -1<\gamma \le \frac{1}{2}. $$

Suitable discretized (particularly, to distinguish automatically isomer triangles) these parameters are used at both stages, offline and online.

3.2 Proposed Algorithm

Indexing Stage

Input.

  1. 1.

    Model database \(\mathfrak {B}=\{T_j:\ j=1,\ldots ,N\}\).

  2. 2.

    Minimum accuracy level \(q\) for detected minutiae.

  3. 3.

    Maximum index values \(n_1,n_2,n_3\).

Output. Set-valued map \(h:\mathbb {Z}^3_q\rightarrow 2^{\mathfrak {B}\times \mathfrak {D}}\) (index table) defined on integer lattice

$$ [0,\ldots ,n_1]\times [0,\ldots ,n_2]\times [0,\ldots ,n_3] $$

as follows: any triple \((i,j,k)\) is assigned to the set of pairs \((T_o,\varDelta _t)\), where \(T_p\) is some model template and the triangle \(\varDelta _t\) is a facet of the Delaunay triangulation of \(\varPi _q(T_p)\) such that the discretized value of the vector \(\nu (\varDelta )\) is equal to \((i,j,k)\).

Identification (Query) Stage

Input.

  1. 1.

    A query template \(T\) and minimum accuracy level \(q\) for detected minutiae.

  2. 2.

    Index (hash) table \(h\).

  3. 3.

    Length \(L\) of the previously constructed hypothesis sample.

  4. 4.

    Threshold values \(\eta _1\), and \(\eta _2\).

  5. 5.

    Discretization parameters \(\sigma ,n_1,n_2\ldots \) for similarity transformations.

Output. A triple \((T_p,P_p,S_p)\), where \(T_p\) is extracted model (identification hypothesis), \(P_p\ge \eta _2\) is posterior probability of its matching with \(T\), and \(S_p\) is affine similarity transform assigning \(T\) to \(T_p\). If there is no model satisfying \(P_p\ge \eta _2\), then the query template \(T\) is rejected.

Scheme. The algorithm consists of two substages: pre-sampling of \(L\) most likely (to the query template) models and the final recognition.

  1. 1.

    Pre-sampling substage

    1. (a)

      Similar to the considerations above, to any triangulation facet \(\varDelta _t\) of the projection \(\varPi _q(T)\) (for the query template \(T\)), an appropriate index cell \((i_t,j_t,k_t)\) and the set \(h(i_t,j_t,k_t)\) are assigned.

    2. (b)

      For any triangle \(\delta _v\in h(i_t,j_t,k_t)\), an appropriate similarity transformation \(S_{tv}\) (mapping the vertices of \(\varDelta _t\) into corresponding vertices of \(\delta _v\)) is computed. The scaling parameter \(\lambda _{tv},\) the cosine \(\cos \varphi _{tv}\) of the rotation angle, and the translation vector \(b_{tv}\) are discretized and the corresponding model template \(T_v\) is added as an entry to the secondary index table along with its score. To compute this score we use the angles \(\alpha _i\) and \(\beta _i\) of papillary lines (w.r.t. cores of the initial fingerprints) at vertices of the both triangles \(\varDelta _t\) and \(\delta _v\) previously corrected by the angle of their mutual rotation. The resulting score

      $$ V_v=\prod _{i=1}^3e^{-(\varphi (\alpha _i,\beta _i))^2/\sigma ^2}, $$

      where \(\varphi (\alpha ,\beta )=\min \{\alpha -\beta \mod 2\pi , \beta - \alpha \mod 2\pi \}\).

    3. (c)

      Top \(L\) (according to gathered cumulative scores) hypotheses are extracted and ordered by decreasing of their scores (Fig. 2). If first two scores satisfy the condition \(V_1/V_2>\eta _1\), then the query template is accepted and is assigned to the first hypothesis. Otherwise the algorithm passes to the second substage.

  2. 2.

    Recognition substage

    1. (a)

      Let \(T_1,\ldots ,T_L\) be hypotheses extracted at the previous step. For each pair \((T,T_i)\), we apply the matching algorithm [19] and compute its matching score \(M_i\). Thus, we obtain the finite sequence

      $$\mathcal L=((V_i,M_i):i=1,\ldots ,L).$$
    2. (b)

      The sequence \(\mathcal L\) is considered as an input to the previously learned MAP classifier, which searches for the hypothesis \(T^*\) being a maximizer of the estimated posterior matching probability \(\eta ^*\). Further, if \(\eta ^*\ge \eta _1\), then the query template \(T\) is accepted and is assigned to the hypothesis \(T^*\); otherwise it is rejected.

Fig. 2.
figure 2

Query fingerprint S1678 and the most valuable hypothesis F1678

Fig. 3.
figure 3

CIP-index for \(\sigma =3\) and \(r=1.5\)

3.3 Learning and Testing

Training (tuning control parameters) and testing of the algorithm were made on the well-known NIST-4 Special Fingerprint Database, the respectable testing source for modern fingerprint verification/identification heuristics. By structure, this dataset consists of 2 K fingerprint pairs, for each of them both images (denoted by ‘\(fD_1D_2D_3D_4\)’ and ‘\(sD_1D_2D_3D_4\)’ for some positive integer \(D_1D_2D_3D_4\)) are obtained twice from the same finger.

We use this dataset for solving the following additional problems.

  1. 1.

    Proving the stability of the proposed indexing scheme w.r.t. small perturbations of the initial data, such as addition (deletion) of minutiae and modifications of their geometrical locations.

  2. 2.

    Discretization parameters tuning for primal and secondary indexing tables.

According to statistical reasons, the accuracy level for detected minutiae is fixed to \(q=64.\) In both problems, the subset the initial dataset consisting of 1923 (96 %) (f-image, s-image) pairs, where f-image produces a template with at least 50 minutiae, is chosen.

Proving the Stability. This kind of testing proceeds on the special synthetic dataset obtained from the mentioned above NIST-4 database. According to the well-known “white noise” model, to any f-image from the initial dataset, several perturbed models are assigned. For each perturbed model, the geometrical locations of the minutiae are modified by the rule \(x'_i=x_i+\xi _i, \ y'_i=y_i+\eta _i,\) where \(\xi _i\) and \(\eta _i\) are i.i.d. \(N(0,\sigma ^2)\) random variables. For an additional parameter \(r\in [1,2]\), a minutiae \((x'_i,y'_i,w_i)\) is included to perturbed template iif \(\xi _i^2+\eta _i^2\le r^2\sigma ^2\). Thus, to any initial model template a 20-element perturbed sample is assigned.

Fig. 4.
figure 4

CIP-analysis of several local search heuristics

Further, at the indexing stage, the initial templates are used as models and each perturbed template is identified by the algorithm proposed. Obtained numerical data confirm the known theoretically proved [18] stability result. Particularly, for \(\sigma =1\) and \(r\in [1.5,2]\) (from 33 % to 13 % of excluded minutiae in average), 100 % perturbed templates are classified correctly within \(L=1\). Increasing \(\sigma \) leads to increasing of the \(L\)-value, as expected. But the stability of the entire algorithm remains high. For instance, for \(\sigma =3\) and \(r=1.5\), the CIP-value for \(L=1\) is 77 %, and for \(L=10\) (0.5 % of the initial database), the more then 89 % (Fig. 3).

3.4 Tuning and Final Testing

For training (parameter tuning) a subset of 430 (21%) fingerprint pairs is used, where f-image possesses at least 100 minutiae of accuracy level 64, while the complement of this subset (to the entire dataset) is taken as a test sample. At the training stage, the parameters are tuned by several local search heuristics. The optimal values of parameters are \(8\times 8\times 8\) for the primal index table (hash) and \(17\times 17\times 17\times 47\) for the secondary (Fig. 4). To learn the MAP-classifier, the well-known \(k\)-fold cross-validation heuristic was applied.

To estimate the overall performance of the proposed algorithm, we conduct a comparative numerical experiment on the real fingerprint dataset provided by Prosoft Ltd. [20]. The performance results measured for ‘Suprema’ algorithm (on the same dataset) are taken as a baseline (Table 1). Following the well-known approach [1] to the comparative performance evaluation of identification algorithms, for each quality level \(q\) of query fingerprint images, parameters of both algorithms are tuned so that they have the same level of False Accept Rate (FAR). Further, the value of False Reject Rate (FRR) is used as an assessment of the algorithm’s performance (for a given \(q\)).

Table 1. Comparative analysis of the proposed (the first line) and Suprema (the second) algorithms w.r.t. the quality level \(q\) of model and query fingerprints

4 Discussion

A comprehensive comparative analysis of several known indexing techniques for fingerprint identification problem is presented in [2]. The algorithm with 85 % CIP value for \(L=0.1N\) is recognized the optimal among them. The indexing scheme used in this algorithm is based on considering all possible triangles with vertexes in minutiae locations, and time-complexity of its online stage is \(O(Nm^3)\). Our method has CIP value of \(82\pm 5\,\%\) for the same \(L\), while its time-complexity is \(O(Nm\log m)\) thanks to the Delaunay triangulation technique.

As shown in Table 1 for poor quality fingerprints, the identification performance of the algorithm ‘Suprema’ exceeds the performance of the proposed algorithm. At the same time, the proposed algorithm is essentially better when identifying fingerprints of good quality.

5 Conclusions

A new fingerprint identification algorithm combining the Delaunay triangulation indexing, cylinder minutiae coding, and MAP-learning is presented. By the numerical evaluation it is proved that performance of the proposed algorithm is similar to ‘Suprema’ algorithm, which is recognized as state-of-the-art in the fingerprint identification. ‘Suprema’ exceeds the proposed algorithm on fingerprints of low-level quality. Therefore, it seems possible that integration of the proposed algorithm with the more advanced image enhancement techniques can improve its overall performance.