You are on page 1of 6

Proceedings of IMCIC - ICSIT 2016

Implementation of Fingerprint Recognition System on FPGA


Prof S Gayathri
Dept of E&C, SJCE
Mysore, Karnataka, India
sgmurthy_65@yahoo.com

and

Dr V Sridhar
Principal, PESCE
Mandya, Karnataka, India
venusridhar@yahoo.com

ABSTRACT image enhancement technique to improve the quality of the


fingerprint image.
The performance of fingerprint recognition system depends on The hierarchical approach of realizing fingerprint recognition
the minutiae present in the fingerprint image. In most of the system is as shown in Figure 1. It consists of a fingerprint
applications, acquired fingerprint images are of medium quality. recognition process and a minutiae matcher. Fingerprint
recognition process comprises of cascaded blocks of pre-
This may not precisely extract minutiae and thereby pulls down
processing, feature extraction and post processing stages. It
the performance of the fingerprint recognition system. To converts the input fingerprint image into a set of minutiae, stored
enhance the performance, fingerprint images have to be as template for future matching purpose. The minutiae matcher
processed before extracting minutiae. Proposed fingerprint provides the acceptance / rejection of fingerprint under test by
recognition system comprises of fingerprint recognition process comparing it with the templates stored in database based on the
with minutiae matcher. It provides better performance in threshold.
comparison with the existing system. Number of stages in
fingerprint recognition process depends on the methodology Fingerprint Recognition System
adopted by the designer to improve the quality of the fingerprint Fingerprint Minutiae
image. recognition process Matcher

One of the key contributions of the proposed system is the


reduced computational complexity and processing time due to Fingerprint Recognition Process
fast and improved thinning algorithm. Due to scalable hardware
resources supported by Field Programmable Gate Arrays Pre Feature Post
processing extraction processing
(FPGA) further improvement in the processing time is possible.

Validation of the fingerprint recognition system is carried out in Figure 1. Hierarchy of Fingerprint recognition system
terms of false acceptance rate (FAR) and false rejection rate
(FRR). State-of-the-art fingerprint recognition system with
The performance of the fingerprint recognition system is
improved recognition rate is implemented on Virtex-5 FPGA measured in terms of false acceptance rate (FAR) and false
development board. The system is validated for 500 samples of rejection rate (FRR). Comparison of the parameters are carried
medium quality fingerprint images generated by considering out by considering fingerprint recognition process with and
people between age 5-65 using optical scanner. Further, the without pre-processing, with and without post processing and
results obtained from hardware design are compared with that with feature extraction alone. Database with 500 samples
of earlier work implemented on different platforms. generated by considering people between ages 5-65 irrespective
of gender is considered for evaluation.
Keywords: Performance, hardware, minutiae, recognition,
process, matcher, fingerprint image. 2. RELATED WORK

1. INTRODUCTION The performance of the recognition system heavily depends on


the extraction of minutiae from the fingerprint image. Adaptive
The most critical step in automatic fingerprint recognition normalization based on block processing ensures reliable
system is to extract minutiae from the input fingerprint image. fingerprint texture region of the given fingerprint image even if
Minutiae extraction relies on the quality of the input fingerprint the image is of poor quality [1].
image. In order to ensure the success of an automatic fingerprint A low cost FPGA implementation of an image normalization
recognition system, the quality of input fingerprint image must
system which uses a fixed point representation to handle all the
be good. But in most cases the quality of the acquired fingerprint
images are of poor quality. Hence it is essential to incorporate data processing is discussed in [2]. A fast fingerprint

221
Proceedings of IMCIC - ICSIT 2016

enhancement algorithm, which adaptively improves the clarity The input to the fingerprint recognition process will be the raw
of ridge and valley structures of input fingerprint image based fingerprint image captured from the optical scanner and the
on estimated local ridge orientation and frequency, is proposed output will be the template consisting of real minutiae.
in [3]. The approaches/ methods adapted for each block of fingerprint
Two different forms of ridge extraction algorithms are [5] recognition process are
implemented on FPGA. The first one by microblaze soft- Normalization: Adaptive local mean and variance approach
processor, and the second one based on a hardware coprocessor. Orientation field estimation: Local ridge detail method
Hardware coprocessor shows the higher performance. Filtering: Direct gray scale filtering based on Gabor function
The quality of fingerprint is enhanced by using filter. Gabor Binarization: Adaptive thresholding approach
filter captures both local orientation and frequency information Thinning: Improved fast thinning approach
from a fingerprint image. The computational complexity Minutiae extraction: Crossing number method
increases as the size of images increases. Also number of Gabor False minutiae elimination: Euclidean distance method
pre-filters and post filters increases [7]. Input-Fingerprint image
In classical thinning algorithm [9], the basic operation on each
pixel depends on the 8 neighboring points. All the pixels in one
image are handled serially and consume a lot of memory for
storage. To minimize memory requirement, few designers opted
for parallelism in thinning algorithm.
Modified version of the thinning algorithm [10], removes all
pixels of the image except those pixels that belong to the
skeleton of the input fingerprint image.
Fingerprint image enhancement through reconfigurable Output- Minutiae
hardware accelerator is presented in [12]. It is based on
hardware time multiplexing to reduce silicon area by 50% in Figure 2. Block diagram of Fingerprint recognition process
comparison to the general purpose microcontroller system.
i) Normalization: The input is a 8-bit gray scale fingerprint
Fingerprint image processing through reconfigurable hardware
image, represented by I(x,y) of size N x M. I (i, j) represents
is implemented on Virtex-4 FPGA development board.
the intensity of the pixel at the ith row and jth column. Mean (M)
Hardware-software co-design technique proposed in [15]
and variance (VAR) of the i n p u t f i n g e r p r i n t image
reduces execution time and enhances the performance.
are computed u s i n g E q . ( 1 ) a n d E q . ( 2 ) . The
Minutiae extraction using modified ridge following algorithm is
normalized image G (i, j) [3] [4] is represented by Eq.(3).
presented in [16]. The algorithm is implemented on the
resource-constrained SoCs.
To find termination and bifurcation, fingerprint image has to be
(1)
processed in several stages. Number of stages before minutiae
extraction depends on the applications in which it is used. The
processing involved in [17] differs slightly from earlier work (2)
depending on the algorithm employed.
A Field programmable gate array has large logic capacity and
memory resources. Hence implementation of fingerprint
recognition system on FPGA [9] is a good choice among
various available platforms.
With the development of reconfigurable computing there is a
(3)
tremendous change in the Biometric technology. It adds a new
degree of freedom in the development of electronic systems Where
[20]. However, the physical implementation of automatic M0 and VAR0 are the desired mean and variance respectively.
fingerprint authentication system is still a challenging task. ii) Orientation Field Estimation: let be defined as the
Until now, only initial stages of biometric recognition algorithm
orientation field of a normalized fingerprint image. (i, j)
are tested.
represent the local ridge at pixel (i , j) . The main steps of the
3. METHODOLOGY
algorithm [6] are
The block diagram of fingerprint recognition process is as 1. Divide the normalized fingerprint image into blocks of size
shown in Figure 2. The typical arrangement involves cascaded w*w.
blocks of normalization, orientation field estimation, filtering, 2. Compute the gradients and at each pixel.
binarization, thinning, minutiae extraction and false minutiae 3. Estimate the local orientation using Eq.(4), Eq.(5) and Eq.(6).
elimination.

222
Proceedings of IMCIC - ICSIT 2016

=1, 128 ≤ p ≤ 256 (10)

(4) v) Thinning: The binarized fingerprint image is applied to


thinning block which reduces the ridge thickness to one pixel
wide. This process is carried out in two steps [11] [13] [14] by
considering 8- neighborhood pixels.
(5) N(Pl)- Number of nonzero neighbors of P1. That is
N (P1) = P2 + P3 +……..+ P9 .
S (P1)- Number of 0-1 transition in the ordered sequence of p2,
p3….., p8, p9.
(6) Step 1: It is applied to each border pixel in the binarized
fingerprint image under consideration. If one or more of the
iii) Filtering: Filter preserves the continuity of the ridge flow
conditions (a) through (d) of Eq. (11) are violated, the value of
pattern. It enhances the clarity of the ridge and valley structures
the pixel is not changed.
by eliminating noise. The general function of Gabor filter [7]
a. 2 ≤N(P1)≤6,
[8] is given by Eq. (7). b. S(P1)= 1,
c. P2*P4*P6=0,
d. P4*P6*P8=0, (11)
Step 2: Conditions (a) and (b) of Eq. (11) remain the same, but
conditions (c) and (d) are changed as in Eq. (12).

(7) c′. P2*P4*p8=0,

Where d′. P2*P6*P8=0, (12)


θ- Ridge orientation with respect to vertical axis
ƒ0- Selected ridge frequency in xθ – direction vi) Minutiae Extraction: It is based on the crossing number
σx- Standard deviation of Gaussian function along xθ axis concept in which the connectivity of the pixels in the thinned
σy - Standard deviation of Gaussian function along yθ axis image is examined. To extract minutiae, consider a 3 x 3 matrix
[x,y] – Oriented fingerprint image from the thinned image. Scan the local neighborhood of each
[xθ, yθ]- Coordinates of [x,y] after a clockwise rotation of the ridge pixel in the selected 3 x 3 image. Then compute CN value
Cartesian axes by an angle of (90-θ) using (13). It is defined as half the sum of the differences
ƒ- Reciprocal of the average inter-ridge distance K between pairs of adjacent pixels in the eight-neighbourhood
σ- Standard deviation of 2 D normal (or Gaussian) distribution [18].The CN of a pixel P is given by Eq. (13).
G(x, y, θ, ƒ0) can be decomposed into two orthogonal parts as in
Eq.(8): GBP- Band-pass Gaussian function of x and ƒ0 , parallel
to the orientation θ and GLP - Low-pass Gaussian function of y, (13)
perpendicular to the orientation θ. Where Pi is the pixel value in the neighborhood of P. For a
pixel P, its eight neighbouring pixels are scanned in an anti-
clockwise direction. A pixel with a connectivity of 1
corresponds to an ending minutiae and a connectivity of 3 leads
to a bifurcation. For other values it is not a significant pixel.

vii) False Minutiae Elimination: False minutiae may be


(8) introduced into the image due to noise, artifacts etc. The
existence of false minutiae increases both FAR and FRR of the
iv) Binarization: The filtered fingerprint image is in 8-bit gray fingerprint recognition system. Therefore, false minutiae
scale format. It is converted into binary (1-bit) by selecting the elimination forms an important part of the fingerprint
threshold. The pixel values which are above threshold will be recognition system.
assigned to 1 (white) or else they will be assigned to 0 (black). False minutiae elimination uses Euclidean Distance
For 8-bit gray scale image the selection of threshold is as algorithm. The Euclidean distance between points p and q is the
follows: Threshold value is the mean of the filtered fingerprint length of the line segment connecting them (pq(bar) ). Let p =
image for adaptive case. The threshold value for adaptive and (p1, p2,..., pn) and q = (q1, q2,..., qn) are two points in
ideal case are given by Eq. (9) and Eq. (10) respectively. Euclidean n-space, then the distance from p to q, or from q to p
is given by Eq. (14).
For Adaptive: f(p) = 0, p < threshold

= 1, p ≥ threshold (9)
(14)
For Ideal: f(p) = 0, 0 ≤ p ≤ 127

223
Proceedings of IMCIC - ICSIT 2016

viii) Minutiae matcher: Fingerprint matchers can be minutiae into target FPGA device (Virtex-5). For non-linear filter
based, correlation-based or pattern based. Of the three minutiae operations, consider a 3X3 matrix of processed fingerprint
based matching is generally adapted for medium quality image. Pad zeroes in one line around the matrix so that it
images. Further minutiae-based matching employs global becomes 5 x 5 matrix. Start the neighbouring and sliding
approach to increase the accuracy since global approach operations for the image matrix and save the linear array in a
depends on the orientation of the fingerprint image. proper format for coefficient file.
Figure 3 depicts the matching of fingerprint image (template)
under test with that of stored fingerprint images (templates) in 5. EXPERIMENTAL RESULTS
the database. The decision will be to either accept or reject the
The individual blocks of fingerprint recognition process and
fingerprint image depending on the threshold.
minutiae matcher are coded using verilog HDL and
Template (Database)
implemented on Virtex-5 FPGA development board. The
outputs of each block are synchronized with the 100 MHz clock
input. The outputs are in signed decimal values. The input
Template (Under test) Accept / Reject fingerprint image is stored in the ROM initially. The outputs
Minutiae from the individual blocks are at a high impedance state until
matcher the image is copied to the RAM block. At the rising edge of the
clock, the image is copied into RAM for processing.
Threshold The performance of the fingerprint recognition system is carried
out by taking the fingerprint images from the database of 500
Figure 3. Minutiae matcher
fingerprint images. The fingerprint image is represented by 248
pixels × 292 pixels, with 8-bit gray format. The parameters for
4. METHODOLOGY
validation of fingerprint recognition system are processing time,
The size of fingerprint image is 248 × 292 and is in 8-bit gray power consumption and performance.
scale format. It is converted into text file and stored in a ROM. (A) Processing time: The processing time of fingerprint
These values are copied into the RAM for processing. recognition process/system implemented with software and
hardware platforms are listed in Table 1.
The mean of fingerprint image pixels is calculated and the
Table 1. Processing time
difference between each image pixel value and the mean is
obtained. These values are squared, accumulated and stored as Process / System MatLab (µs) FPGA (ns)
variance in RAM. The mean and variance are applied to the
p r o c e s s i n g b l o c k to get the normalized fingerprint Fingerprint recognition process 1.745 42.457
image.
Fingerprint recognition system 3.02 71.774
The normalized image’s gradients in both x and y directions are
calculated and used to compute the orientation angle of the
image. The orientation process provides the horizontal and It is found that for FPGA implementation (Virtex-5 target
vertical derivatives of the normalized image. device) the processing time is in nanoseconds and for MatLab
The output of orientation field estimation is stored in the implementation it is in microseconds.
memory. The control unit takes the data from memory location (B) Power consumption: Table 2 depicts the power
and sends it to the multiplication-accumulator (MAC) unit. The consumption of fingerprint recognition process/ system. It is
coefficient values of the Gabor filter, which defines the oriented evident from the Table 2 that there will be more leakage power
than the dynamic power.
fingerprint image is transferred to MAC unit. MAC unit
Leakage power can be reduced by optimizing the routing of the
perform the matrix convolution operation. The convoluted various modules in the fingerprint recognition process/ system.
signal is transformed into a matrix format which is the filtered Small change in routing may cause drastic changes in the
image. placement of modules, hence the respective change in the
Filtered gray scale image is converted into a binary image speed.
using an adaptive threshold. The binarized output is applied to Table 2. Power consumption
thinning block. Ridge thinning reduces the thickness till the
Process / Power (W) Total Dynamic Leakage
ridges are just one pixel broad. The thinned image thus
Fingerprint recognition 4.056 0.06 3.996
obtained f r o m process u t i l i z e s less memory.
process
Feature extraction is carried out using the Crossing Number
concept, by scanning the local neighborhood of each ridge pixel Fingerprint recognition 1.232 0.045 1.187
in the image using a 3x3 window. False minutiae which results system
during the processing will be removed by using Euclidean
(C)Performance evaluation: Commonly used performance
distance algorithm. Finally the coefficients of real minutiae are
metrics are the False Acceptance Rate (FAR) and the False
saved in a text file as templates. Rejection Rate (FRR). FAR and FRR are calculated based on
The elements in the coefficients file will be very large. the matching score.
Nonlinear operations are performed before loading the image

224
Proceedings of IMCIC - ICSIT 2016

The matching is carried in two phases namely enrollment phase the recognition rate lies behind the with post processing. With
and recognition phase. During enrollment phase the individual fingerprint recognition process (3 stages in cascade), false
fingerprints are acquired using optical scanner. The minutiae of minutiae drops by 33% and true minutiae drops only by 2%.
the fingerprints are obtained using the proposed fingerprint
With only feature extraction (without pre-processing and post
recognition process and are saved as corresponding templates in
the database. processing), the recognition rate falls in the range 70-78%
For a particular fingerprint image, number of terminations are which is very low. Hence it is essential to incorporate the pre-
24 and number of bifurcations are 12. During recognition phase, processing and post processing stages to increase the
the fingerprint to be recognized is processed and corresponding recognition rate.
minutiae in the form of template is compared to the template(s)
in the database by a minutiae matcher. The decision will be With and without post processing
accepted (match) or rejected (no match) depending on the
threshold. 120

FAR,FRR, in %
i) False Acceptance rate: It is defined as a case wherein the 100
system incorrectly authorizes a unauthorized person, as 80
60
authorized person due to incorrect minutiae. The FAR is 40
normally expressed as a percentage. It is given by 20
FAR = 100 x False Positive / ( False Positive + True Negative) 0
FAR is determined by considering fingerprint images of

100
30

60

90
10
20

40
50

70
80
0
different persons / images of different fingers of the same
person. Threshold in %
ii) False Rejection Rate: It is defined as a case wherein the
system incorrectly rejects access to an authorized person, as
FAR without FAR with
unauthorized person due to incorrect minutiae. The FRR is
normally expressed as a percentage. It is given by FRR without FRR with
FRR = 100 xFalse Negative / ( False Negative + True Positve)
FRR is determined by considering images of same finger of the Figure 5. FAR, FRR for post processing
same person at different instants.
Table 3 provides the comparison of the proposed work with the
earlier one in terms of FAR and FRR. It is evident that the
Without and with pre-processing proposed work on Virtex-V FPGA development board, both
FAR and FRR reduces
120 Table 3. Comparison of FAR and FRR
100
FAR,FRR in %

80 Platform FAR FRR


60 C Militello [21] Virtex II 1.3% 7.3%
40
20 Almudena, Lindoso [22] Virtex IV 5.58% 5.12%
0 Proposed work Virtex V 1.18% 2.345%
5 15 25 35 45 55 65 75 85 95
6. CONCLUSION AND FUTURE SCOPE
Threshold in %
Fingerprint recognition process / system is implemented using
FAR without FAR with the state-of-the-art technology on Virtex-5 FPGA. Comparison
FRR without FRR with of the processing time of hardware implementation is carried
out with that of MatLab implementation. The key contributions
of the proposed work are minimal utilization of the available
Figure 4. FAR, FRR for pre-processing hardware resource, low processing time and low power
consumption. In addition the accuracy obtained is satisfactory
The performance of the proposed work is carried out for 500
samples (left hand thumb impressions) from the database. To for medium quality images acquired through optical scanner.
evaluate FRR matching of fingerprint image of same person, Future enhancement for improvement in terms of performance
FAR of different persons are considered between the ages 5-65 and processing time in the proposed process are required for
irrespective of gender. Figure 4 and Figure 5 depicts the low quality fingerprint images.
variation of FAR and FRR with pre-processing and post
processing respectively. 7. REFERENCES
Fingerprint recognition process is realized by considering pre-
processing, feature extraction and post processing blocks in [1] Byung-Gyu Kim, Han-Ju Kim and Dong-Jo Park, “New
cascade. With and without pre-processing the recognition rate Enhancement Algorithm for Fingerprint Images”, IEEE, 2002,
varies by 12-15%. With and without post processing the pp 1051-4651.
recognition rate varies 10-15%. [2] Chapa Martell and Mario Alberto, “Fingerprint image
It is evident that FAR with pre-processing stage lies behind enhancement algorithm implemented on an FPGA”, University
without pre-processing stage. Also the without post processing

225
Proceedings of IMCIC - ICSIT 2016

of Electro-communications, Tokyo, Japan,August 1, 2009, pp [17] Sung Bum pan, Daesung Moon, Kichul Kim and Yongwha
1-6. Chung, “A VLSI Implementation of Minutiae Extraction for
[3].Lin Hong, Yifei Wan, and Anil Jain, “Fingerprint Image Secure Fingerprint Authentication”, International conference
Enhancement: Algorithm and Performance Evaluation”, IEEE on computational Intelligence and security, 2006, Vol.2, pp
Tractions on pattern analysis and machine intelligence, 1217-1220.
vol.20, No.8 August 1998, pp 777-789. [18] S.Gayathri and Dr V.Sridhar “Implementation of Minutiae
[4] S.Gayathri and V.Sridhar, “FPGA Implementation of extraction and false minutiae elimination on FPGA” –-
Normalization block of Fingerprint Recognition Process” Emerging Research in Electronics, Computer Science and
Technology, Lecture Notes in Electrical Engineering 248,
Proceedings of International Conference on Recent Trends
DOI: 10.1007/978-81-322-1157- 0_2, Springer India 2014, pp
in Signal Processing, Image Processing and VLSI, February 9-20.
21-22, 2014, pp 30-38. [19]. Ravi.J. et al, “Fingerprint recognition using minutia score
[5] Garcia M L, et. al, “FPGA implementation of a ridge matching”, International Journal of Engineering Science and
extraction fingerprint algorithm based on microblaze and Technology ,Vol.1(2), 2009, pp 35-42.
hardware coprocessor”, International conference, August 28- [20] Mariano Fons, Francisco Fons, Enrique canto and Mariano
30 , 2006, pp 1-5. Lopez, “Flexible Hardware for Fingerprint Image Processing”,
[6]. S.Gayathri and V.Sridhar “FPGA Implementation of 3rd Proceedings of International conference on Recent
Orientation Field Estimation Of Fingerprint Recognition Trends in Signal Conference on microelectronics and
Process “, International Journal in Recent trends in
electronics, July 2-5, 2007, pp 169-172.
Engineering and Technology Vol. 11, No. 1, July 2014, pp
132- 143. [21] C. Militello, V. Conti, F. Sorbello, S. Vitabile, “A Novel
[7] U. W. Vutipon Areekul, Kittiwat Suppasriwasuseth and Embedded Fingerprints Authentication System Based on
Saward Tantaratana, "Seperable Gabor Filter Realization for Singularity Points”, International Conference on Complex,
Fast Fingerprint Enhancement," 2005. Intelligent & Software Intensive Systems, 2008, pp 72 – 78.
[8]. S.Gayathri and Dr V.Sridhar “Design and simulation of [22] Almudena Lindoso. Luis Entrena and Juon Izquierdo,
Gabor filter using verilog HDL”- International Journal of “FPGA-Based Acceleration of Fingerprint Minutiae Matching”,
Latest Trends in Engineering and Technology, ISSN: 2278- 3rd Southern Conference on Programmable Logic, 2007, pp
621X, Volume 2, Issue 2, March 2013, pp 77-83. 81 – 86.
[9]. Sunny Arief Sudiro,”Thinning Algorithm for Image
Converted in Fingeprint Recognition System”, National
Seminar Soft Computing Intelligent Systems and
Information Technology, 2005.
[10]. A. Jain, L. Hong and S. Pankanti. “Biometric
identification,” Communication of the ACM, vol. 43, no. 2,
February 2000, pp. 90-98.
[11]. S.Gayathri and Dr V.Sridhar, “An improved Fast Thinning
Algorithm for fingerprint image”- International Journal of
Engineering Science and Innovative Technology, ISSN:
2319-5967, Volume 2, Issue 1, January 2013, pp 264-270.
[12] Mariano Fons, Francisco Fons, and Enrique canto,
“Approaching Fingerprint image Enhancement through
Reconfigurable Hardware Accelerators”, IEEE International
symposium on Intelligent signal processing, 2007, pp 1-6.
[13]. S.Gayathri and V.Sridhar, “ASIC implementation of
Image enhancement technique for fingerprint recognition
process”, International Conference on Contemporary
Computing and Informatics, SJCE, Mysore, India from 27-29
November 2014, pp 868-873.
[14]. S.Gayathri and V.Sridhar, “Image Enhancement
Technique for Fingerprint Recognition Process”, ITSI
Transactions on Electrical and Electronics Engineering,
ISSN (Print): 2320-8945, Vol.2, Issue 1, 2014, pp 45-50.
[15] M Fons, F Fons and E canto, “Fingerprint Image
Processing Acceleration through run-time Reconfigurable
Hardware”, IEEE Transactions on circuits and systems –II
Express Briefs, December 2010, Vol.57, N0.12, pp 991-995.
[16] D. Maio, and D. Maltoni, “Direct Gray-Scale Minutiae
Detection in Fingerprints”, IEEE Transaction on Pattern
Analysis. Machine Intelligence, Vol. 19, No. 1, 1997, pp 27 -
39, 1997.

226

You might also like