Professional Documents
Culture Documents
Fingerprint Recognition
Fingerprint Recognition
Submitted By
May - 2013
May - 2013
CERTIFICATE
Institute Seal
FINGERPRINT RECOGNITION
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.
ii
FINGERPRINT RECOGNITION
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.
(Regn. No.-0901314147)
(Regn. No.-0901314126)
iii
FINGERPRINT RECOGNITION
TABLE OF CONTENTS
ABSTRACT......................................................................................................................... ii
ACKNOWLEDGEMENT ................................................................................................. iii
TABLE OF CONTENTS ................................................................................................... iv
LIST OF FIGURES ........................................................................................................... vi
LIST OF ABBREVIATIONS ........................................................................................... vii
1. Introduction ..................................................................................................................... 1
1.1 Introduction ................................................................................................................. 1
1.2 What is a fingerprint? .................................................................................................. 1
1.3 What is Fingerprint Recognition? ................................................................................ 2
2. Algorithm Level Design and Enhancement Technique ................................................. 4
2.1 Algorithm Level Design .............................................................................................. 4
FLOW CHART ................................................................................................................. 6
2.2 Fingerprint Image Enhancement Technique ................................................................. 7
2.2.1 Histogram Equalization ........................................................................................ 7
2.2.2 Fingerprint Enhancement by Fourier transform ..................................................... 8
2.2.3 Fingerprint Image Binarization ............................................................................. 9
2.3 Fingerprint Image Segmentation ................................................................................ 10
2.3.1 Block direction estimation .................................................................................. 10
2.3.2 ROI extraction by Morphological operations....................................................... 11
2.4.1 Minutia Extraction .............................................................................................. 12
2.4.2 Minutia Marking ................................................................................................. 13
2.4.3 False Minutiae Removal ..................................................................................... 14
2.4.4 Unify Terminations and Bifurcation .................................................................... 16
2.5 Minutia Matching ...................................................................................................... 17
2.5.1 Alignment Stage ................................................................................................. 17
2.5.2 Match Stage ........................................................................................................ 18
3. Results and Discussions ................................................................................................. 20
3.1 Results for Minutiae Extraction algorithm ................................................................. 20
3.2 Comparison Results For Minutiae matching .............................................................. 25
3.2.1 Two Different Fingerprints ................................................................................. 25
3.2.2 Two Fingerprint of a same person with a Little Difference ................................. 26
iv
FINGERPRINT RECOGNITION
4. Conclusion ..................................................................................................................... 27
References.......................................................................................................................... 28
v
FINGERPRINT RECOGNITION
LIST OF FIGURES
Figure 1.1: Fingerprint Image ................................................................................................ 1
Figure 1.2: Two Minutia Features ......................................................................................... 2
Figure 1.3: Verification vs. Identification .............................................................................. 3
Figure 2.1: Simplified Fingerprint Recognition ..................................................................... 4
Figure 2.2: Minutia Extractor ................................................................................................ 4
Figure 2.3: Minutia Matcher ................................................................................................. 5
Figure 2.4: Steps Involved In Fingerprint Recognition .......................................................... 6
Figure 2.5: (a) Histogram of an image, (b) Histogram equalization of an image ..................... 7
Figure 2.6: (a) Original image, (b) Enhanced Image after Equalization .................................. 8
Figure 2.7: (a) Original Image, (b) Image Enhancement by FFT ............................................ 9
Figure 2.8: (a) Enhanced image, (b) Image after Binarization .............................................. 10
Figure 2.9: (a) Binarization image, (b) Direction Map ......................................................... 11
Figure 2.10: (a) Original Image, (b) Close Operation, (c) Open Operation, (d) ROI+Bound 12
Figure 2.11: (a) Bifurcation, (b) Termination, (c) Triple Counting Branch ........................... 13
Figure 2.12: (a) Thinned Image, (b) Figure after Minutiae Extraction .................................. 14
Figure 2.13: False Minutia Points ........................................................................................ 15
Figure 2.14: A Bifurcation to Three Terminations ............................................................... 16
Figure 3.1: (a) Original Image, (b) Image after Histogram Equalization .............................. 20
Figure 3.2: (a) Histogram image, (b) Image Enhancement using FFT .................................. 21
Figure 3.3: (a) FFT Image, (b) Image after Binarization ...................................................... 21
Figure 3.4: (a) Binarization image, (b) Direction map of Binarization Image ...................... 22
Figure 3.5: (a) Binarization Image, (b) ROI Image .............................................................. 22
Figure 3.6: (a) Open Operation, (b) Close Operation ........................................................... 23
Figure 3.7: (a) Adaptive Binarization, (b) ROI+BOUND image .......................................... 23
Figure 3.8: (a) ROI image, (b) Thinned Image .................................................................... 24
Figure 3.9: (a) Thinned Image, (b) Minutiae Marking after Thinning .................................. 24
Figure 3.10: (a) First Fingerprint, (b) Second Fingerprint, (c) Minutiae extraction of First
Fingerprint, (d) Minutiae Extraction of Second Fingerprint ................................................. 25
Figure 3.11: (a) First Fingerprint, (b) Second Fingerprint, (c) Minutiae extraction of First
Fingerprint, (d) Minutiae extraction of Second Fingerprint .................................................. 26
vi
FINGERPRINT RECOGNITION
LIST OF ABBREVIATIONS
vii
FINGERPRINT RECOGNITION
Chapter-1
1. Introduction
1.1 Introduction
Fingerprint recognition or fingerprint authentication refers to the automated method of
verifying a match between two human fingerprints [1]. Fingerprints are one of many forms
of biometrics used to identify an individual and verify their identity. Because of their
uniqueness and consistency over time, fingerprints have been used for over a century, more
recently becoming automated (i.e. a biometric) due to advancement in computing
capabilities.
1
FINGERPRINT RECOGNITION
2
FINGERPRINT RECOGNITION
3
FINGERPRINT RECOGNITION
Chapter- 2
2. Algorithm Level Design and Enhancement
Technique
2.1 Algorithm Level Design
A fingerprint recognition system constitutes of fingerprint acquiring device, minutia
extractor and minutia matcher
For fingerprint acquisition, optical or semi-conduct sensors are widely used [3]. They
have high efficiency and acceptable accuracy except for some cases that the user’s finger is
too dirty or dry.
The minutia extractor and matcher modules have been explained in detail in the next
part for algorithm design and other subsequent sections. To implement a minutia extractor, a
three-stage approach is widely used by Researchers. They are pre processing, minutia
extraction and post processing stage.
4
FINGERPRINT RECOGNITION
For the fingerprint image pre processing stage, Histogram Equalization and Fourier
Transform have been used to do image enhancement. And then the fingerprint image is
binarized using the locally adaptive threshold method. The image segmentation task is
fulfilled by a three-step approach: block direction estimation, segmentation by direction
intensity and Region of Interest extraction by Morphological operations. For minutia
extraction stage, iterative parallel thinning algorithm is used. The minutia marking is a
relatively simple task. For the post processing stage, a more rigorous algorithm is developed
to remove false minutia. Also a novel representation for bifurcations is proposed to unify
terminations and bifurcations.
The minutia matcher chooses any two minutiae as a reference minutia pair and then
matches their associated ridges first. If the ridges match well, the two fingerprint images are
aligned and matching is conducted for all remaining minutia.
5
FINGERPRINT RECOGNITION
FLOW CHART
HISTOGRAM EQUALIZATION
PRE PROCESSING
ENHANCEMENT USING FFT STAGE
BINARIZATION
RIDGE DIRECTION
ROI
THINING
MINUTIAE
EXTRACTION
MINUTIA MARKING
TEMPLATE
6
FINGERPRINT RECOGNITION
(a) (b)
7
FINGERPRINT RECOGNITION
(a) (b)
Figure 2.6: (a) Original image, (b) Enhanced Image after Equalization
The image was divided into small processing blocks (32 by 32 pixels) and the Fourier
transform was performed according to:
ux vy
F (u , v ) f ( x, y ) exp j 2 (2.1)
M N
for u = 0, 1, 2, ..., 31 and v = 0, 1, 2, ..., 31.
In order to enhance a specific block by its dominant frequencies, the FFT of the block
was multiplied by its magnitude a set of times [4] .Where the magnitude of the original FFT
= abs (F(u ,v)) = |F(u ,v)|.
g ( x, y ) F 1 F u , v F (u , v )
k
(2.2)
M 1 N 1
1 ux vy
f ( x, y )
MN
F u, v exp j 2 M N (2.3)
x 0 y 0
for x = 0, 1, 2, ..., 31 and y = 0, 1, 2, ..., 31.
8
FINGERPRINT RECOGNITION
(a) (b)
The enhanced image after FFT has the improvements to connect some falsely broken
points on ridges and to remove some spurious connections between ridges. The shown image
at the left side of Figure2.7(b) is also processed with histogram equalization after the FFT
transform.
(a) (b)
The direction for each block of the fingerprint image with WxW in size(W is 16
pixels by default)is estimated. The algorithm is:
I. The gradient values along x-direction (gx) and y-direction (gy) for each pixel of
the block is calculated. Two Sobel filters are used to fulfill the task.
II. For each block, following formula is used to get the Least Square approximation
of the block direction.
tan
2 g x gy
(2.4)
g 2
x g y2
for all the pixels in each block.
10
FINGERPRINT RECOGNITION
The formula is easy to understand by regarding gradient values along x-direction and
y direction as cosine value and sine value. So the tangent value of the block direction is
estimated nearly the same as the way illustrated by the following formula.
2 sin cos
tan 2 (2.5)
cos 2 sin 2
After the estimation of each block direction, those blocks without significant
information on ridges and furrows are discarded based on the following formulas:
E 2 g x g y g x2 g 2y / W W g x2 g 2y (2.6)
For each block, if its certainty level E is below a threshold, then the block is regarded
as a background block. The direction map is shown in the following diagram (assuming there
is only one fingerprint in For each block, if its certainty level E is below a threshold, then the
block is regarded each image.)
(a) (b)
11
FINGERPRINT RECOGNITION
noise [Figure 2.10(c)]. The ‘CLOSE’ operation can shrink images and eliminate small
cavities [Figure 2.10(b)].
(a) (b)
Fig 2.10(d) show the interest fingerprint image area and its bound. The bound is the
subtraction of the closed area from the opened area. Then the algorithm throws away those
leftmost, rightmost, uppermost and bottommost blocks out of the bound so as to get the
tightly bounded region just containing the bound and inner area.
(c) (d)
Figure 2.10: (a) Original Image, (b) Close Operation, (c) Open Operation, (d) ROI+Bound
2.4 POST PROCESSING STAGE
Ridge Thinning is to eliminate the redundant pixels of ridges till the ridges are just
one pixel wide. An iterative, parallel thinning algorithm is used. In each scan of the full
12
FINGERPRINT RECOGNITION
fingerprint image, the algorithm marks down redundant pixels in each small image
window(3x3). And finally removes all those marked pixels after several scans. The thinned
ridge map is then filtered by other three Morphological operations to remove some H breaks,
isolated points and spikes.
After the fingerprint ridge thinning, marking minutia points is relatively easy. The
concept of Crossing Number (CN) is widely used for extracting the minutiae [6].
In general, for each 3x3 window, if the central pixel is 1 and has exactly 3 one-value
neighbors, then the central pixel is a ridge branch [Fig 2.11(a)]. If the central pixel is 1 and
has only 1 one-value neighbour, then the central pixel is a ridge ending [Fig 2.11(b)] ,i.e., if
Cn(P) = =1 it’s a ridge end and if Cn(P) = = 3 it’s a ridge bifurcation point, for a pixel P.
0 1 0 0 0 0
0 1 0 0 1 0
1 0 1 0 0 1
(a) (b)
0 1 0
0 1 1
1 0 0
(c)
Figure 2.11: (a) Bifurcation, (b) Termination, (c) Triple Counting Branch
13
FINGERPRINT RECOGNITION
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
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
14
FINGERPRINT RECOGNITION
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:
sum of all pixel with value 1
Inter ridge distance =
row length
m1 m2 m3 m4
m5 m6 m7
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)
15
FINGERPRINT RECOGNITION
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].
0 0 1
1 1 0
0 0 1
16
FINGERPRINT RECOGNITION
i0
xi X i
S 0 .5 (2.8)
m 2 2
xi X i
i 0
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:
17
FINGERPRINT RECOGNITION
_ −
_ = ∗ − ( . )
_ −
cosθ −sinθ 0
TM = sinθ cosθ 0 ( . )
0 0 1
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.
The matching algorithm for the aligned minutia patterns needs to be elastic since the
strict match requiring that all parameters x, y, 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
18
FINGERPRINT RECOGNITION
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)
19
FINGERPRINT RECOGNITION
Chapter- 3
3. Results and Discussions
(a) (b)
Figure 3.1: (a) Original Image, (b) Image after Histogram Equalization
20
FINGERPRINT RECOGNITION
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)
21
FINGERPRINT RECOGNITION
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)
22
FINGERPRINT RECOGNITION
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)
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
Figure 3.7(b).
(a) (b)
23
FINGERPRINT RECOGNITION
STEP8: From ROI+BOUND image we found the ROI image. We use ROI image is an input
to the thinned algorithm. The Binarized image is shown in Figure 3.8(a) and its
corresponding image is shown in Figure 3.8(b). From the thinned figure We conclude that
Bifurcation and termination points are shown clearly.
(a) (b)
(a) (b)
Figure 3.9: (a) Thinned Image, (b) Minutiae Marking after Thinning
24
FINGERPRINT RECOGNITION
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
25
FINGERPRINT RECOGNITION
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
26
FINGERPRINT RECOGNITION
Chapter- 4
4. Conclusion
27
FINGERPRINT RECOGNITION
References
28
FINGERPRINT RECOGNITION
29
FINGERPRINT RECOGNITION