1 Introduction

An analysis of handwritten documents is an important task for business, forensic casework, banking, etc. Obviously, handwriting should be considered individually, because each person has unique style of writing. For this reason professional recognition of a writer is treated as complex and difficult task. The result is credible when performed by highly qualified graphologists only. It should be noted that such investigations are expensive and rarely commissioned—in cases when documents are very important and their authenticity questioned. Moreover, graphological analysis of long documents is very time-consuming.

Some inconveniences can be overcome when only handwritten signature is analysed. Depending on type of an electronic handwriting capture, the source can be processed as a digital image or as a set of dynamic features—when signature is stored using a specialised device such as tablet. The second approach allows the potential system to analyse the source more precisely because in this case other unique properties are available.

The signature features are very often classified as global or local. Global features describe an entire signature and are determined, i.e. by means of both the discrete Wavelet and Hough transform, horizontal and vertical projections and so on. On the contrary, local features describe dynamic properties such as pen motion, slant, pressure, tremor and so on.

The signature recognition methods are also classified as on-line and off-line, where appropriate dynamic or static features are extracted and analysed. These techniques are well known within the research community [7, 13, 2325, 34, 41].

There is a number of limitations in the data acquisition phase. The first is signature’s length. In case of too long signatures the data analysis may be difficult for the recognition system to identify the unique data points. In addition, pre-processing and recognition process are time consuming. On the other hand, in case of too short signatures the data set may not be representative enough and false accept rate (FAR) coefficient may be too high (i.e. an impostor can be authorised by the system).

The second limitation is the environment and conditions where a person performs the enrolment and verification phase. For example, two signatures taken from an individual may substantially differ from each other only because the position of a person was different.

After the data acquisition phase the recognition system extracts the unique features; hence signature recognition is classified as behaviour biometric. Given signature is described by means of unique features that identify the signer. Biometric systems should be able to detect whether the signature is genuine or forged. The results of the verification depend on the type of forgery. The first type is a random forgery and can be represented by a signature that belongs to any writer (forger has no information about the signature style and the name of a signer). The second type—simple forgery is a signature characterised by a similar shape as the genuine. The third type is so-called skilled forgery, which is a professional imitation of the genuine.

Off-line verification methods are used to detect the random and simple forgeries. It follows from the fact that in this approach only the shape of the signature is accessible, so only this kind of data can be considered. Unfortunately, the off-line method does not register timestamps; hence modelling of the signer’s pen motion is impossible or very complex, which makes the recognition task even harder.

On-line method requires a stylus and an electronic tablet connected to a computer to capture dynamic signature information. In this method, nature of signatures can be described more precisely because additional parameters can be measured like velocity, pressure points, strokes, accelerations as well as static characteristics. This technique is preferable because dynamic features are very difficult to imitate. Unfortunately, these systems require user-cooperation and complex hardware.

In case of off-line recognition, signature template comes from an imaging device, and hence only static data are obtained. The person does not have to be present at the time of verification. For this reason, off-line signature recognition is simpler and convenient in various situations such as document verification, banking transactions, etc.

The paper proposes off-line fuzzy approach, which makes recognizing forged and genuine signatures possible. However, the method is flexible and allows the future user to include on-line features.

The most important advantage of the fuzzy approach is adjusting uncertainty to the input data. Each feature of the signature has a different soft constraint assigned in a fuzzy set form, relevant to a divergence occurring within learning samples. Therefore, to allow the system a proper adjustment, the signature of each individual must be captured at least several times.

The whole process of proposed recognition is described in the following sections of the paper. First, the pre-processing phase is presented. The process of building a fuzzy structure, called the fuzzy signature, is described next. Subsequent sections present the verification phase and obtained results with conclusion at the end.

2 Related works and critical remarks

Signature recognition methods are extensively studied and developed for many years [24, 34]. Unfortunately, reliable comparison of different approaches is quite difficult, which is caused by inconsistency in presented standards. In practice different databases are used, where different number of original and forged signatures are stored. The datasets of biometric features are frequently composed on the basis of private (hence unavailable) signatures as well as signatures coming from professional, published databases. It is a well-known fact that recognition performance decreases when number of samples in a database of biometric features is increased. It can be noticed even for small number of additional database records [27]. Such important remark is often ignored; therefore, we postulate that presented results should always be normalized and presentation principles should be respected. In presented approach all results were obtained for SVC2004 database, which is fully available [49]. Hence, results obtained and proposed algorithms can be always reliably compared with achievements of other authors.

On the other hand, it can be also observed that results reported in many papers use different coefficients (FAR, FRR, EER) and factors (accuracy, sensitivity, specificity). Unfortunately, only one of these parameters is very often treated as a single quality factor of described biometric systems. It is another obstacle precluding comparison of achieved results.

An influence of mentioned difficulties can be observed in the short review of obtained results in the work [7], where main recent research directions and results have been presented and discussed. Results gathered in that work are presented in Table 1 for off-line and Table 2 for online methods. The same problem can be noticed for results gathered in earlier extensive survey of the state-of-the-art [24].

Table 1 Performance comparison with off-line signature secognition systems [7]
Table 2 Performance comparison with on-line signature recognition systems [7]

Since the beginning of the theory presented by Zadeh [56] fuzzy sets have become a popular and intuitive tool for uncertainty representation. They are widely used in popular types of intelligent systems handling variations of the input data [40, 43, 50]. Because of the nature of signature verification problems fuzzy approaches are also employed in this kind of research.

Enrolment phase of a general fuzzy approach to signature verification, as well as non-fuzzy methods, usually consists of three stages. The first step considers simple preprocessing of the input data, like normalisation and image filtering. In the second phase signature information is analysed and specific features are extracted. The last phase of fuzzy approaches considers building a fuzzy system (fuzzy model) based on variation of features extracted from learning samples. The verification phase of such systems confronts chosen signature sample (or extracted features) to the fuzzy model and calculates the level of conformity.

Recent research in the field of automatic signature verification employing fuzzy systems are based on different approaches. A significant number of contemporary solutions use different kind of neuro-fuzzy applications [18, 30, 38, 45, 52]. Data for the fuzzy systems come from extraction of various features like position and pressure [30], angles [38], Zernike moments [18], result of discrete wavelet transform [52] and pseudo-outer product [45]. However, alternative solutions are also developed.

Papers [53, 54] introduce fuzzy snake models. The solution is based on open polygonal line (snake) composed by a variable number of equally spaced control points (piecewise-linear, two-dimensional structure). In this case database stores the exact information about signature’s shape, which for some applications could be a disadvantage because of data security reasons.

System based on Bezier curves is presented in paper [57]. The approach allows the user to control the level of uncertainty by adjusting \(\alpha\)-cuts, which results in variable ranges of possible position for Bezier nodes. As well as the previous method, this solution also stores the information about signature’s shape.

Paper [22] proposes Takagi-Sugeno model with fuzzyfied angle features extracted from box approach.

The authors of [20] introduced a biometric crypto system with a fuzzy key, which is not the issue of this paper. However, the approach employs methods of authorisation with interesting feature extraction based on quantized maxima and minima from upper and lower envelopes of the signature.

The mentioned methods were tested mostly on private and unavailable databases with relatively small number of samples (less than 400). Data tested in paper [38] were obtained from four people and include only 20 forged samples. For that case the final average result is also not defined.

Comparison and assessment of methods introduced in papers [20, 53, 57] is impossible because no test results were presented.

Results obtained by authors of analysed examples are various and strongly depend on the type of database that was used. For example, the paper [18] reports the average error rate obtained at the level of 0.5 %. However, tests of that particular case are based on a database of 200 samples collected from 10 people without any forged samples. In addition, the reported error rate is not precisely defined.

Only the authors of [52, 54] used published databases, where the latter is no longer available at the specified website. The first paper reports EER at the level of 12.5 %. It needs to be emphasized that in this case FRR exceeded 25 % for FAR equal 5 % (based on presented ROC curve). The second paper reports FAR and FRR coefficients generally at the levels exceeding 10 % for a database containing more than 2000 samples.

Non-standard results are also reported in [22], where percentages of accepted and rejected samples are given. The best results were obtained for random forgery tests, where percentage of accepted samples equals 22.5 and 25 %, depending on the used type of method.

Private database employed in tests of online approach [30] (position and pressure) allowed the authors to obtain FAR and FRR coefficients equal 0 and 3.5 % respectively, which is a very good result that unfortunately cannot be verified. The same problem is encountered in another online approach employing a neuro-fuzzy method [45], where the best results were obtained for signatures of Chinese individuals.

The fuzzy approach described in this paper have never been proposed before. The first novelty can be found in the preprocessing phase. The method of feature extraction introduced in [44] was extended, which significantly reflects in results of the system. The second novelty is the original fuzzy model created on the basis of structure obtained in the first phase.

Information stored within database of the verification system cannot be used to recreate original shapes of signatures, which is an advantage from data security point of view. Moreover, the solution is characterised by relatively small computational complexity and in comparison with other methods it is much easier to implement.

Considering a relatively big database (1600 samples in SVC2004 database [49]), results obtained for FAR and FRR coefficients are very promising and encourage to further development of the solution.

3 Signature preparation

The main goal of writer recognition systems is determining whether two handwritten samples were performed by the same person or not. Signatures of the same individual can differ in many parameters such as size, pen pressure, velocity, etc. Therefore, one of the most important aspects of recognition is the unification process (pre-processing), which allows a system to compare signatures more precisely. The approach is based on the idea of characteristic signature preprocessing [44].

A signature can be treated as a set of discrete points \((x_j,y_j)\) laying on the Carthesian \(X\)\(Y\) plane, where \(j=1,2,\ldots ,N,\) which describes piecewise-linear graphical form. The number \(N\) can vary for different signatures. The solution’s first step is calculating a signature’s center point \((\overline{x},\overline{y})\) as so-called center of gravity, by the following Eq. [44]

$$\begin{aligned} \overline{x}=\frac{1}{N}\sum _{j=1}^{N}x_j, \quad \overline{y}=\frac{1}{N}\sum _{j=1}^{N}y_j. \end{aligned}$$
(1)
Fig. 1
figure 1

Points of intersection of a sample signature and lines intersecting a signature’s center point

In the next step a new set of points \((x_k, y_k)\) is obtained, where \(k=1,2,\ldots ,M\) and \(M \ll N.\) The new points are calculated from an intersection of a signature and lines generated at different angles and passing through the center point. The phase is shown at Fig. 1. The number of generated lines depends on an angle step \(\Delta \alpha,\) which is a parameter of the method. Fig. 1 contains visualization for \(\Delta \alpha = 30^\circ \) and for that reason six lines are drawn at \(0^\circ,\) \(30^\circ,\) \(60^\circ,\) \(90^\circ,\) \(120^\circ\) and \(150^\circ.\)

For each point of intersection \((x_k, y_k)\) the distance from the center point \(d_k\) is calculated [44]:

$$\begin{aligned} d_k = \sqrt{ (x_k - \overline{x})^2 + (y_k - \overline{y})^2 }, \end{aligned}$$
(2)

and normalized [44]:

$$\begin{aligned} l_k = \frac{d_k}{d_{\max }}, \quad d_{\max } = \max \{ d_1, d_2, \ldots , d_M \}. \end{aligned}$$
(3)

The normalized \(l_k\) values create the \(\Omega _{S_i}\) set, obtained from \(S_i\) signature. The \(\Omega _{S_i}\) is naturally divided into \(\Omega ^\alpha _{S_i}\) subsets, including only those \(l_k\) values obtained for angle \(\alpha \), which can be designated as \(l_{\alpha _k}\). Additionally, the \(l_{\alpha _k}\) values of \(\Omega ^\alpha _{S_i}\) subsets are arranged in decreasing order. For all the presented sets the following equations have to be obviously satisfied

$$\begin{aligned} \#\Omega _{S_i}=\sum _\alpha \#\Omega ^\alpha _{S_i}. \end{aligned}$$
(4)

It is important to notice that the preprocessing loses information of signature’s shape and cannot be used to recreate the original. The \(\Omega _{S_i}\) set after the described phase is stored as the characteristics of \(S_i\) signature.

3.1 Possible extension of the method

Described process is very flexible and easy to extend. In particular, more parameters can be considered such as pressure, velocity or pen’s angle. Each parameter corresponds with one additional set of values within each \(\Omega ^\alpha _{S_i}\) set. Considering the mentioned parameters, each element of the \(\Omega _{S_i}\) set can be described as the following:

$$\begin{aligned} (l_k, {\text{pr}}_k, {\text{ve}}_k, {\text{an}}_k), \quad k=1,2,\ldots ,M ,\end{aligned}$$

where \({\text{ pr}}_k,\) \( {\text{ ve}}_k,\) \({\text{ an}}_k\) corresponds with pressure, pen’s velocity and angle in \((x_k,y_k).\) Therefore, the generalised element of \(\Omega _{S_i}\) can be described as the following:

$$\begin{aligned} (w_{k_1}, w_{k_2}, \ldots ,w_{k_G}), \quad k=1,2,\ldots ,M, \end{aligned}$$

where \(w_{k_1}, w_{k_2}, \ldots ,w_{k_G}\) represent parameters assigned to the \((x_k,y_k)\) point of a given signature and \(G\) is a number of parameters.

4 Fuzzy signature

Preprocessing may generate a different number of elements in \(\Omega _{S_i}\), even for signatures captured from the same individual. Situation is depicted in Fig. 2 for \(\Omega _{S_i}\) obtained from three sample signatures \(S_i, i=1,2,3\) with \(\Delta \alpha = 30^\circ.\) Because of page size limit only two groups of sets are shown for \(\alpha \) equal \(0^\circ \) and \(30^\circ.\)

Fig. 2
figure 2

Points after preprocessing phase for three sample signatures \(S_1,\) \(S_2\) and \(S_3\)

The main idea of the method is to construct a fuzzy structure—fuzzy signature \(FS\)—for each person chosen to be recognized by the system. The structure is formed by a number of fuzzy sets relevant to the input data. Constructed fuzzy sets reflect a diversity existing in the subsequent signatures within a learning set. Let the three samples presented in Fig. 2 represent a learning set. In general, the size of a learning set is not limited.

One can notice that the number of elements for \(\Omega ^0_{S_1},\) \(\Omega ^0_{S_2}\) and \(\Omega ^0_{S_3}\) varies from 2 to 4 and for \(\Omega ^{30}_{S_1},\) \(\Omega ^{30}_{S_2}\) and \(\Omega ^{30}_{S_3},\) from 2 to 3. The next step of preparation levels out the sub sets to the maximum size of \(\Omega ^\alpha _{S_i}\) within the same \(\alpha.\) As depicted in Fig. 3, values 0, presented with bold font, are inserted at the end. The figure also contains the original size of \(\Omega ^\alpha _{S_i},\) which is needed for further analysis.

Fig. 3
figure 3

Scheme of fuzzy signature creation

The first reason why 0 is used as a fill up value is simple. As it was mentioned at the end of Sect. 3, each \(\Omega ^{\alpha }_{S_i}\) is sorted in decreasing order, so the smallest values are located at the end. The value 0 is the shortest distance possible, obtained when the signature’s center of gravity (1) is one of the signature’s points. Therefore, the smallest value fills up shorter sets, preserving the order. To present the second reason, that mainly explains why to level out the sets, further steps of the method are needed to be introduced.

When sizes of \(\Omega ^\alpha _{S_i}\) are even for each \(\alpha \) in all learning samples, they are again divided into groups in order to obtain a membership functions \(\mu _{\alpha i}\) and \(\mu _{S\alpha }\) describing fuzzy sets. The process is depicted in Fig. 3 by frames and arrows. It is important to notice that \(\mu _{\alpha i}\) are created from the content of \(\Omega ^\alpha _{S_i}\) and \(\mu _{S\alpha }\) from the size of \(\Omega ^\alpha _{S_i}.\) Each frame on the figure represents values of a different universe of discourse \(X_{\alpha _i}\) and \(X_{S\alpha}\)—the domains of \(\mu _{\alpha i}\) and \(\mu _{S\alpha},\) respectively.

Therefore, a fuzzy signature \(FS\) consists of fuzzy sets \(A_{\alpha _i}\) and \(A_{S\alpha }\) described as follows:

$$\begin{aligned} A_{\alpha _i} = \{ ( x,\mu _{\alpha _i}(x) ) : x \in X_{\alpha _i}\}, \end{aligned}$$
(5)
$$\begin{aligned} A_{S\alpha } = \{ ( x,\mu _{S\alpha }(x) ) : x \in X_{S\alpha } \}. \end{aligned}$$
(6)

Gaussian-type membership functions were chosen for \(A_{\alpha _i}\) sets. However, other functions, like triangular or trapezoidal, can be applied. \(A_{S\alpha }\) sets, described with piecewise-linear membership functions, are precisely analysed in subsequent section.

Functions \(\mu _{\alpha _i},\) describing \(A_{\alpha _i}\) sets, are defined as follows:

$$\begin{aligned} \mu _{\alpha _i}(x;m_{\alpha i},\sigma _{\alpha i})=e^{-\frac{(x-m_{\alpha i})^2}{2{\sigma _{\alpha i}}^2}}, \quad x \in X_{\alpha _i}, \end{aligned}$$
(7)

where \(m_{\alpha i}\) is an arithmetic mean of \(\Omega ^\alpha _{S_i}\) elements from \(X_{\alpha _i}\) domain for all learning samples (values in one frame at Fig.  3). The parameter \(\sigma _{\alpha i}\) represents the range between elements and is obtained on the basis of the following equation:

$$\begin{aligned} \sigma _{\alpha i} = {\left\{ \begin{array}{ll} \begin{array}{ll} \gamma \, \frac{ \displaystyle x_{{\alpha i}_{\max }} - x_{{\alpha i}_{\min }} }{2}&\quad \text{ for} \; \sigma _{\alpha i} > \sigma _{\min }\\ \sigma _{\min }&\quad \text{ for} \; \sigma _{\alpha i} \le \sigma _{\min }\\ \end{array}\end{array}\right.} \end{aligned}$$
(8)

where \(x_{{\alpha i}_{\max }}\) and \(x_{{\alpha i}_{\min }}\) are, respectively, maximum and minimum of \(\Omega ^\alpha _{S_i}\) elements from \(X_{\alpha _i}\) domain for all learning samples. The fuzzyfication ratio \(\gamma\) is a global parameter of the system and allows the user to influence all fuzzy sets by increasing or decreasing their width (for \(0<\gamma <1\) or \(\gamma > 1\) respectively). Additionally, the \(\sigma _{\alpha i}\) is limited from below by \(\sigma _{\min},\) which is another global parameter of the fuzzy system. This parameter allows the user to set the minimum width, which is applied in case of too small diversity of elements in the \(\Omega ^\alpha _{S_i}\) set.

Trapezoidal and triangular membership functions can be defined, respectively, by the following equations:

$$\begin{aligned} \mu _{\alpha _i}(x;m_{\alpha i},\sigma _{\alpha i}) = {\left\{ \begin{array}{ll} \begin{array}{ll} 0&\quad \text{ for} \quad x < (m_{\alpha i} - \sigma _{\alpha i}) \\ \frac{2x-(m_{\alpha i} - \sigma _{\alpha i})}{\sigma _{\alpha i}}&\; \text{ for} \quad (m_{\alpha i} - \sigma _{\alpha i}) \le x < (m_{\alpha i} - \frac{\sigma _{\alpha i}}{2}) \\ 1&\quad \text{ for} \quad (m_{\alpha i} - \frac{\sigma _{\alpha i}}{2}) \le x < (m_{\alpha i} + \frac{\sigma _{\alpha i}}{2}) \\ \frac{-2x-(m_{\alpha i}+\sigma _{\alpha i})}{\sigma _{\alpha i}}&\quad \text{ for} \quad (m_{\alpha i} + \frac{\sigma _{\alpha i}}{2}) \le x < (m_{\alpha i} + \sigma _{\alpha i}) \\ 0&\quad \text{ for} \quad (m_{\alpha i} + \sigma _{\alpha i}) \le x \end{array} \end{array}\right.}, \end{aligned}$$
(9)
$$\begin{aligned} \mu _{\alpha _i}(x;m_{\alpha i},\sigma _{\alpha i}) = {\left\{ \begin{array}{ll} \begin{array}{ll} 0&\quad \text{ for} \; x < (m_{\alpha i} - \sigma _{\alpha i}) \\ \frac{x-(m_{\alpha i} - \sigma _{\alpha i})}{\sigma _{\alpha i}}&\quad \text{ for} \; (m_{\alpha i} - \sigma _{\alpha i}) \le x < m_{\alpha i} \\ \frac{-x+(m_{\alpha i} + \sigma _{\alpha i})}{\sigma _{\alpha i}}&\quad \text{ for} \; m_{\alpha i} \le x < (m_{\alpha i} + \sigma _{\alpha i}) \\ 0&\quad \text{ for} \; (m_{\alpha i} + \sigma _{\alpha i}) \le x \end{array} \end{array}\right.}, \end{aligned}$$
(10)

where parameters \(m_{\alpha i}\) and \(\sigma _{\alpha i}\) have the same meaning as in (7).

Therefore, the fuzzy signature FS contains a number of fuzzy sets adjusted to learning samples. The placement of peaks and width of membership functions’ shapes are based on the mean of relevant values and their range, respectively. One can notice that the step of sets levelling, by adding 0 values, lowers the influence of other values in calculation of the mean. It informs there was no value in that domain for this sample, which appropriately reflects in produced soft constraint—a fuzzy set.

4.1 Fuzzy size of \(\Omega^\alpha_{S_i}\)

The previous section distinguishes two different types of fuzzy sets. The first, as depicted in Fig. 3, is created from the values of \(\Omega ^\alpha _{S_i}.\) The second type, designated as \(A_{S\alpha }\) with \(\mu _{S\alpha }\) membership function, represents the fuzzy size of \(\Omega ^\alpha _{S_i}.\) The sets and creation of their membership functions are precisely analysed in this section.

In general the size of \(\Omega ^\alpha _{S_i}\) sets is a very important information for the recognition system. It is the crucial parameter for the presented method, because similar signatures should produce similar sizes of the \(\Omega ^\alpha _{S_i}\) sets. Obviously, the \(X_{S\alpha }\) domains of \(\mu _{S\alpha }\) functions are discrete, containing sizes, which are natural numbers. The fact can be noted by the following expression:

$$\begin{aligned} \#\Omega ^\alpha _{S_i} \in X_{S\alpha } \in \mathbb N . \end{aligned}$$
(11)

Therefore, similarly to the first type of fuzzy sets, obtaining \(\mu _{S\alpha }\) membership functions is based on appropriate processing of values from \(X_{S\alpha }\) domains for all learning samples. In this case no predefined function is chosen. The solution simply assumes that multiple occurrence of the same size should be promoted by assigning a higher membership level. In addition, lower membership levels are appropriately assigned to the sizes that do not occur within the learning samples, but are sufficiently close (within \(\beta \) range), which forms a soft constraint. The general idea is depicted in Fig. 4, where two membership functions are presented for analysed example.

Fig. 4
figure 4

Membership functions of fuzzy sizes for sample signatures: a \(\mu _{S0}()\) for \(\alpha =0^\circ,\) b \(\mu _{S30}()\) for \(\alpha =30^\circ \)

Considering Fig. 3 presented in previous section, it can be noticed that membership levels of \(\mu _{S0}\) and \(\mu _{S30}\) are relevant to the number of occurrence of \(\Omega ^{\alpha }_{S_i}\) size within learning samples. For \(\Omega ^{\alpha =0}_{S_i}\) three sizes occur once: 3, 2 and 4. That is why to each of those values the same membership level is assigned (circles with black fill). While for \(\Omega ^{\alpha =30}_{S_i}\) size 3 occurs once, but 2 occurs twice. Therefore, the size 2 is described with a higher membership level.

At this point, considering parameter \(\beta =0\), the membership function \(\mu _{S\alpha }\) can be defined as follows:

$$\begin{aligned} \mu _{S\alpha }({x_i})={\left\{ \begin{array}{ll} \begin{array}{ll} \frac{O_{x_i}}{N_{\rm L}}&\quad \text{ for} \; \frac{O_{x_i}}{N_{\rm L}} > \frac{1}{2} \\ \frac{1}{2}&\quad \text{ for} \; 0 < \frac{O_{x_i}}{N_{\rm L}} \le \frac{1}{2} \end{array} \end{array}\right.}, \quad x_i \in \mathbb N , \end{aligned}$$
(12)

where \(x_i\) represents the analysed size, \(O_{x_i}\) represents the number of its occurrence and \(N_L\) represents the number of learning samples.

The presented solution promotes multiple occurrence of \(\Omega ^{\alpha }_{S_i}\) sizes; however, the minimum level is set to \(0.5\) (only in case of \(\frac{O_{x_i}}{N_{\rm L}}\) greater than zero and less than \(0.5\)). The minimum is set to avoid too small membership levels and to increase their influence in recognition algorithm, which is precisely described in the following sections.

Nevertheless, Fig. 4 depicts a number of extra points with nonzero membership level, inserted additionally to create a soft constraint (circles with white fill). The membership levels in this case are obtained from a linear function created according to the chosen \(\beta \) range—near \(x_{S\alpha _{\min }}\) as a raising edge and \(x_{S\alpha _{\max }}\) as a falling edge (\(x_{S\alpha _{\min }},\) \(x_{S\alpha _{\max }}\) represent minimum and maximum of \(\#\Omega ^\alpha _{S_i} \in X_{S\alpha}\) for all learning samples).

The \(\beta\) range for the analysed example is set to 2.5; hence two additional points are inserted at each edge. Considering the short analysis and the influence of the \(\beta \) parameter, the \(\mu _{S\alpha }\) membership function can be fully defined by the following equation:

$$\begin{aligned} \mu _{S\alpha }({x_i})={\left\{ \begin{array}{ll} \begin{array}{ll} \frac{O_{x_i}}{N_{\rm L}}&\quad \text{ for} \; \frac{O_{x_i}}{N_{\rm L}} > \frac{1}{2} \\ \frac{1}{2}&\quad \text{ for} \; 0 < \frac{O_{x_i}}{N_{\rm L}} \le \frac{1}{2} \\ f_{\rm up}(x_i)&\quad \text{ for} \; x_{S\alpha _{\min }} - \beta < x_i < x_{S\alpha _{\min }} \\ f_{\rm down}(x_i)&\quad \text{ for} \; x_{S\alpha _{\max }} < x_i < x_{S\alpha _{\max }} + \beta \end{array}, \end{array}\right.} \end{aligned}$$
(13)

where \(x_i,\) \(O_{x_i},\) \(N_{\rm L}\) have the same meaning like in (12) and \(f_{\rm up},\) \(f_{\rm down}\) represent linear functions defined as follows:

$$\begin{aligned} f_{\rm up}(x_i) = \frac{ \mu _{s\alpha }( x_{S\alpha _{\min }}) }{\beta } ( x_i - ( x_{S\alpha _{\min }} - \beta ) ), \end{aligned}$$
(14)
$$\begin{aligned} f_{\rm down}(x_i) = - \frac{ \mu _{s\alpha }( x_{S\alpha _{\max }}) }{\beta } ( x_i - ( x_{S\alpha _{\max }} + \beta )). \end{aligned}$$
(15)

It is important to emphasize that the formula (13) produces fuzzy sets with valuable information about the input data. Properties of the membership function, like the maximum value or the range between \(x_{S\alpha _{\min }}\) and \(x_{S\alpha _{\max}},\) can be used to assess the quality of the input data only through an analysis of the \(A_{S\alpha}\) fuzzy sets. This kind of information can be used by an adaptive method of learning, choosing only the informative \(\Omega ^\alpha _{S_i}\) sets in the process.

4.2 Extension of the method and the fuzzy signature

The Sect. 3.1 introduced an extension in preprocessing phase, where more parameters of a signature can be considered (i.e. pen’s angle, velocity, pressure etc.). Creating the fuzzy signature FS in this case is not much more complicated. The only difference lies in the content of \(\Omega ^\alpha _{S_i}\) which elements are extended, containing more information for each point of a signature. Obviously, the \(\#\Omega ^\alpha _{S_i}\) does not change; therefore, fuzzy size \(A_{S\alpha}\) can be obtained as described in the previous section. However, other stored parameters need to be processed, which will extend the fuzzy signature FS by additional fuzzy sets.

Membership functions of additional fuzzy sets can be obtained analogically to \(\mu _{\alpha _i}\) of \(A_{\alpha _i},\) which are precisely described in Sect. 4.

Let \(A_{\alpha _{ki}}\) designates the generalised version of \(A_{\alpha _i},\) where \(k=1,2, \ldots ,G\) describes the \(G\) number of additional parameters. In that case the Gaussian membership function \(\mu _{\alpha _{ki}}\) describing the fuzzy set, is defined as follows:

$$\begin{aligned} \mu _{\alpha _ki}(x;m_{\alpha ki},\sigma _{\alpha ki})=e^{-\frac{(x-m_{\alpha ki})^2}{2{\sigma _{\alpha ki}}^2}}, \quad x \in X_{\alpha _{ki}} \end{aligned}$$
(16)

where \(m_{\alpha ki},\) \(\sigma _{\alpha ki}\) and \(X_{\alpha _{ki}}\) domain represent parameter \(k\) and are analogical to \(m_{\alpha i},\) \(\sigma _{\alpha i}\) and \(X_{\alpha _{i}}\) from (7), which has been described in Sect. 4.

The generalized versions of trapezoidal and triangular membership function \(\mu _{\alpha _{ki}}\) can be obtained the same way.

5 Signature recognition

The fuzzy signature FS is created and stored in the system’s database for each person that needs to be recognised. The process of recognition is based on obtaining the levels of conformity of a given signature with fuzzy structures from the database. If the level of conformity meets configured requirements, the signature can be considered as recognised. In general, the task can be accomplished by different means. However, the first phase of calculation is common for different approaches; that is why it will be described next.

Let \(S_{\rm in}\) represent an input signature after preprocessing and FS is a fuzzy signature chosen from the database. If the preprocessing parameter \(\Delta \alpha \) was the same for learning samples creating the FS and given \(S_{\rm in},\) the structures can be directly compared, because of the same number of \(\Omega ^\alpha _{S_i}\) sets. If this condition is not satisfied, the structures cannot be compared and are treated as different (the level of conformity equals 0). The scheme of the phase is depicted in Fig. 5 where subsets for the two sample \(\alpha \) parameter: \(0^\circ \) and \(30^\circ,\) are presented.

Fig. 5
figure 5

Scheme of a signature verification

The values of \(\Omega ^\alpha _{S_{\rm in}}\) and their sizes are taken as an input of the relevant membership functions of the FS. It is important to emphasize that in case of different number of \(l_{\alpha _i}\) and \(\mu _{\alpha _i},\) which is a normal situation, elements that cannot be paired are simply omitted in the process. The problem occurs for the example on Fig. 5 for \(l_{30_4}\) and \(\mu _{0_4}\) depicted in frames. Therefore, the results \(R_{\alpha _i} \in [0,1]\) and \(R_{S\alpha } \in [0,1]\) are obtained, respectively, by the following equations:

$$\begin{aligned} R_{\alpha _i} = \mu _{\alpha _i}( l_{\alpha _i} ), \quad i=1,2,\ldots ,n_{\alpha } \end{aligned}$$
(17)
$$\begin{aligned} R_{S\alpha } = \mu _{S\alpha }( \#\Omega ^\alpha _{S_{\rm in}} ), \end{aligned}$$
(18)

where \(l_{\alpha _i} \in \Omega ^\alpha _{S_{\rm in}}\) and assuming \(\mu _{\alpha _k}\) for \(k=1,2,\ldots ,K_{\alpha},\) the value \(n_{\alpha }=\min (K_{\alpha }, \#\Omega ^\alpha _{S_{\rm in}}).\)

Calculated results are basis for further processing within different verification methods that produce one final result \(R \in [0,1],\) representing the output level of conformity. In general, this kind of tasks are performed by operators of aggregation.

Let \(\oplus\) represent operator of aggregation as a mapping \(\oplus :[0,1]^I \rightarrow [0,1]\) of \(I\) values \(x_1,x_2,\ldots ,x_I \in [0,1]\) to one \(x \in [0,1],\) that is [10]:

$$\begin{aligned} x = \mathop{\bigoplus}\limits_{i=1}^{I} x_i = \oplus (x_1,x_2,\ldots ,x_I). \end{aligned}$$
(19)

Therefore, the general method of signature verification can be described by the following equation:

$$\begin{aligned} R = \mathop{\bigoplus}\limits_{\alpha =0}^{\alpha _{\max }} \left\{ R_{S\alpha } \star _T \mathop{\bigoplus}\limits_{i=0}^{n_{\alpha }} R_{\alpha _i} \right\} , \end{aligned}$$
(20)

where \(\alpha _{\max }\) represents the maximum \(\alpha \) for \(S_{\rm in}\) and \(FS,\) \(n_{\alpha }\) is a number of \(R_{\alpha _i}\) results for particular \(\alpha\) and \(\star _T\) represents any T-norm [10, 11, 37].

The main idea of the approach is that the influence of the local results—aggregated \(R_{\alpha _i}\)—is controlled by the \(R_{S\alpha},\) because the fuzzy size \(A_{S\alpha }\) is the most important element in the structure of FS. It can be described as higher in the hierarchy. For a better result, the sizes of \(\Omega _{S_{\rm in}}^{\alpha}\) have to be matched first to increase the influence of the lower structure. Various methods of verification can be obtained from (20) by applying different \(\oplus \) operators.

The most restrictive solution is obtained when aggregation operator is a T-norm. In that case the Eq. (20) takes the following form:

$$\begin{aligned} R=\mathop {\bigstar _{\text{T}}}\limits _{\alpha =0}^{\alpha _{\max }} \left\{ R_{S\alpha } {\star }_{{T}} \mathop {\bigstar _{\text{T}}}\limits _{i=0}^{n_{\alpha }} R_{\alpha _{i}} \right\} , \end{aligned}$$
(21)

where \(\mathop {\bigstar _{\text{T}}},\) as \(\star _{T},\) represents any T-norm. Therefore, the lowest partial result has the most influence on the output result like for the classic approach of Mamdani and Assilan [40]. The method is named “hard”, because it absolutely disqualifies signatures with partial match. On the other hand, the least restrictive solution is obtained for a mean as the aggregation operator. In this case the Eq.  (20) takes the following form:

$$\begin{aligned} R = \biguplus _{\alpha =0}^{\alpha _{\max }} \left\{ R_{S\alpha } \star _{T} \biguplus _{i=0}^{n_{\alpha }} R_{\alpha _i} \right\} , \end{aligned}$$
(22)

where \(\uplus \) represents any mean operator. Contrary to previous one, this method is named “soft”, because it allows the system to obtain results greater than zero in case of partial matches.

Additional methods are created as a hybrid solution of the presented above. First, called “hard-soft”, assumes a T-norm as the first aggregation operator and a mean as the second. Hence, the Eq.  (20) takes the following form:

$$\begin{aligned} R = \mathop {\bigstar _{\text{T}}}\limits _{\alpha =0}^{\alpha _{\max }} \left\{ R_{S\alpha } \star _T \biguplus _{i=0}^{n_{\alpha }} R_{\alpha _i} \right\} . \end{aligned}$$
(23)

The equation for the method called “soft-hard” is obtained analogically and defined as follows:

$$\begin{aligned} R = \biguplus _{\alpha =0}^{\alpha _{\max }} \left\{ R_{S\alpha } \star _T \mathop {\bigstar _{\text{T}}}\limits _{i=0}^{n_{\alpha }} R_{\alpha _i} \right\} . \end{aligned}$$
(24)

5.1 Assessment of an input signature

After obtaining the final result \(R,\) which is the level of conformity, an assessment needs to be performed in order to classify the input signature \(S_{\rm in}\) as genuine/matched or forged/not matched. In general, two solutions are possible. The most simple way is to assume one fixed level \(R_{\min _{\rm in}}\) for the whole recognition system. Unfortunately, as it is easy to apply, it makes the system insensitive to diversity between different cases.

The second approach considers each fuzzy signature separately. In this case every fuzzy signature stored in the database has a decision level \(R_{\min _i}\) assigned, where \(i=1,2,\ldots ,P\) and \(P\) is the number of stored fuzzy signatures \(FS.\) The \(R_{\min _i}\) value works as a trigger. When \(R \ge R_{\min _i}\) for the \(S_{\rm in}\) sample, it is classified as genuine/matched for signature number \(i\) or forged/not matched if \(R < R_{\min _i}.\)

In the presented approach the second form of assessment is applied. The trigger level \(R_{\min _i}\) is calculated immediately after obtaining the fuzzy signature \(FS\) and again involves the learning samples in the process. The idea is to calculate the level of conformity of the FS with the learning samples and to adjust the \(R_{\min _i}\) to the worst result. It can be described by the following equation:

$$\begin{aligned} R_{\min _i} = \min (R_1,R_2,\ldots ,R_L)(1-\Delta r), \end{aligned}$$
(25)

where \(R_1,R_2,\ldots ,R_L\) represent the levels of conformity obtained for \(L\) learning samples. An additional parameter \(\Delta r \in [0,1]\) is used to allow the system user to define an extra range where signatures are also classified as genuine/matched.

6 Results obtained

The described method was implemented in Java programming language using the FUZZLIB library [3133] as the set of tools for fuzzy systems development. The designed application allows the system user to configure many different properties and parameters, which are presented in Table 3.

Table 3 Configurable properties and parameters of the fuzzy system

Tests were performed for different configuration of parameters to find the suite of values and properties giving the best results of FAR and FRR error levels. As the source of signatures the SVC2004 database was used [49]. It contains 1,600 signatures of 40 people, where 40 signatures are assigned to each person (20 genuine and 20 professionally forged). Unfortunately, performing tests covering all possible combinations, even for several values of each parameter, is extremely time-consuming because of an exponential complexity of the problem. That is why in assessment of the most important parameters of the system test were executed starting with arbitrarily chosen values which were modified during the process. In many cases this kind of method reveals a general influence of one changing parameter on the obtained results.

Before the tests the problem of the learning samples number (parameter \(L\)) had to be analysed. In general, if more signature samples of an individual are involved in the learning process, then the recognition level for signatures of that person is higher. On the other hand, in case of the analysed approach, too much samples can generate large widths of created fuzzy sets making the system too “fuzzy”, having a negative impact on the FRR error. It is caused by the differences between signatures of one person. Secondly, adjusting the system with too big number of learning signatures is uncomfortable for the user and the person responsible for the process. Even if it is done only once, in case of many potential users it could be considered as a disadvantage of the verification system. That is why the size of a learning set have to be chosen reasonably by finding a compromise.

During tests of the presented system it was assumed that the number of learning signatures should not exceed 5 samples. The decision was based mainly on the small number of genuine signatures for each individual in SVC2004 database (20 signatures). In that case, for at least 15 remaining samples, the obtained FRR coefficient can be considered as representative. That is why the tests were performed for two values: the highest \(L=5,\) which were expected to give better results and smaller \(L=3\) to analyse the influence of a decreased number of learning samples. The results presented at Fig. 6 confirm the expectations.

The verification method and the type of T-norm were analysed next. The best results were obtained for the “soft-hard” approach and the minimum T-norm. The “hard” and “hard-soft” solutions were rejected at the beginning. The methods practically adjust the system only to the learning samples and reject most of the other genuine samples, which results in a very big FRR and disqualifies the approaches. The “soft” and hybrid “soft-hard” methods gave the best results, making the system much more responsive to adjustment of the parameters. However, only with the “soft-hard” method the system was able to obtain a very low FAR for FRR below 25 %. In case of T-norm analysis, the Lukasiewicz and the nilpotent T-norms occurred to be too restrictive. These functions assign zero to lower values of their parameters, which is undesirable particularly for the “hard” verification method and partial matching in general. For the product and the Hamacher product the system produces very low values of conformity levels, which causes a difficulty in adjustment of \(\Delta r.\) The problem can be partially solved by increasing \(\gamma \)—the fuzzyfication ratio, which obviously reflects on the FAR error. This fact causes that the system is less responsive to changes of the parameters in comparison to the minimum T-norm.

One of the most important parameters is the \(\Delta \alpha.\) Therefore, the second group of tests were performed with fixed configuration of other parameters (\(\gamma,\) \(\sigma _{\min},\) \(\beta,\) \(\Delta r\)) to analyse the influence of different \(\Delta \alpha \) values. Results obtained for \(\Delta \alpha =1,2,3,5,10,15,20,30,35,40\) and \(45\) are shown in a chart form at Fig. 6.

Fig. 6
figure 6

FAR and FRR errors depending on the \(\Delta \alpha \) parameter. Charts obtained for the “soft-hard” and “soft” methods

Taking into account both FAR and FRR coefficients it can be noticed that the highest recognition levels (especially FAR) were obtained for \(\Delta \alpha \le 25^\circ.\) Larger values of the parameter cause a noticeable growth of the FAR coefficient in particular. Results of FAR for the “soft-hard” approach in the described range are very similar. However, in case of \(\Delta \alpha =25^\circ \) there is much smaller number of analysed angles, which gives a much shorter time of computation (i.e. around 25 times less data to analyse in comparison to \(\Delta \alpha =1^\circ \)). That is why two values from the range were chosen for a detailed analysis: \(\Delta \alpha =10^\circ \) because of the lowest FRR levels and \(\Delta \alpha =25^\circ \) because of the computation time. For the two chosen angles, the “soft-hard” verification method and the minimum T-norm, the remaining parameters of the system were adjusted: fuzzyfication ratio \(\gamma,\) minimum width \(\sigma _{\min},\) the range \(\beta \) and the range \(\Delta r.\) The number of learning samples \(L\) was set to 5, because it gave better results in the previous test. Table 4 contains two groups of the best results obtained for FAR near 0.6 and 1.5 %.  

Table 4 Test results

 

6.1 Computational complexity

The process of creation of the fuzzy signature FS is characterized by a linear time complexity (\(O(n)\)), according to the \(\Delta \alpha \) parameter. During tests the 2core 2.2 GHz Intel processor machine was used. The average time of computation of one fuzzy signature was equal 1.7 ms for \(\Delta \alpha =10^\circ,\) and 0.77 ms for \(\Delta \alpha =25^\circ.\) Each FS was created from five learning samples. An average time of verification for one signature (\(S_{\rm in}\)) was equal 0.59 and 0.27 ms, respectively.

It is important to emphasize that all numerical tests were implemented in the Java language and executed within the Java Virtual Environment. Considering the fact of possible implementation at non-virtual platform it gives hope for much shorter times of computation.

7 Conclusions

As it was mentioned in the introduction, one goal of the paper was to define an automated process of signature analysis for biometric classifiers, where machine learning methods can be used. The present paper formulates the appropriate structure of such method and describes all the phases needed to build a fuzzy system dedicated for signature verification. The proposed method can be applied in the environment, where input signatures, even of the same person, are characterised by a large differences and for this reason cannot be accurately recognized using other methods. The high FRR ratio causes that the technique is destined for important security systems, where FAR errors should be very low. It must be emphasised that a very good result of FAR obtained for the presented solution stands against the common opinion that the off-line methods are easy to forge.

Another advantage of the approach, certainly very important for security systems, is the characteristic preprocessing phase, which greatly increases the safety level of information stored in the database. In case of a data theft the intruder has an access to a processed form of signatures, which cannot be used to recreate the original. In addition, small time complexity of the algorithm gives hope for a further development of the method, which can be applied in various domains.