0% found this document useful (0 votes)
8 views5 pages

Journal 22

This document details the implementation and evaluation of the NIST Biometric Image Software (NBIS) for fingerprint recognition using MATLAB. It discusses the process of minutiae extraction, matching, and performance evaluation through Receiver Operating Characteristic (ROC) graphs, highlighting the challenges of false minutiae and the importance of quality assessment. The results from testing on a Fingerprint Verification Competition (FVC) database demonstrate the effectiveness of the system in distinguishing genuine and imposter matches.

Uploaded by

kcngzhai95
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views5 pages

Journal 22

This document details the implementation and evaluation of the NIST Biometric Image Software (NBIS) for fingerprint recognition using MATLAB. It discusses the process of minutiae extraction, matching, and performance evaluation through Receiver Operating Characteristic (ROC) graphs, highlighting the challenges of false minutiae and the importance of quality assessment. The results from testing on a Fingerprint Verification Competition (FVC) database demonstrate the effectiveness of the system in distinguishing genuine and imposter matches.

Uploaded by

kcngzhai95
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

IMPLEMENTATION AND EVALUATION OF NIST BIOMETRIC IMAGE SOFTWARE FOR

FINGERPRINT RECOGNITION

Sainath Maddala Josef Ström Bartůněk, Mikael Nilsson


Graduate Student, dept. of Electrical Engineering, Dept. of Electrical Engineering, School of Engineering
Blekinge Institute of Technology, Karlskrona, Sweden Blekinge Institute of Technology
& Jawaharlal Nehru Technological University, SE-371 79, Karlskrona, Sweden
Hyderabad, India. e-mail: jsb@bth.se, mkn@bth.se
sainath.madhala@gmail.com

Abstract—Fingerprints are rich in details which are in the written in ANSI C programming language. So MEX-files are
form of discontinuities in ridges known as minutiae and are used to run c programming code in MATLAB. First
unique for each person. This paper describes implementation fingerprint image is enhanced and minutiae are extracted.
and evaluation of an existing fingerprint recognition system in The extracted minutiae are passed through the function that
MATLAB environment. The selected system is developed by match two minutiae patterns and produce a match score.
National Institute of Standards and Technology (NIST) Genuine match and imposter match classification is
denoted as Biometric Image Software (NBIS). The NBIS performed based on the match score. Performance of the
source code is written in ANSI C programming language. To system is evaluated on various fingerprint databases and the
be able to evaluate the algorithm in MATLAB a C language
results obtained are presented in Receiver Operating
MEX-files has been used. The NBIS support both minutiae
extraction and minutiae matching functions that have been
characteristics (ROC) graphs.
employed in the evaluation. The implemented system has been II. OPERATIONS PERFORMED ON FINGERPRINT
tested on a Fingerprint Verification Competition (FVC)
database. The results are presented as Receiver Operating Minutiae from the fingerprint image can be extracted
Characteristics (ROC) graphs. directly from the raw grayscale fingerprints. However, the
extraction process is difficult and not that accurate due to the
Keywords- Biometric; NIST Fingerprint Verification; MEX- sensor noise present in the fingerprint image. The skin
File; ROC graphs. conditions on the fingertip also influence the overall quality
of the captured fingerprints. Due to these reasons the
I. INTRODUCTION extracted minutiae from the fingerprint may contain both real
and false minutiae. To minimize extraction of false minutiae
“Biometrics” (bios metron = “life measurement”) is from the fingerprint image the NBIS incorporates a pre-
defined as the automated methods of identifying or processing and post-processing stage in the minutiae
authenticating the identity of a living person based upon one extraction procedure. Fig.1 illustrates operations performed
or more intrinsic physical or behavioral traits. A number of to limit the number of extracting false minutiae from the
biometric technologies have been developed and are being fingerprint.
used in numerous applications such as secure identification
and personal verification solutions etc. Some examples of
different biometrics are fingerprints, face recognition, iris,
retina scan, signature etc. “Although biometrics emerged
from its extensive use in law enforcement to identify
criminals (e.g., illegal aliens, security clearance for
employees for sensitive jobs, fatherhood determination,
forensics, and positive identification of convicts and
prisoners), it is being increasingly used today to establish
person recognition in a large number of civilian
applications”[1]. Human Fingertips are fully formed at about
seven months of fetus development and ridge configurations
which form distinctive patterns. One’s fingerprint is formed
those patterns do not change throughout the life of an Figure 1. Flowchart representing operations performed by the NBIS
individual except due to accidents such as bruises and cuts before and after extracting minutiae.
on the fingertips. Print of these patterns is known as
fingerprints [2]. A. Pre-processing
This paper is written based on Master Thesis[3]. In this Fingerprint images acquired with various sensors will
paper implement and evaluation of NIST Biometric Image have different levels of the dynamic range altering the image
Software for fingerprint recognition in MATLAB contrast. Therefore a pre-processing operation in form of
environment is performed. The NBIS source code is entirely

978-1-4244-8594-9/10/$26.00 2010
c IEEE 207
contrast enhancement should be performed before extracting Pattern scanning is performed both horizontally and
the minutiae from the fingerprint. The contrast enhancement vertically with 2x3 pixel window size. Patterns represented
can be performed with various methods. For example in Fig.4 illustrate procedure for detecting the minutiae points
histogram equalization can increase the contest of the image. in the binarized fingerprint image. Two patterns in the Fig.4
The function trim_histtails_contrast_boost() developed by represent ridge endings and rest represents bifurcations.
NIST use a histogram modulation for increasing the contrast
of the fingerprint image, see Fig.2. Quality of the image can
also be increased by using the filters. Low pass filter lowers
the noise from the image. Band pass filter can lower
undesired noise from orientations which helps to preserve
true ridges [4]. Image enhancement can also be performed
using Fourier transform method [5].

Figure 4. Pixel patterns used to detect minutiae

Minutiae detected in the fingerprint are as shown in the


Fig.5 which may consist of real and false minutiae. The
number of falsely detected minutiae can be minimized in
post-processing stage with the help of quality factor. The
algorithm developed by NIST used for minutiae detection is
Figure 2. Fingerprint obtained after preprocessing : (a) Original image, implemented in get_minutiae().
(b) Enhanced image

B. Minutiae Extraction
Fingerprint image is a line patterns consisting of ridges,
valleys, cores, deltas, pores etc as shown in Fig.3a. The most
interesting patterns are ridge endings and ridge bifurcations.
These patterns are used for comparing two fingerprints with
each other. Fig.3b illustrates ridge ending and ridge
bifurcation which plays a vital role in fingerprint matching
known as minutiae. These ridge ending and ridge bifurcation
do not change over time, therefore well suited for fingerprint
matching. Fingerprint usually consists of 40 to 100 minutiae
points. Figure 5. Minutiae obtained with NIST’s method, includiong both true
and false minutiae.

C. Post processing
Minutiae extracted from the fingerprint consist of real
and to some extent of false minutiae. Various types of false
minutiae are shown in Fig.6. The number of falsely detected
minutiae depends upon the quality of the fingerprint. The
extracted minutiae should be filtered to remove as many of
the false minutiae as possible without removing real
minutiae. The redundant minutiae in the fingerprint are of the
Figure 3. (a) Fingerprint image, (b) Fingerprint image with bifurcations form
and terminations. • a)Minutiae points adjacent to each other
• b)Minutiae near the borders
• c)Spike, break, bridge, hole as shown in the Fig.6
The NBIS before detecting the minutiae from the
fingerprint converts the grayscale image into binarized image
where black pixels represents ridges and white pixels
represents valleys. Based on the ridge flow direction
associated with the block the pixel is assigned a binary value.
For this process each pixel in the image must be analyzed for
assigning white and black pixel. Then the binary image is
scanned to identify ridge endings and ridge bifurcation.

208 2010 International Conference on Signal and Image Processing


Figure 6. (a)Broken ridges, (b) Bridge, (c)Short ridge, (d)Short ridge, represents scores obtained from genuine matach where P1
(e)Short Ridge, (f)Hole and P2 are the fingerprints from same person. S(G1,G2)
represents scores obtained from imposter matach where G1
These types of false minutiae may cause serious problem and G2 are the fingerprints from different persons. The
during matching. Removing all false minutiae separately is matching score with greater value will indicate that the
time taking and complex. For this reason the NBIS calculate fingerprints are more likely from the same person.
quality of each minutia. First reliability measure is calculated
based on pixel intensity statistics (mean and standard
deviation) within the immediate neighborhood of the
minutiae point. The size of neighborhood is set to 11 pixels.
The high quality regions will cover full grayscale spectrum.
Reliability, R, is calculated with neighborhood mean, μ, and
standard deviation, σ[5]. Minutiae with lower quality
correspond to false minutiae and minutiae with high quality
correspond to real minutiae. The false minutiae in the
fingerprint can be removed by keeping proper threshold
value. The minutiae which are less than the threshold are not
allowed i.e. lower quality(false minutiae) and rest of the
minutiae which fulfils the threshold value are allowed i.e.
high quality(real minutiae). Minutiae obtained are plotted on
the fingerprint Fig.7a and minutiae with low quality are
plotted as “+” and minutiae with high quality are plotted as
“o” in Fig.7b.

Figure 8. Flowchart illustrating minutiae matching process

Figure 7. ( a) Fingerprint image containing both false and real minutiae, IV. MEX-FILES
(b)Fingerprint image after thresholding minutiae based on the quality, real Algorithms developed by NIST for minutiae extraction
minutiae “o” and false minutiae “+”.
and fingerprint matching are written in C programming
language. Converting the source files written in C language
III. FINGERPRINT MATCHING into MATLAB script is very complex and time consuming.
To overcome this problem MEX-Files are used. MATLAB is
BOZORTH3 is an algorithm included in NBIS that
time consuming for processing large amount of data and its
matches two minutiae patterns with each other and produces
performance is very poor while working with images, due to
a match score. Matching between the fingerprints can be
slow looping functionalities. To overcome this problem it is
performed as one-to-one (verification) or one-to-many
advisable to divide the source code into different
(identification). Bozorth3 algorithm includes three steps for
functionalities and compile the codes individually[6].
fingerprint matching
• Construction of Intra-Fingerprint Minutiae A. Mex-Files Working Procedure with Example
Comparison Tables. First build the MEX-File and change the path of the
• Construction of Inter-Fingerprint Compatibility current directery of MATLAB for accessing the executable
Table. file. Input parameters are passed from MATLB to executable
• Traverse Inter-Fingerprint Compatibility Table file to perform total functionality. In this example a
constructed in second step. fingerprint image is passed from MATLAB to executable
A. Results obtained for Genuine match and Imposter file which performs image boosting operation and the output
is given back to MATLAB as shown in Fig.9.
match
First minutiae tables are constructed for both probe and
gallery fingerprint as shown in Fig.8. These tables are given
to the minutiae matcher for generating the scores. S(P1,P2)

2010 International Conference on Signal and Image Processing 209


Figure 9. Flow of data between MATLAB and Visual Studio 2008 using
MEX-Files

V. RECEIVER OPERATING CHARACTERISTICS GRAPHS


Receiver operating characteristics (ROC) is a technique
used for organizing classifiers and visualizing the
performance. ROC graphs are frequently used in the areas of
medical decision making, machine learning and data mining. Figure 10. AUC of two classifiers A and B
In the machine learning community the usage of ROC graphs
are increased. By considering the performance of the set of
classifier a graph can be drawn which remains stable at VI. EXPERIMENTAL RESULTS
derived conditions, as the conditions of the classifier are FVC 2000 Database1_a [9] was used to evaluate the
changed the shape of the graph will also be change. So the NBIS developed by NIST in this thesis. This Database
annalist of that particular application will obtain an idea at consists of 100 different users with 8 different samples from
which conditions which classifier is suitable. ROC graphs for each finger. Among 100 different users top 60 users with 8
example applied in speech/music discriminations, it may be different samples from each finger are used in this work.
detection of speech and detection of music [7]. This type of database is used to evaluate the fingerprint
“In addition to begin a generally useful performance matching at different conditions. For plotting ROC graphs
graphical method, they have properties that make them FNMR is calculated for 60 different fingers with 8 different
especially useful for domains with skewed class distribution samples from each user of genuine attempts, where a single
and unequal classification error cost. These characteristics image from the fingerprint is compared with all 8 images.
have become increasingly important as research continues FMR is calculated for 60 different fingers with 8 different
into the areas of cost-sensitive learning and learning in the samples from each finger of imposter matching in which
presence of unbalanced classes”[8]. each fingerprint is matched with all imposter images. For
A. Area under ROC Curve (AUC) FNMR it will be around 3500 combinations, For FMR it will
be around 67319 combinations. Scores obtained from
Performance of the classifier can be depicted using ROC
FNMR and FMR are plotted using ROC graphs so that
curve. For comparing classifiers performance, a common
the performance of the NBIS can be identified. If we plot
method is to calculate the area under the ROC curve (AUC).
the scores obtained from different biometric systems with
AUC is the position of unit squire, its value varies between 0
that curve a genuine system can be identified at different
and 1. Random guessing creates a value between (0,0) and
points of thresholds [2]. Results displayed below shows the
(1,1), which has a area of 0.5. Fig.10 shows the area under
ROC curve for the proposed algorithm from NIST. Fig.11
ROC curves of A and B. Classifier A has greater area
specifies FMR(t) decreases as the t valuse increases and
compared to classifier B, so the performance of the A is
FNMR(t) increases as the t value increases. The EER is the
better compared to B performance. In Fig.5.1 classifier A is
point at which both FMR and FNMR are identical and Fig.12
generally better than B except at False Match rate > 0.25
evaluates the performance of the system i.e. area under ROC
where B has slightly high area.
curve. For evaluating the performances of two systems same
plot is made for the scores obtained for different technique
using same DB and the system with more AUC is treated as
best system.

210 2010 International Conference on Signal and Image Processing


In this work 60 unique users with 8 fingerprints per user i.e.,
480 fingerprints had been used for evaluating the NBIS.
Scores obtained from minutia matcher after comparing with
genuine and imposter matching had been plotted using ROC
graphs. Finally the performance of the system is evaluated by
analyzing ROC graphs. Results obtained by using this
functionality are compared with the results obtained with
other proposed technique for measuring the system
performance (same DB is used in both cases).

REFERENCES

[1] Anil K. Jain, Arun Ross and Salil Prabhakar “An Introduction to
Biometric Recognition,” Appeared in IEEE Transactions on Circuits
and Systems for Video Technology, Special Issue on Image- and
Video-Based Biometrics, Vol. 14, No. 1, January 2004.
Figure 11. Plotting FMR(t) and FNMR(t) obtained from genuine and [2] D. Maltoni, D. Maio, A.K. Jain and S. Prabhakar, Handbook of
imposter distributions (3500 genuine pairs and 67319 imposter pairs). Fingerprint Recognition, Springer, 2003, ISBN 0-387-95431-7.
[3] “Implementation and Evaluation of NIST Biometric Image Software
for Fingerprint Recognition,” Master Thesis, Blekinge Institute of
Technology(in Printing).
[4] Lavanya, B.N.; Raja, K.B.; Venugopal, K.R.; Patnaik, L.M.; ,
"Minutiae Extraction in Fingerprint Using Gabor Filter
Enhancement," Advances in Computing, Control, &
Telecommunication Technologies, 2009. ACT '09. International
Conference on , vol., no., pp.54-56, 28-29 Dec. 2009.
[5] User's Guide to NIST Biometric Image Software (NBIS) available at,
http://www.nis.gov/cgi-bin//get_pdf.cgi?pub_id=51097.
[6] ”Hand book for “Calling C and Fortran
Programs from MATLAB” available at
http://www.karenkopecky.net/Teaching/Cclass/MatlabCallsC.pdf.
[7] Alnadabi, M.; Johnstone, S.; , "Speech/music discrimination by
detection: Assessment of time series events using ROC
graphs," Systems, Signals and Devices, 2009. SSD '09. 6th
International Multi-Conference on , vol., no., pp.1-5, 23-26 March
2009.
[8] Tom Fawcett,”ROC Graphs: Notes and Practical Considerations for
Figure 12. Plotting FMR(t) and 1-FNMR(t) obtained from genuine and References” , available at
imposter distributions (3500 genuine pairs and 67319 imposter pairs). http://home.comcast.net/~tom.fawcett/public_html/papers/ROC101.p
df,.
[9] Maio, D.; Maltoni, D.; Cappelli, R.; Wayman, J.L.; Jain, A.K.;,
VII. CONCLUSION "FVC2000: fingerprint verification competition," Pattern Analysis
and Machine Intelligence, IEEE Transactions on , vol.24, no.3,
NBIS source code for fingerprint recognition is written in pp.402-412, Mar 2002. 007.357670.
ANSI C programming language. The NBIS is implemented
with MEX-files routine to allow evaluation of the system in
MATLAB environment. This C language MEX-files enables
to run C code without reimplementing it as MATLAB script.
Two MEX-file functions are developed with NBIS which
helps to extract minutiae from grayscale fingerprint image
and match two minutiae patterns to produce a match score.

2010 International Conference on Signal and Image Processing 211

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy