A biometric system is based on uni-modal system which is considered as o- accurate and robust. It lacks in robustness, computational complexity, computational time, lack of feature selection, reliability etc. So, there is a need of multi- modal system. Multimodal system is based on two or more than two biometric recognition system. For any biometric recognition system, the basic problem is lack of feature points. Noise in detected information the precision assumes a noteworthy part in acknowledgment of biometrics. Non-Universality – If each individual can show the biometric characteristic for acknowledgment, then the quality is said to be general. Non-comprehensiveness prompts Failure to Enrols (FTE) blunder in a biometric framework. Lack of distinction – Feature separated from various people might be comparable. This absence of uniqueness expands the False Accept Rate (FAR) of a biometric framework.
In this research, Thumbprint feature set and Iris feature set are used for multimodal biometric fusion which has been fused using various techniques. Both biometrics has been chosen as they have worked well when used as uni-modal system. For the reduction of features of iris, BFO has been utilized and for thumbprint GA has been used because GA have capability to optimized feature sets on the basis of fitness function according to our requirement. PCA can produce robust performance when a large amount of feature vectors are available. However, sometimes feature extraction task cannot effectively carry out without data reduction when a feature vector dataset is too huge. Therefore, data reduction techniques can be achieved in many ways such as feature selection. Among those techniques, Genetic Algorithms (GAs) and Bacterial Foraging Optimization (BFO) have proven to be an effective computational method because of best optimal solution based on their fitness function, especially in situations where the search space is highly dimensional. In the end FAR (false acceptance rate), FRR (false rejection rate) and Accuracy has been evaluated to identify the performance of the fusion system.
The significance of the proposed work is to highlight the importance of the optimization techniques in the fusion of biometric properties. The objectives of the research work are defined below;
To study and explore about Iris and thumbprint recognition biometric system with their pros and cons.
To design and develop BFO for reducing the feature of iris and for thumbprint GA has been used on the basis of fitness function.
To compute the results of proposed work, using performance metrics like False Acceptance Rate, False Rejection Rate and Accuracy.
The whole proposed work “A Novel Framework for Iris and Thumbprint Recognition using Optimization Algorithms” is being done for fusion of iris and thumbprint biometrics using minutia and PCA feature extraction technique. Firstly, feature extraction using minutia for finger print and PCA for Iris is done then feature reduction is taken place using GA for IRIS and BFO optimization algorithm is used for thumbprint. The figure 3.1 depicts the flowchart of the proposed work.
Proposed work can be explained as below;
Upload iris and fingerprint for training.
Move forward for testing process
Load test images of iris and fingerprints.
PCA utilization for feature extraction, in which feature vectors will be saved.
Feature optimization of Iris will be done using GA.
Feature optimization of thumbprint will be done using BFO.
Fusion will be done fusion score values.
Evaluation of FAR, FRR and Accuracy.
Figure 3.1: Proposed Methodology Flowchart
In the figure 3.1 depicts the flow chart of the complete methodology. Below is the description of the Proposed Methodology Flowchart:
In the training part, the database is loaded from which the comparison or the matching (1:1 or 1:N) is done to get the output that the recognition of the person is accurate or not. In the testing part for the finger print, firstly a finger print image (raw image) reader consist of
Software: converts the scanned information to digital form and compare match points.
Database: stores biometric data for comparison.
Secondly a finger print image (raw image) undergoes pre-processing where
Colour conversion where 3D coloured image (RGB) is converted to 2D grey image.
Edging of the image by canny edge detection, it is used as it can work on both 8 and 4 connected components.
Resize the image to the standard form (256×256 or 512×512)
Then after the pre-processing, the image undergoes feature extraction which is done by minutia. In minutia, featured are extracted through the end points and crossing points of the ridges. Minutia extraction is done by:
Binarization convert the grey scale image in binary image that is intensity of image has only two values Black that represents ridges and White that represents values and background. It uses a global threshold value rectangular mask, rotating according to the orientation of the ridges.
Thinning find ridges of one pixel width. Preservation of the connective and topology which can lead to generation of small artefact and false minutiae, Elimination of these artefacts must be performed after the thinning.
Minutiae detection samples of masks used for identity the ridges ending and bifurcation points. After extraction of minutiae, they are stored in a template which may contain the minutiae position (x,y) minutia type (termination). Extracted template is stored in the database and will be used in the matching process as reference template or database. During matching and verification, the query template during the matching. In figure 3.2 shows
Ridge ending (marked red) – point whore the ridges end abruptly.
Ridge bifurcation (marked green) – point where a ridges talks on diverges into branch ridges.
Figure 3.2: MATLAB view after applying minutia and GA to fingerprint
Then after the Minutiae feature extraction it undergoes genetic algorithm, where the extracts features undergoes selection, crossover and mutation. GA (genetic algorithm) is search metaheurisitic minimises process of natural selection. Selections a portion of existing population is selected to breed a new generation. Individual solution is selected to breed a new generation through a fitness based process, where fitness solutions are more likely to be selected. Certain methods rate the fitness of each solution and preferentially select the best solution. Reproduction it is usually the first operator applied on population. Chromosomes are selected from the population of parents to cross over and produce offspring. It is based on Darwin’s evolution theory of “survival of the fittest” therefore, this operator is also known as “selection operator”. Crossover after reproduction phase, population is enriched with better individuals. It makes clones of good strings but does not create new ones. Crossover operator is applied to the mating pool with a hope that it would create better strings. To vary the programming of a genetic operator of a chromosome from one generation to next cross over heading toward the process of taking more than one parent solution and producing a child solution from them. Chromosome a set of parameters which defines the proposed solution to the GA is trying to solve. Mutation the strings after cross over are subjected to mutation, mutation flips the bit involved changing 0 to 1 and vice versa.
In the testing part for the Iris, firstly an iris image (raw image) is scanned and then the pre-processing is done on the iris image which includes:
Canny Edge Detection
Local Binary Pattern
Circular Hough Transformation
Then the feature extraction is done by PCA. PCA is mainly used for test data analysis and predictive modelling tool. PCA can be done by means of eign value of decomposition of a data covariance (or correlation) matrix characteristic value decomposition or singular value decomposition of the data matrix to complete, usually, in the middle of the averaging of the data matrix for each character (and normalized or Z score). The results are usually based on PCA component points, sometimes referred to as mark factor (variable value corresponding to a particular data point conversion) and load (each original variable standardized weights should be multiplied to obtain the weight fraction).
Figure 3.3: MATLAB view after applying PCA to iris
In the figure 3.3, the segmented iris image is the image that subtracts or eliminates the pupil and sclera.
Figure 3.4: MATLAB view after applying BFO to iris
After applying BFO to the figure 3.3 we obtain the segmented features in the figure 3.4
Figure 3.5: Proposed Fusion Process
Above fusion process depicted in Figure 3.5 describe the proposed fusion system based on multimodal biometric recognition system. There are two steps one is Iris Recognition and second is Thumbprint Recognition, if in both case we use same person data then we got an ID like Match ID 1, Match ID 2, Match ID 3……. Match ID n. in the fusion section if Match ID for both proposed biometric recognition system is same then we got the result as ‘Recognized’ otherwise ‘Not-Recognized’.
In proposed work Thumbprint feature set and Iris feature set are used for multimodal biometric fusion. In general, PCA can produce robust performance when a large amount of feature vectors are available. However, sometimes feature extraction task cannot effectively carry out without data reduction when a feature vector dataset is too huge. Therefore, data reduction techniques can be achieved in many ways such as feature selection. Among those techniques, Genetic Algorithms (GAs) and Bacterial Foraging Optimization (BFO) have proven to be an effective computational method because of best optimal solution based on their fitness function, especially in situations where the search space is highly dimensional.
Figure 3.6: MATLAB view of the Proposed Fusion Process
In the figure 3.6 depicts the outcome of the fusion process of iris and fingerprint where in the image it shows FAR 0.75%, FRR is 0.90% and RR is 98% for that particular fingerprint and iris fusion.
Iris uploading of the sample
Step 1: Start
Step 2: find binary image
Step 3: trace region boundaries in binary image
Step 4: measure properties of image regions
Step 5: round off the properties values
Step 6: conversion of image from RGB to GRAY
Step 7: find edge of image canny
Step 8: end
Thumbprint uploading of the sample
Step 1: open file selection
Step 2: get the number of images
Step 3: apply for loop for all images
Step 4: combine pathname and filename
Step 5: if the uploaded image is coloured
Step 7: otherwise do the following
Step 8: when uploaded image is not colour
Step 9: do thinning
PCA for feature extraction (Iris)
Step 1: find the mean of the image region
Step 2: find the size of the image region (test sample)
Step 3: generate a blank matrix
Step 4: apply loop to double precision for the training
Step 5: computing the difference image for each image in the training set
Step 6: merging all cantered image
Step 7: generate covariance matrix
Step 8: find eigen values
Step 9: generate a blank matix
Step 10: generate eigen vector
Step 11: reduce unwanted features
Step 12: end
Minutia for feature extraction (thumbprint)
Step 1: find the ridge
Step 2: find the size of the ridge
Step 3: generate a blank matrix
Step 4: computing the termination points
Step 5: computing the bifurcations points
Step 6: generate a combine feature sets
Step 7: end
Steps of Genetic Algorithm
Step 1: To initialize random population having chromosomes.
Step 2: To calculate fitness function in the population.
Step 3: To develop novel population with individuals.
Step 4: To select parent chromosomes for best fitness function.
Step 5: To perform crossover to have copy of parents.
Step 6: To perform mutation to mutate novel off springs.
Step 7: To place novel offspring in the population.
Step 8: To repeat the steps to get a satisfied solution.
Step 9: Stop
Fitness Function of GA
Step 1: Get parameters fitness_fn(e,Fs,Ft )
Step 2: if Fs<Ft
Step 3: end
Fitness function of BFO
Step 1: Upload BFO data
Step 2: Get the number of bacteria’s
Step 3: Then the number of elimination-dispersal events
Step 4: Application of Elimination and dispersal loop
Step 5: Apply Chemostatic Loop
Step 6: Find healthy data
Step 7: Then find best solution
Step 8: End
3.4 SIMULATION TOOL
The results are computed using MATLAB R2016a. MATLAB stands for Matrix Laboratory. It has powerful graphic tools and can produce pictures in both 2D and 3D.
The Following Development Tools has been used in the development of this work. There may also be other tools which can be used in this project as it depends person to person and his interest.
Therefore the used tools are—
Minimum of 3 GB of RAM
Intel Pentium III Processor or Above
Table 3.1: Tools Used
Core 2 Duo or higher
Mat lab 2016
MATLAB is abbreviated as MATrix LABoratory. To access matrix software developed by the linear system package (LINPACK) and Eigen system package (EISPACK), MATLAB was used. It is a high performance language for technical analysis. In it computation, visualization and programming has done collectively. It also consist editing and debugging tools, and support object oriented programming using sophisticated data structure. It is an excellent tool used by the researchers, developers and teachers. It has many advantages over conventional computer languages like C, C++ etc. for solving technical problem. The basic data element of MATLAB is an array which cannot need dimensioning. It has been come in the market since 1984. And presently it was considered as a standard tool by most of the universities and in industries. A wide variety of computation is possible because of its powerful built in routine. Results are available in graphical form.
A later than logging into your account, you can come in MATLAB by double clicking on the MATLAB shortcut icon (MATLAB 2016) on your Windows desktop. When you start MATLAB, particular windows called the MATLAB desktop appear. The desktop is a window that contains other windowpane the major tools within or nearby from the desktop are:
The Command Window
The Command History
The Current Directory
The Help Browser
The Start buttons
Figure 3.7: MATLAB windows
Figure 3.7 describes the MATLAB windows. There are two types of MATLAB windows, one is command window and another one is editor window.
3.4.1Use of MATLAB in proposed work
The below shown figures 3.8 and 3.9 are the view of the proposed methodology in the Matlab R2016a through which the results are been calculated. In the next chapter, the results are analysed by the outcome of the following data’s.
In the figure 3.8 depicts the front view of the proposed methodology in the Matlab R2016a.
Figure 3.8: GUI of the front view of the proposed methodology
In the figure 3.9 depicts the inner view when the push button “START” is clicked else if the other push button “EXIT” is clicked then the main window i.e the figure 3.8 which depicts the front view will be closed.
In the figure 3.10 depicts that if we need to view the coding done in any push buttons we just need to first click on the “.fig” extention file and select “Open in GUIDE” a pop up will arise with the “.fig” extention. Right click on the push button then click on “View Callback” and then on the callback it will take to the desired code of that specific push button.
Figure 3.9: GUI when “START” is clicked
Figure 3.10: view the coding in the push buttons
RESULTS AND ANALYSIS
The results are computed using MATLAB R2016a. In this proposed work, 10 test cases each result is analyzed by calculative results of FRR, FAR and RR. In order to reduce the computational complexity due to large extraction of feature points of iris, BFO (Bacterial forging optimization) has been utilized and for thumbprint GA (Genetic Algorithm) has been used because GA have capability to optimized feature sets on the basis of fitness function according to our requirement which also reduces the computational complexity and reduces the time consumption. FAR, FRR should decrease which would increase the RR (recall rate).
4.1 RESULT ANALYSIS
In Table 4.1, the FAR, FRR according to the testing has been shown. In addition, to this RR has also been shown for 10 samples.
Table 4.1: Performances of Parameters
FAR (False acceptance rate)
FRR (False rejection rate)
RR (recall rate)
The whole simulation has been taken place in MATLAB R2016a using GA and BFO. To access matrix software developed by the linear system package (LINPACK) and Eigen system package (EISPACK), MATLAB was used.
Below figure 4.1 shows the FAR (False acceptance rate) values for 10 sample fusion and average value is .75. The values plotted in below in the figure 4.1 are taken from the Table4.1. This result is calculated by subtracting the total number of features which is falsely accepted due to some error, noise etc. from the total number of features divided by total number of features that are been extracted from the image.
False Accept Rate (FAR): FAR is the type of error in the pattern recognition system which is measured by: