1 Introduction

Fingerprints are one of the most reliable biometric features for human identification. Most of the fingerprint databases depend on the status of the finger’s surface (humidity, dust, temperature, etc.,), which can affect the accuracy of the identification system. Fingerprint identification is a big challenge for the research teams when faced with a low-quality fingerprint database. This makes the identification process more difficult, which affects the accuracy of the system. Our paper proposes a way to identify the problem that causes the low-quality images based on a combination of morphology method with image segmentation using move–expansion algorithm and then matching template by the artificial neural network. This paper is organized as follows. In the next section, the fingerprint identification system is described. Namely, in Sect. 3.1 preprocessing image to enhancement fingerprint image quality is discussed. In Sect. 3.2, fingerprint feature analysis and extraction are given. In Sect. 3.3, the matching with templates in system database is given. In Sect. 4, the result of experimentation is given. Finally, Sect. 5 concludes the article with the final remarks and future work plans.

2 Related Work

Fingerprint identification systems have the same structure (Fig. 1) which is preprocessing input data, feature extraction, and matching databases. The differences between the systems are the technical choice, the features selected to be used and the matching method.

Fig. 1
figure 1

Basic structure of the fingerprint identification system

Fingerprint confirmation [1, 2] requires comparing a registered or enrolled biometric sample besides a newly captured biometric sample. During enrollment, a sample of the fingerprint attribute is captured, which is processed through a computer and stored for later comparison and matching. The fingerprint identification technology involves the identification and verification of individuals by analyzing fingerprint characteristics and has been widely used in various aspects of life for different purposes. Despite the numerous advantages of the fingerprint identification system and its impact on various work sectors across the globe, most users of identification technology still face the challenge of defining the right and accurate technology system that will be cost-effective for solving particular problems in a specific environment [3].

The authors in [4] conducted a study entitled “A Wireless Fingerprint Attendance System” which combined fingerprint authentication with the process of attendance management, thus forming a novel “automatic attendance management technique”, a design method of a wireless fingerprint attendance system based on ZigBee. It achieves attendance management by fingerprint identification. It combines ZigBee wireless technology and attendance management. It has achieved low-cost, low-power and high-performance fingerprint information acquisition, transmission and recognition function. In [5], the authors focused their attention on the technical details and performance comparison of various available fingerprint sensors and explored the future direction and system development that state using similar techniques for chance or latent fingerprint enrollment. The process of scanning a fingerprint image consists of a sensor and human interaction, and the quality of image acquired is highly dependent on the fingerprint sensor used. Miguel et al. [6] introduced a short review on combination methodology in hand biometric technology based on hand traits. It shows a clear tendency on increasing the number of traits to be combined and the step to contactless devices. Besides, it is shown that the four biometrics improve the performance of the biometric scheme when they are combined. The purpose of authors in [7] is to develop an embedded system, which is used for security applications and includes a microcontroller-based prototype of an attendance system using a fingerprint sensor and face recognition module is implemented. They conducted a study entitled “Attendance Monitoring Systems of Students Based on Biometric and GPS Tracking System”. This system is a fingerprint recognition system based on minutiae-based fingerprint algorithms used in various techniques.

In [8], the authors investigated possibilities of incorporating artificial neural networks [9] into the fingerprint recognition process, implemented and documented for fingerprint identification based on neural networks [10] whose impact on feature extraction accuracy and overall recognition rate was evaluated. The result of this research is a fully functional software system for fingerprint recognition that consists of a fingerprint sensing module using the high-resolution sensor, an image enhancement module responsible for image quality restoration. An approach was proposed to generate very realistic fingerprints, which can be useful for performance evaluation, training and testing fingerprint-based systems [11]. It is a method for generating synthetic fingerprints on the basis of some mathematical models that describe the main features of real fingerprints. The synthetic images are randomly generated according to a few given parameters. SFinGe captures the variability which characterizes the acquisition of fingerprints through online sensors and uses a sequence of steps to derive a series of “impressions” of the same “artificial finger”.

3 System of Fingerprint Identification

3.1 Preprocessing Image to Enhancement Fingerprint Image Quality

Fingerprint image quality is really important. It is one of the factors that determine the success of an image fingerprint identification system. But unfortunately, almost all fingerprint photos are not of perfect quality. They can be deformed, damaged by noise, such as the skin properties of each object (temperature, the humidity of the skin) are collected fingerprints, position on the finger (fingerprint angle, area fingerprints) and pressure (too strong or too light) when rolling out to sample. So to overcome the above errors, we performed image quality enhancement before segmenting and extracting features. The steps to improve image quality are as follows:

  1. Step 1

    Filter noise image by Wiener [12]. The goal of the Wiener filter is to compute a statistical estimate of an unknown signal using a related signal as an input and filtering that known signal to produce the estimate as an output. The Wiener filter can be used to filter out the noise from the corrupted signal to provide an estimate of the underlying signal of interest. Therefore, it is very suitable for cases where the fingerprints fail during collection.

  2. Step 2

    Histogram equalization and normalization to reduce the effect of non-uniform intensities and improve image quality by stretching its histogram

  3. Step 3

    ROI extraction with morphology method. The morphology method has two operations: opening and closing. Opening is removing objects that are not large enough, separating them from large objects. Closing is connecting discrete samples, filling small holes. Here, we use both properties to localize and select the desired area.

  4. Step 4

    Image segmentation using move-expansion algorithm [13, 14] image segmentation method is used to segment the images [15, 16]. We applied an efficient graph-based method (alg. 1) to find the optimal image segmentation. A graph \( G = \left( {V, E} \right) \) is constructed by nodes \( V \) and edges \( E \). Pixels of the image as nodes, two additional nodes \( S \)(source) for the object-fingerprints and \( T \) (not fingerprints) for the background are considered. To build a weighted graph from an image \(d = \left( {4, 8} \right) \), neighborhood system is considered. For each pair of nodes, t-link is the edges that are connected.

figure a

Let us briefly outline the approach we used. These segments are called “sites” and have a predefined orientation of 0°, 45°, 90°, or 135°. The separation between both cases is done with parameter \( k \in \left\{ {0;1} \right\}. \) Our goal will be to segment an image by constructing a graph such that the minimal cut of this graph will cut all the edges that connect the pixels of different objects with each other.

  • An edge directed graph represents the size and dimension of the target segmenting image has to be created.

  • Object and background seeds have to be distinguished properly with the formation of nodes—source s and sink t. Based on the object or the background labels, all seeds have to be connected with either source or sinks node.

  • Each link of the formed graph is to be associated with suitable edge costs.

  • Any minimum s-t cut method is to be used, which indicates the graph nodes represent image boundaries for object and background.

At the end of the image preprocessing process, we obtained a fingerprint image with a better quality than that of the original image, with a clear fingerprint line as shown in Fig. 2.

Fig. 2
figure 2

Example of fingerprint image preprocessing

3.2 Fingerprint Feature Analysis and Extraction

3.2.1 Fingerprint Feature Analysis

Human fingerprints are completely different. Each person has a unique fingerprint, and the probability of coinciding with others is almost zero. The overall shape of a human fingerprint does not change over time. It has these irreversible characteristics: singularity (as shown in Fig. 3a) and minutiae (as shown in Fig. 3b). These special points will exist on the lines of the fingerprint so that we can extract and use them as a basis to accurately identify each object. The database of fingerprint used to research has a resolution of each image of 300 dpi and a size of 256 × 256.

Fig. 3
figure 3

Example of fingerprint features

3.2.2 Feature Extraction of Singularity

On the fingerprint, there are areas with unusual structures compared with that of other areas. They often have a parallel structure called “singularity”. There are two types of singularity: core and delta. To extract singularity characteristics, we proceed as follows:

  1. Step 1

    Divide the image into window cells of size \( N * N \).

  2. Step 2

    At each pixel, gradients calculated in two directions \( x \) and \( y \) are \( G_{x} \) and \( G_{y} \) based on the formula:

$$ \varphi = \frac{1}{2}\tan^{ - 1} \left[ {\frac{{\mathop \sum \nolimits_{i = 1}^{W} \mathop \sum \nolimits_{j = 1}^{W} 2G_{x} \left( {i,j} \right)G_{y} \left( {i,j} \right)}}{{\mathop \sum \nolimits_{i = 1}^{W} \mathop \sum \nolimits_{j = 1}^{W} \left( {G_{x}^{2} \left( {i,j} \right) - G_{y}^{2} \left( {i,j} \right)} \right)}}} \right]. $$
  1. Step 3

    Identify singularity points using the Poincare index [17]. Poincare index at the pixel with coordinates \( \left( {i, j} \right) \) is the sum of the deviations of the direction of adjacent points, calculated as follows:

$$ PC\left( {i,j} \right) = \mathop \sum \limits_{k = 0}^{{N_{p} - 1}} \Delta \left( k \right), $$
$$ \Delta \left( k \right) = \left\{ {\begin{array}{*{20}l} {d\left( k \right),\left| {d\left( k \right)} \right| < ~\frac{\pi }{2}}, \hfill \\ {d\left( k \right) + \pi ,d\left( k \right) \leqslant - \frac{\pi }{2}}, \hfill \\ {d\left( k \right) - \pi }, \hfill \\ \end{array} } \right. $$
$$ d\left( k \right) = \varphi \left( {x_{k + 1, } y_{k + 1} } \right) - \varphi \left( {x_{k} , y_{k} } \right).$$

Based on the Poincare index, we can identify singularity points as follows:

$$ PC\left( {i,j} \right) = ~\left\{ {\begin{array}{*{20}l} {0^{^\circ } ,} \hfill & {\left( {i,j} \right)\, {\text{is}}\;{\text{not}}\;{\text{singularity;}}} \hfill \\ {360^{^\circ } ,} \hfill & {\left( {i,j} \right)\, {\text{is~}}\;{\text{whorl;}}} \hfill \\ {180^{^\circ } ~,} \hfill & {\left( {i,j} \right)\, {\text{is}}\;{\text{loop;}}} \hfill \\ { - 180^{^\circ } ~,} \hfill & {\left( {i,j} \right)\, {\text{is}}\;{\text{delta}}}. \hfill \\ \end{array} } \right. $$

3.2.3 Feature Extraction of Minutiae

There are points on the fingerprint line that is ridge ending or bifurcation. They are called minutiae features. To extract singularity characteristics, we proceed as follows:

  1. Step 1

    Decompose a given textured image with 2D wavelet transform into 4 sub-images. The image is divided into four sub-bands after wavelet transforms: horizontal, vertical, diagonal, and low-resolution sub-images.

  2. Step 2

    Extract wavelet transform-based extraction with coefficients and create vector:

$$ \overrightarrow {{I_{i} , }} i = 1, \cdots, N. $$
  1. Step 3

    Calculate the mean absolute value feature for each decomposed image as follows:

$$ I_{N} = \frac{1}{N}\mathop \sum \limits_{i - 1}^{N} I_{i}. $$
  1. Step 4

    Calculate the standard deviation from each image as follows:

$$ \overrightarrow {{u_{i} }} = \mathop \sum \limits_{k = 1}^{N} V_{ik} \theta_{k} , i = 1, \cdots, N. $$

\( \theta_{k} = \overrightarrow {{I_{i} }} - \overrightarrow {{I_{N} }} \) : subtraction of the average image from each image.\( V_{ik} \): vector of each matrix \( W^{t} W, W = \left\{ {\overrightarrow {{\theta_{1} }} , \cdots , \overrightarrow {{\theta_{N} }} } \right\} \).

3.3 Matching with Templates in the System Database

Common algorithms used for fingerprint matching can be categorized into three groups: correlation-based matching, minutiae-based matching and ridge feature-based matching [18]. Correlation-based algorithms use cross-correlation as a measure of similarity between two image pairs. Ridge feature-based techniques refer to methods utilizing features belonging to ridge patterns [17]. These algorithms use global and/or local cross-correlation techniques. Both correlation and minutiae-based algorithms can be considered subsets of ridge feature-based algorithms since they are based on information from ridges.

The method of fingerprint identification by the artificial neural network [19, 20] will train the neural network based on data samples and the location of the fingerprint features. The trained neural network will then be used to match new fingerprints that need to be identified. Fig. 4 shows the flowchart.

Fig. 4
figure 4

Flowchart of the fingerprint identification system by neural network algorithm

Neural networks comprised layers of computational units called neurons, with connections in different layers (Fig. 5). These networks transform data until they can classify it as an output. Each neuron multiplies an initial value by some weight, sums results with other values coming into the same neuron, adjusts the resulting number by the neuron’s bias, and then normalizes the output with an activation function.

Fig. 5
figure 5

Structure of neural network algorithm to training and testing templates

A key feature of neural networks is an iterative learning process in which records (rows) are presented to the network one at a time, and the weights associated with the input values are adjusted each time. The advantages of neural networks include their high tolerance to noisy data, as well as their ability to classify patterns on which they have not been trained.

4 Result of Experimentation

The experiments were performed on two databases of fingerprint verification competition (FVC) group, and our database of 500 fingerprint images taken from 100 different fingers, each finger was taken 5 times. The resolution of each image is 300 dpi, and the size is 256 × 256. We divided these images to create training data of 100 and 400 images for matching. All experiments were conducted using a Win10 PC with Intel Core i3 CPU @ 3.00 GHz and 2.00 GB RAM.

The network input is the location of the feature points. To determine the location of a point, we must have a relatively fixed origin. Here, we choose the core point as the origin, because the core point always exists and is relatively fixed in the fingerprint. In this paper, we selected the perceptron straight through network with one output, each network corresponding to a sample. Thus, when we need to match a pattern, we have to compare that pattern across all networks in the database. Because comparing the sample over simple networks is faster than the time it takes to train a large network, the method is feasible. Based on such network selection, we will activate the output as a linear function and will be trained to zero for each sample. The network processes the records in the “training set” one at a time, using the weights and functions in the hidden layers and then compares the resulting outputs against the desired outputs. Errors are then propagated back through the system, which causes the system to adjust the weights for application to the next record.

This process occurs repeatedly as the weights are tweaked. During the training of a network, the same set of data is processed many times as the connection weights are continually refined.

To evaluate the performance of a fingerprint identification system, we need to analyze two types of errors: false acceptance rate (FAR—the percent of unauthorized users incorrectly matched to a valid user’s biometric) and false rejection rate (FRR—the percent of incorrectly rejected valid users) [21]. FAR occurs when we accept a user whom we should actually have rejected. This type of issue is also referred to as a false positive. FRR is the problem of rejecting a legitimate user when we should have accepted it. This type of issue is commonly known outside the world of biometrics as a false negative. A false acceptance occurs when an unauthorized subject is accepted as valid. If an organization’s biometric control is producing a lot of false rejections, the overall control might have to lower the accuracy of the system by lessening the amount of data it collects when authenticating subjects. When the data points are lowered, the organization risks an increase in the false acceptance rate. The organization risks an unauthorized user gaining access. This type of error is also called a type II error.

In addition, the receiver operating characteristic (ROC) curve [22, 23] (Fig. 6) was used to analyze the effectiveness and accuracy of the methods neural network for fingerprint identification.

Fig. 6
figure 6

Result of analysis ROC for fingerprint identification. a Result of the FVC group database, b result of our database

The result of Table 1 shows that the time to collect a sample of two-layer perceptron needs more than one-layer perceptron, but its matching results are much better and more stable than a one-layer perceptron.

Table 1 Compare collection time and matching time between one-layer perceptron and two-layer perceptron

To demonstrate the robust accessibility of the proposed method-neural network algorithm. We have experimented FVC group database with two algorithms: random forest [24] and support vector machine (SVM) [25]. Criteria are used to compare algorithms (shown in Table 2): training time and correct rate and mean square error (MSE) [26].

Table 2 Results of identification fingerprint of FVC database by algorithms: neural network one-layer perceptron, neural network one-layer perceptron, random forest, and support vector machine
  • Parameters of the random forest algorithm:

    • The number of trees to train model = 1 200.

    • The function to measure the quality of a split—Gini Impurity.

    • Bootstrap samples = True.

  • Parameters of the support vector machine algorithm:

    • Penalty parameter to measure error term = 1.0.

    • Kernel: basis functions.

    • Shrinking heuristic = True.

5 Conclusions

5.1 Limitations

The fingerprint authentication generates a very high percent accuracy. However, it has been observed that the unrecognized fingerprint data input was mainly from the finger not being pressed hard on the quality of the scanner. So, we need to develop an algorithm for enhancement image to improve the quality of the image and reduce the time of the running process.

5.2 Advantages and Disadvantages of the Proposed Methods

We proposed an automated fingerprint identification system for image enhancement, feature extraction and matching. The method of neural networks represents the core of machine learning for comparison template. The accuracy of the system reached 97.75% on the mixed high- and low-quality fingerprint database. However, its accuracy can be further improved by extending the training database. In addition, the network’s architecture can be easily modified to support more complex training process.

5.3 Future Research Works

Our interest is also aimed at deep learning [27,28,29] by means of neural networks that have proved their exceptional performance in a multitude of applications. One of the future prospects is to extend the proposed system to design a convolution neural network for extracting feature fingerprints (orientation field, density map, etc.), which is one of the top open research issues in modern fingerprint recognition, particularly in forensic and law enforcement applications.