Fingerprint Classification Using Deep Convolutional Neural Network

Fingerprint classification is a method of reducing the number of candidates needed by fingerprint recognition systems to determine if a fingerprint picture matches one in the database. Deep learning has gained a lot of attraction in the recent decade including natural language processing, digital image processing, speech recognition, handwritten digit recognition, medical picture assessments, and so on. The subject of this paper is to explore the factors affecting fingerprint classification using a convolutional neural network and to train and test a deep CNN model, The CNN model includes two serial stages, a preprocessing phase which is used to enhance the fingerprint images qualities, and post-processing phase which used to train the classification model. This has been accomplished by designing a new deep convolutional neural network model for this work. The Convolutional neural network model achieved outstanding classification accuracy on the fingerprint. This experiment used the NIST DB4 dataset which contains 4,000 fingerprints images with five labels. Separately, each label of this database comprises almost 800 fingerprint samples with dimension of 512 x 512. To lower the training time required we reduced the fingerprint images up to 200 x 200 dimension. the study achieves 99.2% of classification accuracy with a zerorejection rate.


Introduction
Biometrics is used to measure and discovering human identity based on physical, behavioral, and chemical characteristics. The Biometric system can be fingerprints, odor, face, and voice. Fingerprint and face can be characters as physical traits, voice is behavioral characteristics, and odor is a chemical attribute. A fingerprint recognition system is an automated method that describes a personal identity, based on a process of comparing stored database with the input fingerprint image. Every human being has a unique fingerprint at any age and they are patterns that never change it is appearance even when it is burned it will grow back with it is an original pattern. Fingerprints are the most common and well know authentication system. Fingerprint biometric systems are very common tasks in the forensic lab and law enforcement teams. in the last decades, the United States of America police and the Federal Bureau of investigation FBI stored millions of fingerprint images in an integrated automated fingerprint identification system. Low enforcement agency computers respond at least half house for any identification request [1]. To minimize the time consuming of the fingerprint recognition system, first, we need to identify fingerprint class. Identifying the fingerprint classification is not define the personal identity although the perfect classification can shorten the authentication process by decreasing waiting time, searching, and pointless computation. The Federal Bureau of Investigation itself mentions in its NBIS print program guideline that "To know the class of the fingerprint is effectively decreasing the amount of candidate that searching fingerprint need to decide if the print matches the database files" [2,3].
Normally, fingerprints can be classified into three main classes; arches loops and whorls, and then increase up to five classifications by separating Loops into two categories (left loop and right loop), and arches into two categories (tented and arch).
Fingerprint classes are not consistent, both whorl and Loop fingerprints are the most common fingerprint with almost 94% of all fingerprints exist. only 6% of human being has arch patterns. This paper is arranged as follows: part II related work, part III Methodology, part IV Result, and lastly part V conclusion.

Related Work
A research study conducted by Shrein [3] with the topic of "Fingerprint Classification Using Convolutional Neural Networks and Ridge Orientation Images" proposed Convolutional neural network architecture for fingerprint classification. The author uses NIST-DB4 which comprises 1650 image samples. Gaussian filter is used to smooth fingerprint images, then ROI was selected. Finally, data augmentation was used to generate an extra image from the existing database. In this study CNN architecture was used as postprocessing, the architecture contains three different layers; pooling layers, convolutional layer, and fully connected layers. All layers were used ReLu for activation function to decrease the unsupervised pretraining in the CNN. Shrein conducted all his experiments on laptop core i7 with sixteen gigabytes of memory and an Nvidia graphics processing unit. Experiments use 50 epochs and took almost 20 seconds for each epoch. Finally, the study achieved an accuracy rate of 93.5% for five labels and four labels 95%.
Yong Rhee and his research fellow studied fingerprint pattern classification using a convolutional neural network [4]. Use fingerprint verification competition 2000, 2002, and 2004 dataset in five labels. To enhance fingerprint image quality normalizing and segmentation process was applied, then binarization and Gabor filter were used. In this paper, Oxford's VGG architecture model was used to applied classifications. The authors implement three different models; First architecture has the shortest learning time and lower accuracy, in the next model the accuracy has increased, and in the last model experiment has achieved 97.1%.
Another study conducted by Hadi Veisi and Behnam Bakhshi with the title of "End to End Fingerprint Verification Based on Convolutional Neural Network" was proposed two CNN architectures [5]. FVC 2002 dataset was used as an experiment dataset with augmentation techniques to escape overfitting issues. This dataset comprises 110 fingerprint images. Ten images were used for testing, 10 fingers are used for validation, and the rest 90 fingers were used for the training phase. The pre-trained AlexNet model is used to rise training speed and original convolutional neural network which contains both classification and hidden layers. The proposed model has no prepossessing requirement. The authors accomplished an equal error rate of 17.5%. this is an improved consequence compared to A-KAZE which provided an EER of 41.6%.
Paralt, et al. use a convolutional neural network to classify finger patterns [11]. In this study, CaffeNet pre-trained were implemented and proposed a new CNN model for fingerprint pattern classifications. The new proposed model comprised multiple layers such as a convolutional layer, fully connected layer, and pooling layers. In Both model's stochastic gradient descent were trained. NIST-DB4-F and NIST DB4-S datasets were used to train and test the model. The authors of [11] achieved different accuracy rates, on NIST-DB4-F 90.7% accuracy was achieved, while NIST-DB4-S achieved 88.9% with zero rejection rate. all experiments were conducted on a core i7 computer with 24GB Random access memory with Nvidia Graphic Processing Unit. This experiment has no preprocessing.

Preprocessing
The convolutional neural network model has a bunch of parameters that could be learned in the train section. To train the CNN network, and to achieve perfect performance, we need a large dataset with detailed classes. Though Currently, several fingerprint databases are accessible online, it is very difficult to choose a database with enough capacity to train the CNN model. To assess and choose a public database we are looking at the quality of the image, number samples dataset contains, and class labels. due to its quality, NISTDB4 was preferred to implement this research. The database has 4,000 samples and five different category labels, and it's free. There are only 2000 unique fingerprints in NISTDB4, which means that each fingerprint is sampled twice [6]. Because more images are more suitable for training and testing CNN networks.

Ridge Orientation
In general, fingerprint patterns comprise local features such as co-directional regions which know as minutia, and global features. Local ridges are useful for individual identification or verification. In global function, the orientation of the ridge is a functioning of obtaining the ridge angle of all fingerprint images. In almost all fingerprint procedures, the value of the ridge line of the fingerprint brings severe effects [7,8]. You can use orientation fields for the improvement of the quality of the fingerprint. Gradient-based approaches are the most common technologies used to calculate Ridge orientation. In addition, high performance can be achieved using a Gradient method during the CNN test.

ROI Segmentation
It is useful to know the region of interest (ROI) of all fingerprint matters. As it only contains background information, the fingerprint sections that are not ridge or valleys were ignored. The latest limits of the active area are displayed when the details of the limit area are confusing the fine details created when the sensor is outside. Two techniques are used to find areas of interest ROI.
a. Block direction guesstimate and direction variety b. Morphological Technique ROI is used to remove the background part of the fingerprint. However, the convolutional neuronal tests and training will be equal or more effective without using ROI.

Binarization
The process of converting gray-level images into a black and white image is known as binarization. basically, reduction the image information from 256 shades value into two black and white binary images. This process is also known as image threshold processing. The images are divided into component objects and are generally implemented to extract or define objects of images [7]. Recently, there are several techniques used for image binarization, but there is not one single technique to apply all the image.

Thinning
Thinning fingerprint patterns is a process of reducing the thickness of the ridge line in image pixels by removing image pixels at the corners of the image ridge. Generally, the basic concept of thinning a fingerprint image is to generate a template and then match the binary image to the created template to confirm whether a pixel is recognized at a certain point. This reduction can be achieved in the skeleton of the entire region by thinning techniques. Figure 5 shows the result of thinning.

Network Model Architecture
CNN has been proven to be one of the active promising algorithms in image classification tasks, including classic problems such as Fingerprint classification, handwritten recognition as well as others [9,10,12,13]. It is offering a real-life solution to other fields such as motion synthesis, facial recognition, and pose estimation. For training and testing deep convolutional neural network models, every input image will pass through over a series of layers. The layers are defined as follow: a. Input data: all input image sizes in this experiment should be 200x200 dimensions. b. Convolutional layers: every conv layer consists of a bank of kernels which implemented with the output of the earlier layer, or the input data if it is not the first convolution layer. Here in this study, the first two layers are a convolutional layer with 32 kernels, 5x5 dimensions, and a stride of 3. c. Pooling Layers: in this work max-pooling was used as it is a perfect technique to perform downsampling on the output data by selecting the maximum value. Here Max-pooling has 2x2 dimension with 2 strides. d. Another two convolutional layers were added with 64 kernels of dimension 2x2. e. Dropouts: are used to cut the weight connection between layers. 0.2 dropout was implemented to remove the 20% weight between the FC layer and the convolutional layer. f. Fully connected layer: these layers perform a flattening process to convert the image matrix into a dimensional vector. The Fully Connected layer contains 128 neurons. Finally, there are 5 neurons attached to a single-layer FC, and the number of network outputs is the same. The first FC layer and all convolutional layers use ReLu as the activation function to cut unsupervised pre-training in CNN layers. All experiments are performed using Matlab, which offers a deep learning toolbox. The architecture model of this study is shown in Figure 6.

Result
NIST database was divided into the training portion and testing portion. 20% of the data were used to test the convolutional neural network model. A group of fingerprints images was used to input on the network model one by one. every attempt of loading one fingerprint, a loop function was applied to confirm if the network was classified correctly. The class categories in the database class have an appreciation such as R which stands for Right loop, A which means Arch, L for Left loop, T present for Tent and W for Whorl fingerprint. Table 2 demonstrates that the trained algorithm has trouble classifying the Tents fingerprint pattern, with a 1.75 percent misclassification rate. The Tents fingerprint pattern resembles the Arch fingerprint pattern quite closely. The similarities among both patterns are that both ridges begin on one side of the fingerprint and flow to the opposite side. the ridges of the Arch fingerprint pattern move from one side and irritated to the other side as a waveform in the center of the pattern. The arch pattern's ridge is not continuous, as it is in a Tent pattern, but rather lies in the middle of the fingerprint pattern. As the dataset was split into two groups. The first group is training, which makes up 80% of the database, and the second group is testing, which makes up the remaining 20%. During training, we see that the number of fingerprints in the database is growing. Monitoring the quality of the training database and choosing different training parameters can help increase the model achievement rate.
The assessment results of the deep convolutional neural network model training and validation classification accuracy rate over the 10 epochs are shown in Figure 7. Classification accuracy rate is described as the number of valid predict to the total number of predict made. The proposed CNN model network has achieved by 99.2% of classification accuracy rate.
On the other side, we have less false classification and the highest classified rate, with five labels of fingerprint classes being used to train a CNN model and determining the number of neurons required in the model's output layer. The model also ignores the issue of overfitting, which means less complexity of the system.

Conclusion
In a biometric system, the human fingerprint includes patterns that may be used as a secret password. In this study, the basics of human fingerprint classification are discussed. Besides, a new CNN architecture model was proposed and tested to classify fingerprints. The model consists of two main processes, the post-processing step which is used to train and classified the fingerprint image, and preprocessing stage for increasing the fingerprint quality. Thinning techniques, ROI segmentation, ridge orientation, and Binarizing were used to enhance the fingerprint images.
The main advantage of the proposed network is the very high accuracy rate. Similarly, the network model can execute automatic fingerprint pattern classification without a human interacting. in this respect, when the input image is uploaded, the preprocessing stage will be applied and then to the trained a CNN layer will implement. The fingerprint feature is extracted along with the kernels learned during the training period and lastly the class label of the fingerprint is classified.