Related Works

Fingerprints are identifiers that are unique to every individual thus making its classification and verification a pattern recognition problem. This particular type of problem is considerably tricky to solve because of the large intraclass and small interclass differences. Optical images of fingerprints can be classified on the details of its ridge configuration. \cite{s2009} We can break them down into three different classes as shown below:
The topmost or the first most layer (also known as global) we can casually classify them on the basis of the visual representations formed by the ridge pattern which gives us three distinct regions that can be named loop, whirl, and delta. 
On the second layer, we can drill down further to find more unique and detailed characteristics in these ridges which is commonly referred to as minutiae.
Finally, at the last layer, we can classify on the basis of all the features of the ridge pattern.
There are already many existing fingerprint biometric applications available in the market. These applications make use of feature-based learning algorithms which generally make use of particular characteristics for the fingerprint classification. These include global features such as the orientation of the optical input, the ridge pattern, singular points and also Gabor filters may be applied to highlight selected features of the data input. The mentioned features can be extracted and classified in multiple ways depending on the methodology used. 
 \cite{Maltoni2009}
Many of these algorithms are verified for accuracy and performance against popular fingerprint databases such as NIST SD4, SD14, and SD9. \cite{al2015}
Although some approaches that use feature-learning algorithms have been proposed in the past, global characteristics are generally used for classification, in particular: ridgeline flow, orientation image, singular points, and Gabor filter responses  \cite{Maltoni2009} . Among them, the orientation image is the most used. The feature extraction can be performed in several ways, depending on the kind of feature, the quality of the image, and the accuracy that the following classification phase requires. 
The goal of the classification stage is to learn a classifier based on labeled fingerprints. The techniques proposed in the literature are evaluated on a number of different databases, like NIST SD4, NIST SD14 , NIST SD9 (Watson and Wilson, 1992b), with the first one as the most popular one. \cite{Galar2015}
The algorithms can be broken down on the basis of:
Rule
These algorithms break down the provided fingerprint data input on the basis of the singularities, taking in to account its number and positions. Here the singularity points are found and the final classification is done based on the pattern formed by these singularities. A fine example is demonstrated in the article fingerprint pattern classification by Kawagoe and Tojo. \cite{a1984}.
Syntactic
These algorithms are based on a general grammar like in the case of NLP applications. Here the features extracted from the input data is stored as symbols in the database. These symbols are formed from ridgeline flows which are then classified by a set grammar. We can see an example of this in Type classification of fingerprints: A syntactic approach by Rao K and Balck K.\cite{k1980}
Structural
These algorithms break down the fingerprint input and store it in specific data structures and formats like graphs and trees to better understand and convert the features into a higher level representation. An example of this can be seen in A structural approach to fingerprint classification by Maio D and Maltoni D. \cite{d1996}
Statistical
These algorithms are completely based on the statistical data computed. These data are generally calculated by using common statistical applications such as Bayesian Decision Rule, Support Vector Machines (SVM) and also the one we will be improving the performance of in our research the K- Nearest Neighbour. We can see an example of statistical approaches in SVM based classification and improvement of fingerprint verification by Alka Rani, Palvee & Deepak Sharma. \cite{sharma2014}
Neural network
These algorithms make use of multilayer perceptrons. The input data is taken and the features extracted are passed through the algorithm after the dimensions are reduced. (D 1992) The features extracted are generally singularities and the orientation of the image which is used to train the perceptron to improve its performance and finally these networks give great classification results.
Multi-classifier
These algorithms include all the approaches that combine two or more classifiers. \cite{b2018}
This research is unique as we make use of a Statistical (minutiae based) and neural network based approach and combine them to achieve better security and accuracy.  

Proposed Method

Pre Classifier Convolutional Neural Network

Data Samples

The optical input that is captured from the fingerprint sensor would be stored and accessed by the system in specific formats. (Eg: .bmp, .jpeg, etc) We will be using these captured inputs as a part of the training process for our neural networks. ({Image Recognition} w...) This image can be an optical image of the fingerprint or an optical representation of the fingerprint using other sensors such as ultrasound & proximity sensors.
These inputs that we will be using for training should be given extra care beforehand as generally, issues arise at this stage of the verification process.
For training to work well, we should gather at least a hundred visual samples of the fingerprint you want to recognize. The more we gather, the better the accuracy of the trained model is likely to be. We also need to make sure that the inputs provided are a good representation of what features are prominent that would help us in the verification & classifications process.
The input data that we have collected will not be completely used for the training process as this can cause a chance for overfitting in the neural network model. This common problem is easily resolved by dividing our data samples and using a part of it for the training process. Using a part of the data prevents the model from memorizing the samples provided. And the remaining data inputs we can use to check whether overfitting is occurring or not. The amount of overfitting is measured by the accuracy and precision of the trained model. We have the option to split the input data into different ratios. Generally neural network based applications split the input data by 1:1:8, The 80% of the split is used for the training process whereas 10% of the samples will be used to validate the input data during the training process and the remaining 10% is used as the testing data input to verify the accuracy and performance of the now trained model. ({Image Recognition} w...)
The produced results can be further improved by applying various transformations to the input data. (Eg: cropping, brightening, deforming, etc) These transformations to the input data help the classifier to adapt real-world scenarios to further improve accuracy and performance. ({Image Recognition} w...)
We will be using a regular optical fingerprint sensor to capture our fingerprint input and will be using .NET frameworks to design an application that will make use of the tensor-flow to develop the neural network model for the pre-classification process.