FINGERPRINT RECOGNITION Project ID: 1044 A Final Project Report Submitted to Biju Patnaik University of Technology, Rourkela In partial fulfilment of the requirement for the B.Tech Degree Submitted By SAILENDRA SAGAR PATRA SANDEEP KUMAR PANDA May - 2013 Under the guidance of Mrs. T. Mita Kumari APEX INSTITUTE OF TECHNOLOGY & MANAGEMENT Pahala, Bhubaneswar, Odisha – 752101, India
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
FINGERPRINT RECOGNITION
Project ID: 1044
A Final Project Report Submitted to
Biju Patnaik University of Technology, Rourkela
In partial fulfilment of the requirement for the B.Tech Degree
Submitted By
SAILENDRA SAGAR PATRA
SANDEEP KUMAR PANDA
May - 2013
Under the guidance of Mrs. T. Mita Kumari
APEX INSTITUTE OF TECHNOLOGY & MANAGEMENT Pahala, Bhubaneswar, Odisha – 752101, India
FINGERPRINT RECOGNITION
A Final Project Report Submitted to
Biju Patnaik University of Technology, Rourkela
In partial fulfilment of the requirement for the B.Tech Degree Submitted By
SAILENDRA SAGAR PATRA Regn. No.-0901314147
SANDEEP KUMAR PANDA Regn. No.-0901314126
May - 2013
Under the guidance of
Mrs. T. Mita Kumari
APEX INSTITUTE OF TECHNOLOGY & MANAGEMENT Pahala, Bhubaneswar, Odisha – 752101, India
APEX INSTITUTE OF TECHNOLOGY & MANAGEMENT
Pahala, Bhubaneswar, Odisha – 752101, India
CERTIFICATE
This is to certify that the project work entitled ‘Fingerprint Recognition’
is a bonafide work done by Sailendra Sagar Patra bearing Registration No.
0901314147 of ECE branch and Sandeep Kumar Panda bearing Registration
No. 0901314126 of ECE branch.
This report is submitted in partial fulfilment of the requirements for the
award of the B.Tech degree under Biju Patnaik University of Technology,
Rourkela, during the year 2012-13.
(Mrs T.Mita Kumari) (Dr. Satya Ranjan Pattanaik)
Project Guide B.Tech Project Coordinator
(Prof. R.C. Das)
PRINCIPAL
Institute Seal
FINGERPRINT RECOGNITION
ii
ABSTRACT
The study and implementation of a fingerprint recognition system based on Minutiae based
matching quite frequently used in various fingerprint algorithms and techniques. Human
fingerprints are rich in details called minutiae, which can be used as identification marks for
fingerprint verification. The goal of this project is to develop a complete system for
fingerprint verification through extracting and matching minutiae. To achieve good minutiae
extraction in fingerprints with varying quality, pre-processing in form of image enhancement,
image Binarization and image segmentation is first applied on fingerprints before they are
evaluated. Histogram equalization and Fourier Transform have been used for image
enhancement. Then the fingerprint image is binarized using the local adaptive threshold
method .Minutia Extraction is done by thinning and minutia marking technique. A simple
algorithm technique is used for minutia matching. By using match score method we
differentiate the two fingerprints are same or not.
FINGERPRINT RECOGNITION
iii
ACKNOWLEDGEMENT
It is our proud privilege to epitomize our deepest sense of gratitude and indebtedness
to our guide, Mrs. T.Mita Kumari, for her valuable instructions, guidance and support
throughout our project work. Her inspiring assistance and affectionate care enabled us to
complete our work smoothly and successfully.
We again owe our special thanks to Dr. Satya Ranjan Pattanaik, B.Tech Project
Coordinator for giving us an opportunity to do this project.
We would also like to thank Prof. R.C. Das, Principal, AITM, and Bhubaneswar for
his persistent drive for better quality in everything that happens at AITM. This report is a
dedicated contribution towards that greater goal.
Sailendra Sagar Patra
(Regn. No.-0901314147)
Sandeep Kumar Panda
(Regn. No.-0901314126)
FINGERPRINT RECOGNITION
iv
TABLE OF CONTENTS
ABSTRACT......................................................................................................................... ii
ACKNOWLEDGEMENT ................................................................................................. iii
TABLE OF CONTENTS ................................................................................................... iv
LIST OF FIGURES ........................................................................................................... vi
LIST OF ABBREVIATIONS ........................................................................................... vii
Fig 2.11(c) illustrates a special case that a genuine branch is triple counted. Suppose
both the uppermost pixel with value 1 and the rightmost pixel with value 1 have another
neighbour outside the 3x3 window, so the two pixels will be marked as branches too. But
actually only one branch is located in the small region. So a check routine requiring that none
of the neighbors of a branch are branches is added.
Also the average inter-ridge width D is estimated at this stage. The average inter ridge
width refers to the average distance between two neighbouring ridges. The way to
approximate the D value is to scan a row of the thinned ridge image and sum up all pixels in
the row whose value is one. Then divide the row length with the above summation to get an
inter ridge width. For more accuracy, such kind of row scan is performed upon several other
rows and column scans are also conducted, finally all the inter-ridge widths are averaged to
get the D.
Together with the minutia marking, all thinned ridges in the fingerprint image are
labelled with a unique ID for further operation. The labelling operation is realized by using
the Morphological operation. Minutiae extraction from thinned image in [Figure 2.12(b) and
Figure 2.12(a).]
(a) (b)
Figure 2.12: (a) Thinned Image, (b) Figure after Minutiae Extraction
2.4.3 False Minutiae Removal At this stage false ridge breaks due to insufficient amount of ink & ridge cross
connections due to over inking are not totally eliminated. Also some of the earlier methods
FINGERPRINT RECOGNITION
15
introduce some spurious minutia points in the image. So to keep the recognition system
consistent these false minutiae need to be removed.
Here we first calculate the inter ridge distance D which is the average distance between two
neighbouring ridges. For this scan each row to calculate the inter ridge distance using the
formula:
Inter ridge distance =sum of all pixel with value 1
row length
Finally an averaged value over all rows gives D.
All we label all thinned ridges in the fingerprint image with a unique ID for further operation
using a MATLAB morphological operation BWLABEL.
Now the following 7 types of false minutia points are removed using these steps
(Figure 2.13).
m1 m2 m3 m4
m5 m6 m7
Figure 2.13: False Minutia Points
1. If d(bifurcation, termination) < D & the 2 minutia are in the same ridge then remove
both of them (case m1)
2. If d(bifurcation, bifurcation) < D & the 2 minutia are in the same ridge them remove
both of them (case m2, m3)
3. If d(termination, termination) ≈ D & the their directions are coincident with a small
angle variation & no any other termination is located between the two terminations
then remove both of them (case m4, m5, m6)
4. If d(termination, termination) < D & the 2 minutia are in the same ridge then remove
both of them (case m7)
FINGERPRINT RECOGNITION
16
2.4.4 Unify Terminations and Bifurcation
Since various data acquisition conditions such as impression pressure can easily
change one type of minutia into the other, most researchers adopt the unification
representation for both termination and bifurcation. So each minutia is completely
characterized by the following parameters at last: 1) x-coordinate, 2) y-coordinate, and 3)
orientation.
The orientation calculation for a bifurcation needs to be specially considered. All
three ridges deriving from the bifurcation point have their own direction. The bifurcation is
broken into three terminations. The three new terminations are the three neighbour pixels of
the bifurcation and each of the three ridges connected to the bifurcation before is now
associated with a termination respectively [6,7][Figure 2.14].
Figure 2.14: A Bifurcation to Three Terminations
Three neighbors become termination(Left)
Each termination has their own orientation(right)
And the orientation of each termination (tx,ty) is estimated by following method :
A ridge segment is tracked whose starting point is the termination and length is D. All
coordinates of points in the ridge segment are summed up. The above summation is then
divided with D to get sx. And sy can be obtained using the same way.
The direction is obtained from:
atan ((sy-ty)/(sx-tx)) (2.7)
0 0 1
1 1 0
0 0 1
FINGERPRINT RECOGNITION
17
2.5 Minutia Matching
Given two set of minutia of two fingerprint images, the minutia match algorithm
determines whether the two minutia sets are from the same finger or not. An alignment-based
match algorithm is used. It includes two consecutive stages: one is alignment stage and the
second is match stage [7]. 1. Alignment stage. Given two fingerprint images to be matched, any one
minutia from each image is chosen, and the similarity of the two ridges
associated with the two referenced minutia points is calculated. If the
similarity is larger than a threshold, each set of minutia is transformed to a
new coordination system whose origin is at the referenced point and whose x-
axis is coincident with the direction of the referenced point.
2. Match stage: After obtaining two set of transformed minutia points, the elastic
match algorithm is used to count the matched minutia pairs by assuming two
minutia having nearly the same position and direction are identical.
2.5.1 Alignment Stage The ridge associated with each minutia is represented as a series of x-coordinates
(x1,x2…xn) of the points on the ridge. A point is sampled per ridge length L starting from the
minutia point, where the L is the average inter-ridge length. And n is set to 10 unless the total
ridge length is less than 10*L.
So the similarity of correlating the two ridges is derived from:
5.0
0
22
0
m
iii
m
iii
Xx
XxS (2.8)
Where (xi~xn) and (Xi~XN) are the set of minutia for each fingerprint image
respectively. And m is minimal one of the n and N value. If the similarity score is larger than
0.8, then the next step is executed else the next pair of ridges are continued to match. For
each fingerprint, all other minutia are translated and rotated with respect to the reference
minutia according to the following formula:
FINGERPRINT RECOGNITION
18
푥푖_푛푒푤푦푖_푛푒푤휃푖_푛푒푤
= 푇푀∗푥푖 − 푥푦푖 − 푦휃푖 − 휃
(ퟐ.ퟗ)
Where ,, yx the parameters of the reference minutia and TM are is
TM =cosθ −sinθ 0sinθ cosθ 0
0 0 1 (ퟐ.ퟏퟎ)
The following diagram illustrates the effect of translation and rotation: X’-axis Y-axis X F E y Y’-axis D D X-axis Figure 2.15: Effect of Translation and Rotation
The new coordinate system is originated at minutia F and the new x-axis is coincident
with the direction of minutia F. No scaling effect is taken into account by assuming two
fingerprints from the same finger have nearly the same size.
2.5.2 Match Stage The matching algorithm for the aligned minutia patterns needs to be elastic since the
strict match requiring that all parameters ,, yx are the same for two identical minutiae is
impossible due to the slight deformations and inexact quantization of minutia [8].
The elastic matching of minutia is achieved by placing a bounding box around each
template minutia. If the minutia to be matched is within the rectangle box and the direction
Ө
FINGERPRINT RECOGNITION
19
discrepancy between them is very small, then the two minutiae are regarded as a matched
minutia pair. Each minutia in the template image either has no matched minutia or has only
one corresponding minutia.
The final match ratio for two fingerprints is the number of total matched pair over the
number of minutia of the template fingerprint. The score is 100*ratio and ranges from 0 to
100. If the score is larger than a pre-specified threshold, the two fingerprints are from the
same finger.
However, the elastic match algorithm has large computation complexity and is
vulnerable to spurious minutia.
푚푎푡푐ℎ 푠푐표푟푒 =푛푢푚(푚푎푡푐ℎ푒푑 푚푖푛푢푡푖푎푒)
max(푛푢푚 표푓 푚푖푛푢푡푖푎푒 푖푛 푖1 푎푛푑 푖2) (ퟐ.ퟏퟏ)
FINGERPRINT RECOGNITION
20
Chapter- 3
3. Results and Discussions
A fingerprint image is taking as an input from FVC2000 (Fingerprint Verification
competition 2000) to test the experiment performance [8]. This algorithm is used for
differentiating fingerprints by performing minutiae extraction.
3.1 Results for Minutiae Extraction algorithm
STEP1: First we take original fingerprint image and performing image enhancement by using
Histogram equalization. Figure 3.1(a) shows the original fingerprint image and its
corresponding histogram Equalized image is shown in Figure 3.1(b)
(a) (b)
Figure 3.1: (a) Original Image, (b) Image after Histogram Equalization
FINGERPRINT RECOGNITION
21
STEP2: For better enhancement we use histogram Equalization image as an input to the FFT
algorithm. Histogram equalized image is shown in Figure 3.2(a) and its enhanced image after
FFT is shown in Figure 3.2(b).
(a) (b)
Figure 3.2: (a) Histogram image, (b) Image Enhancement using FFT
STEP3: The enhanced image is binarized using Binarization algorithm. Enhanced image is
shown in Figure 3.3(a) and corresponding Binarized image shown in Figure 3.3((b).
(a) (b)
Figure 3.3: (a) FFT Image, (b) Image after Binarization
FINGERPRINT RECOGNITION
22
STEP4: Binarized image is shown in Figure 3.4(a) and its corresponding directional map
shown in Figure 3.4(b).
(a) (b)
Figure 3.4: (a) Binarization image, (b) Direction map of Binarization Image
STEP5: For extracting the un necessary area we use ROI algorithm. Binarized image is
shown in 3.5(a), and Its corresponding ROI image shown in 3.5(b).The size of binarized
image 256*256, but the size of ROI image is 224*224.
(a) (b)
Figure 3.5: (a) Binarization Image, (b) ROI Image
FINGERPRINT RECOGNITION
23
STEP6: Figure 3.6(a) shows the open area of the ROI Image and Figure 3.6(b) shows the
close area of the ROI Image.
(a) (b)
Figure 3.6: (a) Open Operation, (b) Close Operation
STEP7: After Binarization the image is an input to the region of interest algorithm. it shows
the actual area of the fingerprint image by bounding the region with some useful colours in
thinned image. Here red dots show the termination (ridge ending) points and yellow dots show
the bifurcation points.
(a) (b)
Figure 3.9: (a) Thinned Image, (b) Minutiae Marking after Thinning
FINGERPRINT RECOGNITION
25
3.2 Comparison Results For Minutiae matching
For simulation result, we have taken the threshold value of 0.65.
3.2.1 Two Different Fingerprints Figure3.10 (a), Figure 3.10(b) shows two different fingerprint and Figure 3.10(c),
Figure 3.10(d) shows corresponding minutiae marked image. The match score value between
the two images is 0.37. As this value is less than the threshold value, we can conclude that
these two fingerprints are of two different persons.
(a) (b)
(c) (d)
Figure 3.10: (a) First Fingerprint, (b) Second Fingerprint, (c) Minutiae extraction of First Fingerprint, (d) Minutiae Extraction of Second Fingerprint
FINGERPRINT RECOGNITION
26
3.2.2 Two Fingerprint of a same person with a Little Difference
Figure3.11 (a), Figure 3.11(b) shows two different fingerprint, here Figure 3.11(b)
shows the little modify of Figure 3.11(a). Figure 3.10(c), Figure 3.10(d) shows corresponding
minutiae marked image. The match score value between the two images is 0.68. As this value
is Greater than the threshold value, we can conclude that these two fingerprints are of a same
person.
(a) (b)
(c) (d)
Figure 3.11: (a) First Fingerprint, (b) Second Fingerprint, (c) Minutiae extraction of First Fingerprint,
(d) Minutiae extraction of Second Fingerprint
FINGERPRINT RECOGNITION
27
Chapter- 4
4. Conclusion
The above implementation was an effort to understand how Fingerprint Recognition
is used as a form of biometric to recognize identities of human beings. It includes all the
stages from enhancement to minutiae extraction of fingerprints. There are various standard
techniques are used in the intermediate stages of processing.
The relatively low percentage of verification rate as compared to other forms of
biometrics indicates that the algorithm used is not very robust and is vulnerable to effects like
scaling and elastic deformations. Various new techniques and algorithm have been found out
which give better results.
Also a major challenge in Fingerprint recognition lies in the pre processing of the bad
quality of fingerprint images which also add to the low verification rate.
The reliability of any automatic fingerprint system strongly relies on the precision
obtained in the minutia extraction process. A number of factors are detrimental to the correct
location of minutia. Among them, poor image quality is the most serious one. In this project,
we have combined many methods to build a minutia extractor and a minutia matcher. The
following concepts have been used- segmentation using Morphological operations, minutia
marking by specially considering the triple branch counting, minutia unification by
decomposing a branch into three terminations.
There is a scope of further improvement in terms of efficiency and accuracy which can be
achieved by improving the hardware to capture the image or by improving the image
enhancement techniques. So that the input image to the thinning stage could be made better
this could improve the future stages and the final outcome.