Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Signature is a biometric characteristic (see e.g. [13, 17, 83,84,85,86,87]) which is easy to acquire and socially acceptable, so it is often used to develop effective systems for identity verification. In the literature there are two main types of the signatures. The first is called static signature (off-line). Analysis of this type of signature is based on its geometric features, such as shape, size ratios, etc. (see e.g. [3, 4, 43]). The second is called dynamic signature (on-line) and it contains information about dynamics of the signing process. The most commonly used signals, which are the basis of the dynamic signature analysis, include a signal of pen pressure on the tablet surface and a signal of pen velocity. The second one is determined indirectly on the basis of the signals describing a position of the pen on the tablet surface. There are also other types of available signals, but the method of their processing is analogous. Dynamic signature verification is much more effective than a static signature verification because: (a) dynamics of the signature is very individual characteristic of the signer, (b) it is difficult to forge, (c) waveforms describing the dynamics of the signature are difficult to translate into the process of signing, (d) waveforms describing the dynamics of the signature can be easily analyzed.

1.1 Approaches to the Dynamic Signature Analysis Proposed in the Literature

In the literature four main approaches to the analysis of the dynamic signature have been presented: (a) global feature based approach (see e.g. [28, 46, 53,54,55, 82, 88]), (b) function based approach (see e.g. [24, 36, 40, 42, 49, 56]), (c) regional based approach (see e.g. [11, 12, 25, 27, 34, 41, 61, 65]), (d) hybrid approach (see e.g. [16, 52, 57]). It should also be emphasized that the algorithms for analysis of the dynamic signature can be relatively easily used in other areas of biometric applications, which are based on the analysis of dynamic behavior (see e.g. [15, 21]). Among the four mentioned approaches to analyze the dynamic signature, the methods using global features deserve special attention (see e.g. [28, 44, 58, 59]). The literature in this field contains, among others, definitions of the global features, description of the features selection and classification algorithms based on the features. We encourage you to read the more detailed review of the literature on the dynamic signature verification, which has been presented in our previous papers (see e.g. [11, 12]).

1.2 Our Approach to the Dynamic Signature Analysis

In this paper we propose a new method for the dynamic signature verification based on global features, which stands out from the methods of other authors by the following characteristics:

  • It uses a genetic algorithm (see e.g. [1, 22, 50, 62, 67, 75, 79, 81]) for the individual selection of the features (for each signer), which among others eliminates the features decreasing the accuracy of the verification (we use our previous experiences on evolutionary algorithms, see e.g. [6]). Genetic algorithm belongs to the computational intelligence methods (see e.g. [19, 20, 23, 38, 39, 63, 64]) In the papers of other authors different methods for the global features selection have been described, but the selection has not been realized individually for each user (see e.g. [28, 53, 54]). The method proposed in this paper realizes this type of selection.

  • It determines individually for each signer weights of importance of the features and takes them into account in the process of the signature verification (we use the triangular norms with the weights of arguments, proposed by us earlier, see e.g. [71]). In the papers of other authors different methods for the determination of weights have been described, but it has not been realized individually for each user (see e.g. [28, 46, 55]).

  • It takes advantage of the fuzzy set theory and fuzzy systems in the process of the signature verification (we use our previous experiences in the field of the flexible fuzzy systems, see e.g. [9, 10, 48, 68,69,70, 72,73,74]). In this paper we propose a new way to use that system to the dynamic signature verification and a new method of its parameters selection. This method allows to avoid the so-called iterative machine learning (see e.g. [90]), which we used in our previous papers (these papers are not related to the dynamic signature verification, but they concerned different structures of the system, applications and methods of automatic selection of the structure and parameters). In the papers of other authors in the field of the dynamic signature verification we have not found this solution.

  • It allows to interpret the knowledge accumulated in the system used to the signature verification (we use our previous experiences in the field of interpretability of knowledge of fuzzy systems, see e.g. [5, 7, 8, 47, 48, 66, 76, 78, 89]). In the papers of other authors different methods for the dynamic signature verification have been described, but they were mainly focused on speed and accuracy. The algorithm proposed in this paper works in such a way that the processing method of the signatures and determination of the signatures descriptors (based on the values of global features) could be easily interpreted. This is an important advantage of the algorithm.

  • It does not require so-called skilled forgeries and reference signatures of other signers in the training phase (this is a big advantage in the considered group of methods). This is a consequence of properly designed evaluation function in used genetic algorithm. Some methods proposed by other authors requires reference signatures of other users or false signatures (so-called skilled forgeries) in the learning phase. This causes that the accuracy of the algorithm depends on the number of users stored in the database and the effectiveness of the so-called skilled forgers (false signatures created by them are available in popular databases of the signatures, which are used to compare efficiency of the verification methods). Moreover, it causes problems during practical implementation. The proposed method does not depend on the number of users in the database. It uses false signatures only in the testing phase. This is achieved through appropriately structured flexible fuzzy system, which is the one-class classifier.

  • It is distinguished by the independence of the used set of features which can be arbitrarily reduced or expanded. In other words, the proposed algorithm is flexible because it is not sensitive to the selection of the initial set of features. Methods of other authors are often highly dependent on the used set of features.

In the simulations we have used paid signature database BioSecure, distributed by the BioSecure Association (see [32]).

This paper is organized into four sections. In Sect. 2 we present description of the proposed algorithm for the signature verification based on global features. In Sect. 3 simulation results are presented. Conclusions are drawn in Sect. 4.

2 Description of the Fuzzy-Genetic Approach for Signature Verification

The proposed method consists of two phases: learning (training on the basis of the reference signatures) and testing (verification of the test signature). In the first phase the selection of features is performed individually for each signer, descriptors of features and weights of importance of features are determined. They are needed for a proper work of the classifier in the test phase. These parameters are stored in a database. In the second phase parameters stored for each signer in the learning phase are downloaded from the database. Next, verification of signatures is realized on the basis of these parameters. In the remainder of this section, learning procedure (Sect. 2.1) and signature verification procedure (Sect. 2.2) have been described.

2.1 Description of the Learning Phase

This section describes steps of the algorithm executed in the learning phase.

Step 1 The learning phase starts by acquiring J reference signatures of the signer i. Different types of tablets may have a different sampling frequency thus acquired signatures should be normalized. In the normalization procedure for each user the most typical reference signature, called base signature, is selected. It is one of the reference signatures collected in the acquisition phase, for which a distance to the other reference signatures is the smallest. The distance is calculated according to the adopted distance measure (e.g. Euclidean). Training or testing signatures are matched to the base signature using the Dynamic Time Warping algorithm (see e.g. [2, 26, 77]), which operates on the basis of matching velocity and pressure signals. The result of matching of two signatures is a map of their corresponding points. On the basis of the map, trajectories of the signatures are matched. Matching using DTW could not be done directly with the use of trajectories, because this would remove the differences between the shapes of the signatures. It would have a very negative impact on training. Elimination of differences in rotation of signatures is performed by the PCA algorithm which in the literature is commonly used to make the images rotation invariant (see e.g. [31]). A more detailed description of the normalization techniques can be found in the literature (see e.g. [35, 45, 60]).

Step 2 In this step of the algorithm, the matrix \(\mathbf{{G}}_i\) is determined. The matrix contains values of all global features which describe the dynamics of the reference signatures of the signer i. It has the following structure:

$$\begin{aligned} {\mathbf{{G}}_i}=\left[ {\begin{array}{*{20}{c}} {{g_{i,1,1}}}&{}\ldots &{}{{g_{i,N,1}}}\\ \vdots &{}{}&{} \vdots \\ {{g_{i,1,J}}}&{}\ldots &{}{{g_{i,N,J}}} \end{array}}\right] , \end{aligned}$$
(1)

where I is a number of the signers, J is a number of the signatures created by the signer in the acquisition phase, N is a number of used global features, and \(g_{i,n,j}\) is a value of the global feature n, \(n=1,\ldots , N\), determined for the signature j, \(j=1,\ldots , J\), created by the signer i, \(i=1,\ldots , I\). Method of determining values of 85 global features used by us in the simulations has been described in detail in [28] and it will not be considered in this paper.

Step 3 In this step of the algorithm, the vector \({{\bar{\mathbf{g}}}}_i=\left[ {\bar{g}_{i,1},\ldots ,{\bar{g}}_{i,N}}\right] \) is determined, where \(\bar{g}_{i,n}\) is an average value of n-th global feature of all J reference signatures of the signer i:

$$\begin{aligned} {\bar{g}_{i,n}}=\frac{1}{J}\cdot \sum \limits _{j=1}^J {{g_{i,n,j}}}. \end{aligned}$$
(2)

Step 4 In this step of the algorithm, evolutionary selection of subset of global features takes place. The subset contains features which are the most characteristic for the signer i (procedure Evolutionary Features Selection (\(\mathbf{{G}}_i,\) \({\bar{\mathbf{g}}}_\mathbf{i}\))). Evolutionary algorithm is a method modelled on natural evolution for solving problems, mainly optimization ones. It is the search procedure based on the mechanisms of natural selection and inheritance. It uses the evolutionary principle of survival of the fittest individuals. Evolutionary algorithms differ from traditional optimization methods, among others, in that: (a) they do not process the task parameters directly, but their encoded form, (b) they start a search not from a single point, but from the population of points, (c) they use only the objective function, not its derivatives, (d) they use probabilistic rather than deterministic selection rules. As a result, they have the advantage over other optimization techniques, for example analytical methods, random methods, etc. (see e.g. [67]). Procedure Evolutionary Features Selection (\(\mathbf{{G}}_i,\) \({\bar{\mathbf{g}}}_\mathbf{i}\)) randomly generates an initial set of so-called chromosomes, which form a population of abundance Ch. Each of them specifies other subset of features. The chromosome is denoted as the vector \(\mathbf{{x}}_{i,ch}=\left[ {x_{i,ch,1},\ldots ,x_{i,ch,N}}\right] \), where \({x_{i,ch,g}}\in \left\{ {0,1}\right\} \) indicates whether feature g (\(g=1,\ldots ,N\)) encoded in the chromosome ch (\(ch=1,\ldots ,Ch\)) will be used to verify the signature of the signer i (1-it will be used, 0-it will not be used). Next, the evaluation of the chromosomes adaptation is performed and operators of crossing and mutation are applied to the chromosomes. These genetic operators provide exploitation and exploration of the searching space of the features. This action is repeated within the next steps, so-called generations (number of generations is a parameter of the algorithm). Thanks to the use of genetic operators, chromosomes in each subsequent generation have got a better value of the evaluation function (a way of its determination is given in the Sect. 2.1.2). This means that encoded subset of features is becoming more characteristic for the considered signer i. From the population of chromosomes, in the latest generation chromosome with the smallest value of the evaluation function is selected (the best for minimization function). The selected chromosome encodes an evolutionarily selected subset of features. It is rewritten to the vector \(\mathbf{{x'}}_i\).

Step 5 In this step of the algorithm, determination of the reduced matrix of global features \(\mathbf{{G'}}_i\) and reduced vector \({{\bar{\mathbf{g}}}'_{i}}\) of average values of global features is performed. They are created taking into account the vector \(\mathbf{{x'}}_{i}\), therefore they contain only information about those features which have been evolutionarily selected for the signer i. A number of columns of the vector \({{\bar{\mathbf{g}}'}}_i\) and the matrix \(\mathbf{{G'}}_i\) is \(N_i'\), where \(N_i' \le N\) is a number of features selected for the signer i.

Step 6 In this step of the algorithm, calculation of the classifier parameters used in the test phase is performed. This procedure is called Classifier Determination (\(i,{\mathbf{x}^{\prime }_{i}},{\mathbf{G}^{\prime }_{i}},{{\bar{\mathbf{g}}}^{\prime }_{i}}\)) and it has been described in the Sect. 2.1.3. In particular, distances \({maxd}_{i,n}\) and weights \({w}_{i,n}\) (\(i=1,\ldots , I\), \(n=1,\ldots , N'_i\)) are determined individually for the signer i. Each parameter \({maxd}_{i,n}\) determines instability of signing of the signer i in the context of the feature n. Its value is dependent on the variability of the feature. Each weight \(w_{i,n}\) describes importance of the global feature n.

Step 7 In the last step of the algorithm, the following information about the signer i are stored into a database: the vector \(\mathbf{{x'}}_{i}\), the vector \({{\bar{\mathbf{g}}}'_{i}}\), and parameters of the classifier \({maxd}_{i,n}\) and \({w}_{i,n}\). Training phase for the signer i: (a) proceeds similarly to all signers, but for each signer regardless, (b) in practice is performed once for each signer.

2.1.1 Evolutionary Features Selection

A purpose of the procedure Evolutionary Features Selection (\(\mathbf{{G}}_i,\) \(\mathbf {\bar{g}}_\mathbf{i}\)) is the choice of such a subset of features whose values determined for the reference signatures of the signer i are similar to each other. This is not an easy task, because e.g. for 85 features (the number of features which we used in the simulations) the number of combinations is over \(38\,\times \,{10^{24}}\) (exactly it is \(\mathop \sum \limits _{n=1}^N N!/\left( {n!\cdot \left( {N-n}\right) !}\right) \)). It is expected that the evolutionary algorithm finds a subset of the features close to the optimum in acceptable time. Considered procedure works according to the algorithm shown in Fig. 1. At the beginning, random initialization of the vectors \(\mathbf{{x}}_{i,ch}\) takes place. The vectors are interpreted as chromosomes in the population encoding subsets of the features. Next, evaluation of chromosomes by determining the values of their adaptation function is performed (see Sect. 2.1.2). Having the values of the adaptation function the stop condition of the algorithm is checked. It takes into account the achievement of the threshold value by the function or execution by the algorithm a certain number of generations. If the stop condition is satisfied, then the evolutionary feature selection procedure terminates and returns the best chromosome from the population. It rarely takes place immediately after the initialization of the population, so the population must be processed in a process of evolution. Its first step is a draw of the individuals in order to apply genetic operators to them. A typical method of individuals selection is e.g. the tournament selection (see e.g. [51, 67]). In this method a few chromes are drawn from the entire population. These chromosomes create so-called tournament group and the chromosome having the best fitness function value is selected from them. Then, another tournament group is created and one chromosome from it is selected. This process is repeated until a new population is created. Next, pairs of chromosomes exchange genes (crossing is applied) at random points and finally some randomly selected genes of the chromosomes mutate (their value changes from 0 to 1 or vice versa). The algorithm takes into account a probability of crossover and mutation, which are its parameters. In this way, the parent population form descendant population, which again is evaluated and the process is repeated.

Fig. 1
figure 1

Scheme of the procedure Evolutionary Features Selection (\(\mathbf{{G}}_i,\) \({\bar{\mathbf{g}}}_i\))), consistent with the scheme of the genetic algorithm

Operation of the procedure Evolutionary Features Selection (\(\mathbf{{G}}_i,\) \({\bar{\mathbf{g}}}_i\)) is dependent on the following parameters:

  • Size of the population (number of chromosomes). It specifies the number of features subsets processed in a single step of the algorithm (so-called single generation).

  • Number of generations. It specifies the maximum number of steps S in the evolutionary feature selection algorithm for a single user.

  • Crossover probability. It is a real number in the range [0, 1] and determines the intensity of the crossing (gene exchange) between chromosomes. For each randomly selected pair of chromosomes selected in the tournament method, a real number in the range [0, 1] is drawn. If the number is less than the crossover probability, an exchange of genes between the chromosomes is performed. Moreover, the number of the crossing points is also associated with this operation. At these points a “cut” of binary chromosomes is performed. This process precedes the genes exchange.

  • Mutation probability. It is a real number in the range [0, 1] and determines the intensity of chromosomes mutation. For each gene of each chromosome a real number in the range [0, 1] is drawn. If the number is less than the mutation probability, the value of the gene is changed to the opposite, i.e. from 0 to 1 and vice versa. A detailed description of the algorithm can be found, among others, in [51, 67].

We would like also to emphasize that the originality of the proposed approach results from a specific way of determining the evaluation function of chromosomes from the population (Calculate Ff (\(\mathbf{{G}}_i,{\bar{\mathbf{g}}}_i,\mathbf{{x}}_{i,ch}\))). Evaluation of the chromosomes is based on the similarity of features for the reference signatures created in the training phase (described in Sect. 2.2).

2.1.2 Determination of Fitness Function

In the determination of the fitness function of the chromosome, the following parameters are taken into account:

  • \(\mathbf{{G}}_i\)—a matrix of all global features values, determined for all reference signatures of the signer i,

  • \({{\bar{\mathbf{g}}}}_i\)—a vector of average values of global features, averaged in the context of all reference signatures of the signer i,

  • \(\mathbf{{x}}_{i,ch}\)—a chromosome with index ch in the population associated with the signer i, for which the value of the evaluation function is calculated. In the considered procedure (and only in this procedure) will be used reduced versions of the mentioned parameters: \({N^*}\), \({\mathbf{{G}}^*}=\left[ {\mathbf{{g}}_{j=1}^*,\ldots ,\mathbf{{g}}_{j=J}^*}\right] \), and \({\bar{\mathbf{g}}^*}\). They were created on the basis of the values of the vector \(\mathbf{{x}}_{i,ch}\) in the same way as previously described parameters: \({N'_i}\), \(\mathbf{{G'}}_i\), and \({\mathbf{{\bar{g}'}}_i}\) (on the basis of the vector \(\mathbf{{x'}}_{i}\)).

Considered method Calculate Ff (\(\mathbf{{G}}_i,{{\bar{\mathbf{g}}}}_i,\mathbf{{x}}_{i,ch}\)) starts by determination of the covariance matrix for the matrix of all global features (Step 1). Covariance \({\mathrm{cov}} \left( {\mathbf{G}^*}\right) \) is a measure of the linear correlation between global features values of the reference signatures \({\mathbf{G}^*}\) of the signer i (created in the acquisition phase). In the Step 2 of the algorithm, determination of the vector of Mahalanobis distances (see e.g. [14]) \(\mathbf{{m}}\) is performed. It contains distances between the vector of average values of the global features \({\bar{\mathbf{g}}^*}\) and the matrix of the global features values \({\mathbf{{G}}^*}\) represented by the vectors \({\mathbf{{g}}_{j}^*}\), \(j=1,\ldots , J\):

$$\begin{aligned} {m_j}=\sqrt{\left( {{\mathbf{{g^*}}_j}-{{\bar{\mathbf{g}}^*}}}\right) {{\left( {\mathrm{{cov}}(\mathbf{{G^*}})}\right) }^{-1}}{{\left( {{\mathbf{{g^*}}_j}-{{\bar{\mathbf{g}}^*}}}\right) }^T}}. \end{aligned}$$
(3)

Mahalanobis distance well defines the similarity of the selected features vector of the reference signature j (features indicated by the tested chromosome) \({\mathbf{{g}}^{*}}_{j}\) to the vector of average values of these features \({\bar{\mathbf{g}}^{*}}\). It takes into account their mutual correlation and individual variance (expressed by the arithmetic mean of the squared deviations from the arithmetic mean). It should be noted that for each subset of features J distances are determined. The subset of features associated with the lowest distance is the most valuable for the signer i in the training phase. In the last step of the algorithm (Step 3), determination of the evaluation function of the chromosome \(\mathbf{{x}}_{i,ch}\) is performed:

$$\begin{aligned} {\mathrm{ff}} \left( {\mathbf{{x}}_{i,ch}}\right) =\frac{1}{J}\cdot {\sum \limits _{j=1}^J {m_{j}}}. \end{aligned}$$
(4)

Lower value of the fitness function \(\mathrm{{ff}}\left( {{\mathbf{{x}}_{i,ch}}}\right) \) means that the chromosome \(\mathbf{{x}}_{i,ch}\) is “better” (subset of global features encoded in the chromosome \(\mathbf{{x}}_{i,ch}\) is the most characteristic for the signer i).

2.1.3 Determination of the Classifier Parameters

In the procedure described in this section only individually selected (for the signer i) dynamic signature features are considered (there are \({N'_i}\) features). It means that in determination of the classifier parameters only the matrix \(\mathbf{{G'}}_i\) and the vector \({{{\bar{\mathbf{g}}'}}_i}\) are taken into account.

Procedure Classifier Determination (\(i,{\mathbf{{x'}}_i},{\mathbf{{G'}}_i},{{{\bar{\mathbf{g}}'}}_i}\)) starts by determination of Euclidean distances \(d_{i,n,j}\) between each global feature n encoded in the chromosome \(\mathbf{{x'}}_{i}\) and average value of the global feature for all J signatures of the signer i (Step 1):

$$\begin{aligned} {d_{i,n,j}}=\left| {{{\bar{g}}_{i,n}}-{g_{i,n,j}}}\right| . \end{aligned}$$
(5)

In the Step 2 of the considered procedure, selection of maximum distance for each global feature n is performed (from distances determined in the Step 1):

$$\begin{aligned} maxd_{i,n}=\mathop {\max }\limits _{j=1,\ldots ,J} \left\{ {d_{i,n,j}}\right\} . \end{aligned}$$
(6)

If reference signatures are more similar to each other, the tolerance of our classifier is lower, because \(maxd_{i,n}\) takes smaller values. In the Step 3 of the considered procedure, computation of weights \(w_{i,n}\) is performed. Each weight is calculated on the basis of standard deviation of n-th global feature of the signer i and average value of distances for n-th feature of the signer i:

$$\begin{aligned} {w_{i,n}}=1-\frac{{\sqrt{\frac{1}{J}\cdot \sum \limits _{j=1}^J {{d_{i,n,j}}^2}}}}{{\frac{1}{J}\cdot \sum \limits _{j=1}^J {{d_{i,n,j}}}}}. \end{aligned}$$
(7)

It should be emphasized that the distances and the weights are used in the classification process of the signature.

2.2 Description of the Signatures Verification Phase

The purpose of the signatures verification phase is to determine whether the tested signature, which belongs to a signer claiming to be the signer i, in fact belongs to the signer i. In the Step 1 of the procedure a signer, whose identity should be verified, creates one test signature. In this step he also claims his identity as i. As in the case of the learning phase, the signature has to be geometrically pre-processed. In the Step 2 of the procedure, the following information are downloaded from the database: information about selected features of the signer i (\(\mathbf{{x'}}_{i}\)), average values of this features calculated during training phase (\(\mathbf{{\bar{g}}}_i\)) and classifier parameters of the signer i (\(maxd_{i,n}\), \(w_{i,n}\)). In the Step 3 of the procedure, determination of the values of the global features \(gtst_{i,n}\), \(n=1,\ldots , N'_i\), for the test signature is performed. The values refer to the features which have been selected as the most characteristic for the signer i in the training phase. In the Step 4 of the procedure, similarities of global features values of the test signature to the average values of the global features for the reference signatures are determined:

$$\begin{aligned} {dtst_{i,n}}=\left| {{{\bar{g}}_{i,n}}-{gtst_{i,n}}}\right| . \end{aligned}$$
(8)

In the last step (Step 5) of the procedure, the verification of the test signature using one-class flexible fuzzy classifier of the Mamdani type (Sect. 2.2.2) is performed. Its structure is described in the next section. Values of the signals \(dtst_{i,n}\) determined in the Step 4 are given at the input of the system.

2.2.1 A New One-Class Flexible Fuzzy Classifier

In the signature verification value of the variable \(dtst_{i,n}\) is considered. It refers to the similarity between values of the test signature global features and average values of these features determined for the reference signatures. It has an imprecise nature and it is difficult to describe with classical theory of sets and two-valued logic. Therefore, we have used the theory of fuzzy sets and we described values the “high similarity” and “low similarity” using fuzzy sets. Then we have formulated clear fuzzy rules and used approximate inference. As a result, we have obtained a complete fuzzy system which for values of similarities \(dtst_{i,n}\) (\(n=1,\ldots , N'_i\)) given on inputs determines the similarity of the values of evolutionary selected features of the test signature to the values of the reference signatures global features. In the proposed method it is the basis for evaluation of the reliability of the signature in Sect. 2.2.2. Our system for signature verification works on the basis of two fuzzy rules in the form:

$$\begin{aligned} \left\{ {\begin{array}{ccc} {\left[ {\begin{array}{ccc} \mathrm{IF}\left. {\left( {dts{t_{i,1}}\mathrm{is}}A_{i,1}^1\right) }\right| {w_{i,1}}\mathrm{{AND}}\ldots \\ {\ldots \mathrm{AND}}\left. {\left( {dts{t_{i,{{N'}_i}}}\mathrm{is}}A_{i,{{N'}_i}}^1\right) }\right| {w_{i,{{N'}_i}}}\mathrm{THEN}{y_i}\mathrm{is}{B^\mathrm{1}} \end{array}}\right] }\\ {\left[ {\begin{array}{ccc} {\mathrm{IF}}\left. {\left( {dts{t_{i,1}}\mathrm{is}}A_{i,1}^2\right) }\right| {w_{i,1}}\mathrm{AND}\ldots \\ {\ldots \mathrm{AND}}\left. {\left( {dts{t_{i,{{N'}_i}}}\mathrm{is}}A_{i,{{N'}_i}}^2\right) }\right| {w_{i,{{N'}_i}}}\mathrm{THEN}{y_i}\mathrm{is}{B^\mathrm{2}} \end{array}}\right] } \end{array}}\right. , \end{aligned}$$
(9)

where:

  • \({dtst}_{i,n}\), \(i=1,\ldots , I\), \(n=1,\ldots , N'_i\), are input linguistic variables (see e.g. [18, 30]) indicating the “similarity between the values of the global feature n of the test signature and the average values of the global feature defined for the reference signatures of the signer i”. Values “high” and “low” assumed by these variables are Gaussian fuzzy sets \(A{_{i,1}^1},\ldots , A{_{i,N'_i}^1}\) and \(A{_{i,1}^2},\ldots , A{_{i,N'_i}^2}\) (see Fig. 2), described by the membership functions \({\mu _{A_{i,n}^1}}\) and \({\mu _{A_{i,n}^2}}\). In the case when a fuzzification of the singleton type is used, input linguistic variables can be considered as input signals of the system, which are determined using the formula (8).

  • \(y_i\), \(i=1,\ldots , I\), is output linguistic variable “similarity between the values of the selected evolutionary global features of the test signature and the features of the reference signatures of the signer i”. Value “high” assumed by this variable is the fuzzy set \(B^1\) of the \(\gamma \) type, value “low” is the fuzzy set \(B^2\) of the L type (see Fig. 2). Sets \(B^1\) and \(B^2\) are described by the membership functions \({\mu _{B^1}}\) and \({\mu _{B^2}}\) (see e.g. [67]).

  • \(maxd_{i,n}\), \(i=1,\ldots , I\), \(n=1,\ldots , N'_i\), can be equated with the border values of features of individual signers (calculated by the formula (6)) and \(w_{i,n}\) are weights of importance related to the global feature number n of the signer i (calculated by the formula (7)).

Fig. 2
figure 2

Input and output fuzzy sets of the one-class flexible fuzzy classifier of the Mamdani type for signature verification of the signer i

2.2.2 Signature Verification

In the proposed method, the test signature is recognized as belonging to the signer i (genuine) if the assumption \({{\bar{y}}_i}>ct{h_i}\) is satisfied, where \(\bar{y}_i\) is the value of the output signal of fuzzy system described by the rules (9):

$$\begin{aligned} \begin{array}{lll} {{{\bar{y}}_i}=} {\frac{{{T^*}\left\{ {\begin{array}{ccc} {{\mu _{A_{i,1}^1}}\left( {dts{t_{i,1}}}\right) ,\ldots ,{\mu _{A_{i,{{N'}_i}}^1}}\left( {dts{t_{i,{{N'}_i}}}}\right) ;}\\ {{w_{i,1}},\ldots ,{w_{i,{{N'}_i}}}} \end{array}}\right\} }}{{\left( {\begin{array}{ccc} {{T^*}\left\{ {\begin{array}{ccc} {{\mu _{A_{i,1}^1}}\left( {dts{t_{i,1}}}\right) ,\ldots ,{\mu _{A_{i,{{N'}_i}}^1}}\left( {dts{t_{i,{{N'}_i}}}}\right) ;}\\ {{w_{i,1}},\ldots ,{w_{i,{{N'}_i}}}} \end{array}}\right\} +}\\ {{T^*}\left\{ {\begin{array}{ccc} {{\mu _{A_{i,1}^2}}\left( {dts{t_{i,1}}}\right) ,\ldots ,{\mu _{A_{i,{{N'}_i}}^2}}\left( {dts{t_{i,{{N'}_i}}}}\right) ;}\\ {{w_{i,1}},\ldots ,{w_{i,{{N'}_i}}}} \end{array}}\right\} } \end{array}}\right) }},} \end{array} \end{aligned}$$
(10)

where:

  • \(T^*\left\{ \cdot \right\} \) is the algebraic weighted t-norm (see [6, 71]) in the form:

    $$\begin{aligned} \begin{array}{lll} {{T^*}\left\{ \begin{array}{c} {a_1},{a_2};\\ {w_1},{w_2} \end{array}\right\} =T\left\{ {\begin{array}{ccc} {1-{w_1}\cdot \left( {1-{a_1}}\right) ,}\\ {1-{w_2}\cdot \left( {1-{a_2}}\right) } \end{array}}\right\} }\\ {\mathop {{=}}\limits ^{\mathrm{e.g.}}. \left( {1-{w_1}\cdot \left( {1-{a_1}}\right) }\right) \cdot \left( {1-{w_2}\cdot \left( {1-{a_2}}\right) }\right) ,} \end{array} \end{aligned}$$
    (11)

    where t-norm \(T\left\{ \cdot \right\} \) is a generalization of the usual two-valued logical conjunction (studied in classical logic), \(w_1\) and \(w_2\in \left[ 0,1\right] \) mean weights of importance of the arguments \(a_1, a_2\in \left[ 0,1\right] \). Please note that \(T^*\left\{ {a_1,a_2; 1,1}\right\} =T \left\{ {a_1,a_2}\right\} \) and \(T^*\left\{ {a_1,a_2; 1,0}\right\} =a_1\).

  • \(cth_i\in \left[ {0,1}\right] \)—coefficient determined experimentally for each signer to eliminate disproportion between FAR (False Acceptance Rate) and FRR (False Rejection Rate) error (see e.g. [80]).

Table 1 Performance comparison of our method with other methods using BioSecure database

Formula (10) was established by taking into account in the description of system simplification resulting from the spacing of fuzzy sets, shown in Fig. 2:

$$\begin{aligned} \left\{ {\begin{array}{ccc} {{\mu _{{B^1}}}\left( 0\right) =0,{\mu _{{B^1}}}\left( 1\right) =1}\\ {{\mu _{{B^2}}}\left( 0\right) =1,{\mu _{{B^2}}}\left( 1\right) =0} \end{array}}\right. . \end{aligned}$$
(12)

Detailed information about the system described by the rules in the form (9), which allow to easily derive the relationship (10) on the basis of the assumption (12), can be found e.g. in [5, 6, 8, 71, 73].

2.2.3 Interpretability of the Classifier Knowledge

In the literature one can find the conditions that must be met by the rules of the fuzzy systems, which cause that the rules are clear. For example, in the paper [29] 4 interpretability levels have been presented (complexity at the rule base level, complexity at the level of fuzzy partitions, semantics at the rule base level, semantics at the fuzzy partition level). The rules in the form (9) meet defined levels. Moreover, it is worth to note that in the proposed method: (a) all parameters of the rules are determined analytically and they have their own interpretation, (b) the rules have the same form for all signers but different values of the parameters.

2.3 Description of the Computational Complexity

In practice, the learning phase of the algorithm is performed once for each user and the testing phase (signature verification) can be performed multiple times. A decisive influence on the computational complexity of the learning phase has a complexity of used genetic algorithm (see Table 2). In turn, a way of determining the global features has a decisive influence on the computational complexity of the testing phase (minimal in practice) (see Table 2). Implementation details of the proposed algorithm have not been considered in the paper, but a need to start the process of evolution once for each user in the learning phase should not be a problem in the practical implementation of the algorithm. However, if there is a need of processing a very large number of users registering to the system at the same time, the algorithm could be run in a parallel server environment. Another solution could be queuing of tasks associated with an automatic evolutionary selection of features.

Table 2 Computational complexity of the proposed algorithm

3 Simulation Results

Simulations were performed using commercial BioSecure database which contains signatures of 210 signers. The signatures were acquired in two sessions using the digital graphic tablet. Each session contains 15 genuine signatures and 10 skilled forgeries per person. During training phase we used 5 randomly selected genuine signatures of each signer. During test phase we used 10 remaining genuine signatures and all 10 skilled forgeries of each signer. The process was performed five times, and the results were averaged. The described method is commonly used in evaluating the effectiveness of methods for the dynamic signature verification and it corresponds to the standard cross validation procedure. The test was performed using the authorial testing environment implemented in C# language. During the simulations the following assumptions have been adopted: (a) population contains 100 chromosomes, (b) algorithm stops after the lapse of a determined number of 1000 generations, (c) during selection of chromosomes tournament selection method is used, (d) crossover is performed with probability equal to 0.8 at three points, (e) mutation is performed for each gene with probability equal to 0.02. Details concerning the interpretation of these parameters can be found, among others, in [51, 67].

Fig. 3
figure 3

Percentage frequency of selection of the global features of the signature in the context of all signers for BioSecure database

Conclusions of the simulations can be summarized as follows:

  • The proposed method for the considered BioSecure database works with high accuracy in comparison with the methods presented in the Table 1 and in the paper [33]. The comparison criterion was the value of the error EER (Equal Error Rate), which is commonly used to evaluate the accuracy of biometric methods (see e.g. [24, 42]). In practice, also other measures, such as e.g. \(d'\), can be used in assessing the effectiveness of the biometric systems (see e.g. [37]). The \(d'\) measures the separation between the means of the genuine and impostor probability distributions in standard deviation units. Its mean value, averaged for five test sessions and all signers, is equal to 7.58 for the BioSecure database.

  • In simulations a common value of \(cth_i=0.45\) was used for all signers. We adopted the assumption that the number of false acceptance should be close to the number of false rejection. If the algorithm working in practice has to be e.g. more sensitive to false acceptance (e.g. in high security systems), value of \(cth_i\) should be higher than 0.45.

  • The considered set of features does not contain features selected to verify signature of all signers (see Fig. 3). However, there are those which were not selected at all. Their names are not given, because the verification of a usefulness of the features in the context of the database BioSecure was not our goal. It should be noted that use of all available features causes increasing of ERR value to 3.56%.

4 Conclusions

In this paper we have proposed a new fuzzy-genetic biometric method for the dynamic signature verification using global features. It is based on the appropriately designed evaluation function of the genetic algorithm. It is used for individual choice of a subset of the global features which are the most characteristic for the reference signatures of the considered signer. Moreover, the proposed method determines the weights of importance of the evolutionarily selected global features and uses them in the classification process. It is also worth noting that the proposed algorithm works independently of the initial set of features, works without access to the so-called skilled forgeries and uses the capabilities of the fuzzy one-class classifier, whose knowledge can be interpreted. We would also like to emphasize that the proposed method worked with very high accuracy for the BioSecure signature database in comparison to the methods of other authors (described in the available positions of the literature).

In our further research in the field of the dynamic signature verification we are planning to take care of, among others, research about the relationship between the dynamic signature verification accuracy and the number of the global features used in the verification.