Keywords

1 Introduction

The dynamic signature is a biometric attribute which is commonly used for identity verification of an individual. However, this process, which is also referred to in the literature as signature verification, is very difficult to perform. This results from the fact that the signature is characterized by a relatively high intra-class variation and is likely to change over time. Due to this, as the literature shows, there are a number of approaches allowing to determine the most characteristic descriptors of the signature for an individual user (see e.g.  [13]). Their use makes the signature verification process more efficient.

The dynamic signature can be acquired by using various digital input devices, e.g. graphic tablets or smartphones, so no expensive sensors are necessary to obtain this biometric attribute. This kind of signature is described by signals which change over time, e.g. the pen position, pen pressure, instant pen velocity, pen tilt angle, etc. These signals contain a lot of important data which are characteristic of an individual user; however, the information should be properly extracted using appropriate signal processing methods.

1.1 Motivation

Typical signals constituting the stylus input in on-line signature identity verification are the stylus velocity, pressure on the tablet surface, its angle to the tablet surface, and their derivative signals as well  [13]. Processing of these signals in the context of the dynamic signature verification is not easy. This results, among others, from the fact that the signature verification should take into account the result of an analysis of many available signals describing the signing process. The problem consists in a proper aggregation of the results of this analysis. In the previous works, the authors dealt with this using the division of signals into parts (partitions). The boundary values between these parts were properly calculated with the use of the arithmetic mean  [2, 3, 10]. In this case, it was difficult to process the signatures or their parts that were different from the others. However, this situation is typical because users at the stage of the acquisition of reference signatures create several signatures and some of them may differ from others. In this paper, this problem has been reduced by using a population-based algorithm. The purpose of this algorithm is to divide signatures without the use of the arithmetic mean. This allows us to optimize the division of the signatures into parts, and the expected effect should lead to an increase in the accuracy of the method. In such a procedure of dividing the signatures into parts, one should additionally consider the fact that this procedure must be implemented independently for each user from the database. Therefore, it is needed to ensure that the signature descriptors of individual users differ from one another, but are similar to one another as much as possible in the context of different signatures provided by the same user  [8, 12, 18]. The method proposed in this work meets this very condition.

1.2 Novel Elements of the Proposed Approach

In this paper, we propose a new method for dynamic signature signals processing using population-based vertical partitioning. In this method the signature is divided into regions, called partitions, which contain the most characteristic information about the way in which an individual user writes his/her signature. The signature descriptors which are used in the identity verification process are created in the partitions. As previously mentioned, this approach makes it easier to map the specifics of reference signatures of individual users. In this method the signatures differing from the others, or their fragments, do not determine the value of signature descriptors. The method proposed in this paper can be used as a part of the classic approach to the signature verification which we proposed earlier  [2] to create more characteristic partitions for an individual and to increase verification efficiency. The method presented in  [2] is not focused on signals processing for selecting the most characteristic partitions which are created always in the same way using predefined division points of the signals. The approach offered in this paper consisting in using a population-based algorithm for vertical partitioning has not yet been presented in the literature, thus making this approach a novel one.

1.3 Structure of the Paper

This paper is organized into five sections. Section 2 contains a description of the idea of the signature verification using vertical partitioning. Section 3 presents a description of the signal processing method presented in this paper. Section 4 shows the simulation results, and Sect. 5 contains the conclusions.

2 Idea of the Signature Verification Using Vertical Partitioning

In this section, we present a general idea of the method for the dynamic signature verification used in this paper. Our method involves processing signature signals and dividing them into partitions characteristic of an individual using a population-based Differential Evolution algorithm, creating signature descriptors in the partitions, and using them by the one-class fuzzy classifier to perform the signature verification. The details of the algorithm are presented below.

The dynamic signature verification system works in two phases – the learning phase (see Fig. 1) and the test (verification) phase. In the learning phase, the user creates a few signatures, which should be pre-processed in order to match their length, rotation, scale and offset. This is realized by commonly known methods (see e.g.  [7, 10]). For example, matching of the signals’ length is performed using the Dynamic Time Warping algorithm  [14] which uses different signals s describing the dynamics of the signing process to align the signatures. This alignment is not performed directly on the signals describing the shape so as to avoid losing characteristic features describing the shape of the signature. It is worth noting that many different signals can be used to match the length of the signatures.

Fig. 1.
figure 1

Learning phase of the dynamic signature verification algorithm.

Next, the signals of the signature are processed to create R vertical partitions. The number of partitions is dependent on the number of signals Ns used for the alignment of the signatures in the pre-processing phase and it equals \(2\cdot Ns\). This is due to the fact that we can align the signature using different signals describing its dynamics. Partitioning of the signature is realized by selecting division points of the signals describing the signature. In our algorithm, this process is performed using a population-based algorithm. After the selection of division points, each signature is divided into two parts-the initial and final parts of the signing process. The details concerning the partitioning algorithm are presented in Sect. 2.

After creating the partitions, the templates of signature trajectories are created in the partitions. They represent the shape of the genuine signatures of an individual user in the created partitions. Templates \(\mathbf{{t}}_{i,r}^{\left\{ {s,a}\right\} }=[t_{i,r,k=1}^{\left\{ {s,a}\right\} },t_{i,r,k=2}^{\left\{ {s,a}\right\} },...,\) \(t_{i,r,k=K_{i,r}^{\left\{ s\right\} }}^{\left\{ {s,a}\right\} }]\) are also used in the signature verification phase to compare the test signature to the reference signatures (k is the index of a signal sample in the partition, \(K_{i,r}^{\left\{ {s}\right\} }\) is the number of samples in partition r of user i created after alignment of the signature on the basis of signal s, a is the shape trajectory used for creating the template). Their components \(t_{i,r,k}^{\left\{ s,a\right\} }\) are determined as follows:

$$\begin{aligned} t_{i,r,k}^{\left\{ s,a\right\} }=\frac{1}{J}\sum \limits _{j=1}^J {a_{i,j,r,k}^{\{s\}}}, \end{aligned}$$
(1)

where J is the number of the reference signatures created in the learning phase and \(a\in \left\{ {x,y}\right\} \) represents the value of the trajectory signal of signature j of user i in partition r created on the basis of dynamic signal s at discretization point k.

In the next step of the algorithm, signature descriptors \(d_{i,j,r}^{\left\{ {s,a}\right\} }\) should be created. In the learning phase the descriptors of the reference signatures are used for determining the parameters of the one-class fuzzy classifier (see  [3]). In the test phase, they are created from the test signature and they are used as input values of the system used for identity verification. The descriptors of the signatures are determined as follows:

$$\begin{aligned} d_{i,j,r}^{\left\{ {s,a}\right\} }=\sqrt{\sum \limits _{k=1}^{K_{i,r}^{\left\{ {s}\right\} }}{{{\left( {t_{i,r,k}^{\left\{ {s,a}\right\} }-a_{i,j,r,k}^{\left\{ {s}\right\} }}\right) }^2}}}. \end{aligned}$$
(2)

After the determination of the descriptors of the reference signatures, which are characteristic of an individual user, a classifier can be trained. Since in the learning phase in the dynamic signature verification problem we do not have any samples representing the signature forgeries, we have decided to use the one-class flexible fuzzy classifier presented in our previous works. A detailed description of the way in which it is determined and how it works can be found, for example, in  [3]. In this paper, we have chosen to focus on a new method for the dynamic signature signal processing presented in the next section.

In the test phase (see Fig. 2), one test signature is created, and it should be pre-processed and next partitioned. In the partitions, the test signature descriptors which are used in the identity verification of an individual are created.

Fig. 2.
figure 2

Test phase of the dynamic signature verification algorithm.

3 New Method for Signals Partitioning

In this section, we present a new method for signal processing used to create partitions of the signature which are characteristic of an individual user. Our method involves the use of a Differential Evolution population-based algorithm (see Sect. 3.1) for selecting division points values \(div_i^{\left\{ s\right\} }\) used for creating the signature partitions. These values are used to create two vertical partitions of the signature for each considered signal s (e.g. pen velocity or pressure) describing the dynamics of the signature (a general idea of this method is presented in Fig. 3). The membership of the l-th sample of the signature of the i-th user to the r-th partition is described as follows:

$$\begin{aligned} r_{i,l}^{\left\{ s\right\} }=\left\{ {\begin{array}{*{20}{c}} 0&{}{\mathrm{{for}}}&{}{l<div_i^{\left\{ s\right\} }}\\ \mathrm{{1}}&{}{\mathrm{{for}}}&{}{l\ge div_i^{\left\{ s\right\} }.} \end{array}}\right. \end{aligned}$$
(3)

The description of the general idea of the Differential Evolution algorithm is presented below. The Differential Evolution algorithm is convenient to use and effective for various applications  [4, 15, 16], but any method based on population can be used instead.

Fig. 3.
figure 3

Vertical partitioning procedure using signal s describing the dynamics of the signing process.

3.1 Differential Evolution Algorithm and Structure of Individuals

The differential Evolution  [6], which belongs to population-based algorithms, is an optimization method. This algorithm starts searching for a solution to the problem by initializing a population which contains Npop individuals. Each of them encodes parameters randomly distributed in the so-called search space. Each individual in the population is evaluated using a properly defined evaluation function. This process is followed by iterative processing of the population, repeated until a specific iteration number is obtained or a satisfactory result is found. In each iteration for each individual, a clone is created, which is modified according to the following formula:

$$\begin{aligned} {{X'}_{ch,g}}=\left\{ \begin{array}{l} {X_{l,g}}+F\cdot ({X_{m,g}}-{X_{n,g}})\;\mathrm{{for}}\;rand<CR\;\mathrm{{or}}\;g=R\\ {X_{ch,g}}\;\mathrm{{otherwise}}, \end{array}\right. \end{aligned}$$
(4)

where \(\mathbf{X}\) are the individuals, \(\mathbf{X}'\) are the individual clones, \(ch=1,...,Npop\) are the indexes of the individuals, \(g=1,...,D\) are the indexes of the individuals parameters (D is the number of the parameters being optimized), \(F\in \left\langle 0;2\right\rangle \) is the differential weight, \(CR\in \left\langle 0;1\right\rangle \) is the crossover probability, lmn are the indexes of the randomly selected individuals from the population (without repetition and different from ch), R is a randomly selected integer from set \(\left\{ 1,D\right\} \) (thus always one individual parameter is modified), and rand is a random function that returns the values from range \(\left\langle 0;1\right\rangle \). Each clone is repaired (the parameters are narrowed to the search space) and evaluated. If the clone has a better value of the objective function than its parent, then it replaces the parent. After the iteration or interruption of the algorithm, the best solution found is presented.

In the approach proposed in this paper, each individual \({\mathbf{{X}}_{i,ch}}\) from the population encodes Ns division points of the signature determined for user i and associated with different signals describing the dynamics of the signature which were used in the signature alignment process. The individual is represented as follows:

$$\begin{aligned} \begin{array}{*{20}{c}} {{\mathbf{{X}}_{i,ch}}=\left\{ {div_i^{\left\{ {{s_1}}\right\} },div_i^{\left\{ {{s_2}}\right\} },\ldots ,div_i^{\left\{ {{s_{Ns}}}\right\} }}\right\} }\\ {=\left\{ {X_{i,ch,{s_1}}^{},X_{i,ch,{s_2}}^{},\ldots ,X_{i,ch,{s_{Ns}}}^{}}\right\} ,} \end{array} \end{aligned}$$
(5)

where \(\left\{ {{s_{1,}},{s_{2,}},\ldots ,{s_{Ns,}}}\right\} \) is a set of signals used for the signature alignment and associated with the created partitions.

The purpose of the algorithm is to select the subset with division points which will allow us to create partitions containing the most characteristic descriptors for user i. The partitions created using the Differential Evolution algorithm have flexible boundaries and are selected individually for each signer. Due to this, templates and descriptors of the signatures determined in the created partitions should be selected with greater precision.

In the next section, we present the evaluation function created for the problem of the dynamic signature signal processing.

3.2 Evaluation Function for the Dynamic Signature Signal Processing

Assessment of the individuals being part of the population is achieved by using a properly designed evaluation function. Its value is calculated taking into account the values of the descriptors from the partitions created using the encoded division points and a specially defined ratio between the number of the discretization points in both partitions created using the same division point. This ratio has been introduced because the number of points in the partition should not be too small. It is determined as follows:

$$\begin{aligned} Rp_{i,j}^{\left\{ s\right\} }=\left\{ \begin{array}{l} 1-\frac{{K_{i,1}^{\left\{ s\right\} }}}{{K_{i,0}^{\left\{ s\right\} }}}\mathrm{{for}}\;K_{i,0}^{\left\{ s\right\} }\ge Kc_{i,1}^{\left\{ s\right\} }\\ 1-\frac{{K_{i,0}^{\left\{ s\right\} }}}{{K_{i,1}^{\left\{ s\right\} }}}\;\mathrm{{otherwise}}\mathrm{{.}} \end{array}\right. \end{aligned}$$
(6)

Next, the values of the descriptors representing the similarity of the training signatures to the template should be normalized. This is performed using membership function \(\mu \left( {d_{i,j,r}^{\left\{ {s,a}\right\} }}\right) \) defined as follows:

$$\begin{aligned} \mu \left( {d_{i,j,r}^{\left\{ {s,a}\right\} }}\right) ={\left( {1+\exp \left( {5-2\cdot d_{i,j,r}^{\left\{ {s,a}\right\} }}\right) }\right) ^{-1}}. \end{aligned}$$
(7)

Next, the values of the above-mentioned variables should be normalized for each training signature j of user i. As the result of normalization, the values of parameters \(avg{D_{i,j}}\) and \(avg{R_{i,j}}\) are obtained. They are defined as follows:

$$\begin{aligned} \left\{ \begin{array}{l} avg{D_{i,j}}=\frac{1}{{4\cdot Ns}}\cdot \left( \begin{array}{c} \mu \left( {d_{i,j,0}^{\left\{ {{s_1},x}\right\} }}\right) +\mu \left( {d_{i,j,1}^{\left\{ {{s_1},x}\right\} }}\right) +\\ +\mu \left( {d_{i,j,0}^{\left\{ {{s_1},y}\right\} }}\right) +\mu \left( {d_{i,j,1}^{\left\{ {{s_1},y}\right\} }}\right) +\ldots \\ +\mu \left( {d_{i,j,0}^{\left\{ {{s_{Ns}},x}\right\} }}\right) +\mu \left( {d_{i,j,1}^{\left\{ {{s_{Ns}},x}\right\} }}\right) +\\ +\mu \left( {d_{i,j,0}^{\left\{ {{s_{Ns}},y}\right\} }}\right) +\mu \left( {d_{i,j,1}^{\left\{ {{s_{Ns}},y}\right\} }}\right) \end{array}\right) \\ avg{R_{i,j}}=\frac{1}{{Ns}}\cdot \left( {Rp_{i,j}^{\left\{ {{s_1}}\right\} }+\ldots +Rp_{i,j}^{\left\{ {{s_{Ns}}}\right\} }}\right) , \end{array}\right. \end{aligned}$$
(8)

where \(avg{D_{i,j}}\) is the average value of descriptors (see Eq. (2)) of signature j and \(avg{R_{i,j}}\) is the average value of parameters \(Rp_{i,j}^{\left\{ s\right\} }\) (see Eq. (6)) for signature j.

The value of the evaluation function for individual \({\mathbf{{X}}_{i,ch}}\) in population \({\mathrm{{ff}}\left( {{\mathbf{{X}}_{i,ch}}}\right) }\) is calculated using the above-mentioned coefficients. Their values are aggregated using weighted algebraic triangular norm \({T^*}\left\{ \cdot \right\} \)  [1]. The evaluation function can be determined as follows:

$$\begin{aligned} \begin{array}{c} \mathrm{{ff}}\left( {{\mathbf{{X}}_{i,ch}}}\right) ={T^*}\left\{ \begin{array}{c} avg{D_{i,1}},\ldots ,avg{D_{i,J}},avg{R_{i,1}},\ldots ,avg{R_{i,J}};\\ w{D_{i,1}},\ldots ,w{D_{i,J}},w{R_{i,1}},\ldots ,w{R_{i,J}} \end{array}\right\} \\ =1-w{D_{i,1}}\cdot \left( {1-avg{D_{i,1}}}\right) \cdot \ldots \cdot 1-w{R_{i,J}}\cdot \left( {1-avg{R_{i,J}}}\right) , \end{array} \end{aligned}$$
(9)

where t-norm \({T^*}\left\{ \cdot \right\} \) is a generalization  [1] of the usual two-valued logical conjunction (studied in the classical logic), \(w{D_{i,j}}\in \left[ {0,1}\right] \) and \(w{R_{i,j}}\in \left[ {0,1}\right] \) are the weights of importance of arguments \(avg{D_{i,j}}\) and \(avg{R_{i,j}}\), which are the algorithm’s parameters.

In the method proposed in this paper, the Differential Evolution algorithm tends to maximize the value of the evaluation function. After a certain number of iterations Nit, the population-based algorithm stops its operation and returns the determined values of the division points, which are used for signature partitioning.

4 Simulation Results

In the simulations, we implemented the proposed method for the dynamic signature signal processing using population-based vertical partitioning in the C#.NET language. Then, we performed identity verification on the basis of the dynamic signature divided into the partitions created with the use of our method. It was realized to evaluate the efficiency of the new method offering a population-based vertical division of the signature. We assumed that identity verification using the partitions created by the new method should work better than in the case of our previous method  [2] which creates fixed size vertical partitions. In our simulations, we used the one-class fuzzy classifier which we proposed in  [3].

The problem of the dynamic signature verification is specific. Therefore, authors of new algorithms should primarily use databases of signatures in their simulations. This is due to the following reasons: (a) the biometric data describing signatures are sensitive and protected by law. This makes it difficult to obtain, store, and process them. This also makes it difficult to share them with other people for, e.g., testing various verification methods. Using signature databases eliminates this problem because the databases contain completely anonymous data-obtained and made available in accordance with applicable law. The great advantage of signature databases is also the fact that they contain data from many people who differ, for example, in age, education, type of work, etc. (b) biometric data used in tests should contain the so-called skilled forgeries created by professional forgers. It would be difficult to acquire signatures of several dozen users and to prepare forgeries for them. Meanwhile, the signature databases contain such forgeries. (c) using signature databases allows you to reliably compare the effectiveness of signature verification methods, which is a key issue. We have been dealing with the problem of signature verification for several years, so using signature databases allows us to practically verify the effectiveness of the proposed solutions. If we used our own signature databases, presented the results of our experimental research, and wrote that we cannot share the databases, then the results obtained by us could not be recognized.

The simulations were performed using the BioSecure dynamic signature database DS2  [5], which contains signatures of 210 users acquired in two sessions with the use of a graphics tablet. Each session contains 15 genuine signatures and 10 skilled forgeries per person. In the learning phase, we used 5 randomly selected genuine signatures of each signer. During the test phase, we used 10 genuine signatures and 10 so-called skilled forgeries  [11] of each signer. The alignment of the signatures and partitioning were realized using two signals describing the dynamics of the signing-velocity and pressure (\(Ns=2\)).

We adopted the following values of the Differential Evolution algorithm parameters in the simulations: (a) the number of individuals in population \(Npop=100\), (b) the value of parameter F  [17] of the DE algorithm is 0.5, (c) the value of parameter CR  [17] of the DE algorithm is 0.9, (d) the value of weights \(w{D_{i,j}}\) is 0.7, (e) the value of weights \(w{R_{i,j}}\) is 0.2, and (f) the number of iterations Nit of the Differential Evolution algorithm is 100.

The simulations were repeated 5 times in accordance with the standard cross-validation procedure. The results of the simulations are presented in Table 1 in the form of FAR (False Acceptance Rate), FRR (False Rejection Rate) and EER (Equal Error Rate) coefficients which are used in the literature to evaluate the effectiveness of biometric methods  [11].

Table 1. Comparison of the accuracy of the method using on-line signature partitioning with a population-based algorithm to other methods for the dynamic signature verification using the BioSecure database.

Given the obtained results, we can see that the proposed method has achieved a good accuracy in comparison to the methods proposed by other authors. It means that the selection of characteristic parts of the signature for each user can have a key role in the identity verification process. Moreover, the accuracy of the proposed method is better than the accuracy of the method using fixed size vertical partitions which we proposed in  [2]. It confirms that the partitions created in a more flexible way by the population-based signal processing are more characteristic in the case of individual users and can improve verification efficiency.

5 Conclusions

In this paper, we have presented the dynamic signature signal processing method using a population-based algorithm in order to perform vertical partitioning. The purpose of the method is to create the most characteristic partitions of the signature for an individual user. These partitions should contain a certain degree of important information about the dynamics of his/her signing process. This information is very useful in the identity verification process, which has been confirmed by our simulations performed using the BioSecure dynamic signature database. The accuracy of the signature verification process with the use of the dynamically created characteristic partitions is better than in the case of using partitions with a fixed size.

Our future plans include, among others, using different population-based algorithms in order to compare their performance in this field, taking into account the changes occurring in signatures over time while determining partitions and creating a new one-class classifier based on possibilities offered by convolutional neural-networks.