See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/224646364
Design of an Embedded Fingerprint Matcher System
Conference Paper · January 2006
DOI: 10.1109/ISCE.2006.1689467 · Source: IEEE Xplore
CITATIONS
12
3 authors, including:
Enrique Cantó
Universitat Rovira i Virgili
83 PUBLICATIONS 458 CITATIONS
SEE PROFILE
READS
1,518
All content following this page was uploaded by Enrique Cantó on 20 May 2014.
The user has requested enhancement of the downloaded file.
Design of an Embedded Fingerprint Matcher System
Mariano Fons, Francisco Fons, Enrique Cantó
Abstract — The current technological age is demanding
reliable and cost-effective personal authentication systems
for a wide range of daily use applications such as access
control, electronic commerce, ID verification... where
security and confidentiality performance of the information
is needed. Biometrics-based authentication techniques (e.g.
face, iris, fingerprint recognition...) in conjunction with
technologies bring a challenging
embedded systems
solution to this need. This paper describes the hardware-
software co-design of a computational platform responsible
for matching two fingerprint minutiae sets. A novel system
concept is suggested by making use of reconfigurable
architectures1.
Index Terms — Biometrics, Fingerprint minutiae-based
matching, System-on-chip technology, Hardware-software co-
design, Reconfigurable hardware, Embedded system.
I. INTRODUCTION
Among all physiological (e.g. hand geometry, fingerprint,
face, iris...) and behavioural (e.g. handwriting, gait, voice
print...) human characteristics, fingerprint is the most deeply
used technique for personal recognition. Authors focus their
work on fingerprint biometrics and hardware-software co-
design technology in order to define a new system
architecture conception for AFAS (Automatic Fingerprint
Authentication Systems) [1]. The goal of AFAS is to
efficiently verify the identity of an individual by means of
his/her genuine fingerprint characteristics. Two are the
stages involved in the recognition process:
During the first stage, called enrolment, the system
measures the biometric characteristics of the user. From this
measurement, it generates a template that is stored, together
with any other relevant information of the user, in a secure
memory or database. After the enrolment phase, the user
becomes available in the system so he can be properly
identified in the second stage of the recognition process: the
authentication phase.
During the authentication stage, the user’s biometric
characteristic is measured again and compared against the
previously stored template. If they are similar enough, it is
assumed that the person previously enrolled is now present.
However, if both biometrics are different, it is deduced that
the current user is an impostor, and he is not who he claims
to be. As a result of the biometric authentication process the
1 M. Fons, F. Fons, and E. Cantó are with the Electronic, Electrical and
Automation Engineering Department, University Rovira i Virgili (URV),
(e-mail: [email protected],
Tarragona, 43007 SPAIN
[email protected], [email protected]).
1-4244-0216-6/06/$20.00 ©2006 IEEE
system either accepts or rejects the user, improving thus the
robustness and security of the overall application against
fraudulent attacks.
The main tasks involved in the personal recognition
process are:
- Fingerprint image acquisition. Although in the past the
fingerprint acquisition was performed manually by means of
ink and paper, nowadays electronic fingerprint sensors and
capture methods have been developed in order to automate
the acquisition process. As a result of this first step, a digital
greyscale image of the user’s fingerprint is obtained.
- Image processing. In order to improve the quality of the
input print, several pre-processing stages are applied to the
original image to eliminate those noisy regions and to adapt
the image to the following processing steps. From these
tasks, a quality filter can be applied to the input images,
rejecting thus those low quality fingerprint impressions.
- Feature extraction. In this stage several complex
algorithms such as gradient map computation, image
segmentation, brightness and contrast enhancement,
orientation field calculation, bitmap binarization and ridge
thinning can be applied to the image prior to extracting
those distinctive characteristics of the fingerprint. Normally,
the ridge discontinuities of the fingerprint, called minutiae
and mainly based on the ridge endings and the ridge
bifurcations of the fingertip, are the features extracted in this
step.
the
- Feature matching. It consists of deducing
correspondence among those features obtained from two
different finger impressions. The matching process will give
as result the confidence to determine if both fingerprints
come (or not) from the same finger (user).
Although the accuracy of the recognition system does
depend on the reliability of every stage involved, fingerprint
matching has special
the final system
performance. Following this direction, the current article is
focused on the fingerprint matching stage, without taking
care about previous processing stages.
influence on
As it can be deduced from the complexity of the different
tasks involved in a personal recognition process (Fig. 1 and
Fig. 2), the implementation of an AFAS demands a high
computational power. Nowadays, AFAS are mainly based
on software solutions [2], [3]: conventional computer
platforms based on powerful microprocessors running
complex tasks at high speed. However, with the advances
recently made in VLSI (Very Large Scale Integrated)
technology, the hardware-software co-design techniques
together with dynamically reconfigurable architectures have
become a challenging alternative.
Image Acquisition
Image Processing
Feature Extraction
Feature Storage
Fig. 1. Tasks involved in the enrolment process: fingerprint image acquisition, image processing, feature extraction and feature storage (in a secure
database or a smart card) for the template fingerprint.
those
Implementing those complex computational tasks on
hardware
less
(ASIC, FPGA) while keeping
expensive tasks on software (MCU) yield significant
improvements in execution times. Owing to the fact that the
current technological age is demanding reliable and cost-
effective personal authentication systems for a wide range
of daily use applications, a novel AFAS architecture is
suggested in this work. A special attention is done to the
definition of a cost-effective-oriented system, able to
convert personal security in a pervasive service, accessible
to everybody, anywhere and anytime, in the same way as
mobile phone technology does perform today within the
current communications age.
The rest of the paper is organized as follows. In section
2, the proposed system architecture is presented. The
fingerprint matching algorithm selected to be implemented
into the system is detailed in section 3. The hardware-
software partitioning of the application is covered in section
4. The experimental results are shown in section 5. Finally,
the conclusions and the future work are summarized in
section 6.
II. SYSTEM ARCHITECTURE
The conventional AFAS architecture is based on personal
computer platforms and several functional blocks:
- CPU, as heart of the system;
- DSP and floating-point coprocessors, specially
designed to accelerate those complex mathematical
computations;
- ROM memory, where to allocate the operating
system;
- Non-volatile EEPROM or FLASH memory, to store
specific application data (e.g. user’s fingerprint
templates) and/or program code;
- RAM memory, acting as processor’s working
-
memory;
and I/O interface, used as communication channel to
Publicité
transfer/receive data to/from outside.
However, a novel system architecture is presented in this
work. The development of a small computational platform
is intended by fitting those resources specifically required
by the application. A novel topology is suggested by taking
profit of the advantages that application specific hardware
implementation offers in comparison with a purely software
implementation.
For this purpose, current work makes use of the
advantages of Field Programmable Gate Arrays technology.
FPGAs are configurable VLSI devices where it is possible
to synthesize application specific
logic functions by
hardware, and exploit the parallelism and pipelining
features available in these devices. The current FPGA
technology also includes the notion of reconfigurability
performance, based on the capability of modifying the
hardware content throughout the application execution time.
Image Acquisition
Image Processing
Feature Extraction
Input Feature
M
A
T
C
H
E
R
Matching Result
Feature Reading
Template Feature
Fig. 2. Tasks involved in the authentication process: fingerprint image acquisition, image processing and feature extraction stages for the query
fingerprint;
template and
query fingerprints.
fingerprint matching of both,
fingerprint; and
fingerprint
template
reading
feature
the
for
The suggested platform
is mainly based on a
microprocessor, its memory block and a dynamically
reconfigurable FPGA, as shown in Fig. 3.
Fingerprint
Sensor
CPU
I / O
RAM
ROM
EEPROM
Image processor
Minutiae extractor
Matcher
R-Hw FPGA
Cryptoprocessor
Arith. coprocessor
CORDIC controller
DMA controller
Fig. 3. Main physical blocks in the proposed fingerprint-based
authentication system.
There already exist some works in literature that make
use of FPGAs or embedded platforms to implement matcher
or complete authenticator systems [4], [5]. However,
innovative
fingerprint
research arises on automatic
authenticator systems making use of reconfigurable FPGAs.
The flexibility performance reached by the reconfigurable
FPGA allows using it as a multipurpose device where it is
possible to implement several computational functions
multiplexed in time. Specific mathematical, digital-image or
biometric coprocessors can be dynamically synthesized on
the FPGA to speed up the personal authentication process.
the system,
The reconfigurable hardware gives additional flexibility
to
the workload
increasing consistently
capability of the platform in comparison with a general-
purpose personal computer. Application-specific functions
are downloaded into the FPGA as they are needed along the
execution time, thus reducing drastically the area needs for
the device in comparison with the static implementation of
all functional modules in a non-reconfigurable FPGA.
In this new topology, the FPGA is used to implement
specific coprocessors multiplexed in time, whereas the
microprocessor is responsible for managing the biometric
authentication process, as well as taking care of the FPGA
reconfiguration.
FINGERPRINT
IMAGE
FEATURE
ACQUISITION
PROCESSOR
EXTRACTOR
UNIT
UNIT
UNIT
USER’S
TEMPLATE
SENSOR
FE ATURE MATCHING UNIT
EMBEDDED
SYSTEM
ENCRYPTION UNIT
INPUT:
User’s Finger
OUTPUT:
Authentication Result
Fig. 4. Main functional blocks in the proposed fingerprint-based
authentication system.
Although the main goal of this work is to check the
feasibility of
this new architecture proposal, special
attention has to be taken to the reconfiguration overhead.
The reconfiguration of the FPGA must not overload the
application execution time. The timing constraints imposed
by
the maximum overload
admissible for reconfigurability tasks. The microprocessor
becomes the master scheduler, and controls and monitors all
activities that take place during the recognition process.
the application will set
The complete block diagram suggested in this paper is
depicted on Fig. 4. An electronic fingerprint sensor is also
integrated into the system in order to allow the automatic
fingerprint acquisition stage.
III. FINGERPRINT MATCHING ALGORITHM
The fingerprint matching algorithm is responsible for
generating a similarity score for the input and template
prints. After similarity analysis, the comparison of the
resultant match score with a certain threshold will state
whether both original fingerprints are generated (or not)
from the same finger.
Many methods for matching two fingerprints have been
presented in literature [1]. Among them, minutia-based
(fingerprint ridge discontinuities: ridge endings and ridge
bifurcations) is the most widely used technique due to its
good performance with less computational costs (processing
time and memory needs) than other techniques. Matching
two fingerprints in minutia-based representations becomes a
point pattern-matching problem, and it consists of finding
the alignment and correspondences between pairs of
minutiae points in both sets.
The proposed algorithm is abstracted from [6] and [7].
They use both local and global structures of minutiae to
fingerprint alignment and matching. Some
perform
modifications have been
the original
introduced
algorithms in order to improve the matching performance
results. The matching process is split in several sequential
steps, as described in the following sections.
to
A. Minutia Description: Local Analysis
In order to determine the similarity of fingerprints, first
the local structure of every minutia point in both minutiae
sets is obtained. The local structure describes the spatial
Publicité
characteristics of
its minutiae
neighbourhood into account. This local descriptor is a
rotation and translation invariant feature, inherent to a
minutia.
a minutia
taking
The relative Euclidean distances d (1) and angles φ (3)
between the specific minutia and its nearest N minutiae
neighbours, as well as the relative ridge directions γ (4) are
used in order to clearly define the local neighbourhood of a
minutia. Every minutia is then well defined by N relative
triplets (d,φ,γ), thus a minutiae set composed by W minutia
points is then characterized by W x N triplets (d,φ,γ).
Y
y1
y0
β1
γ
β0
m1
α
d
β0
φ
m0
x0
x1
X
Fig. 5. Fingerprint minutia descriptor (d, φ, γ), where m0 (x0, y0, β0) is a
ridge ending and m1 (x1, y1, β1) is a ridge bifurcation.
)
)2
(1)
(
(
−
=
+
−
d
y
x
x
y
2
1
0
1
0
−
−
y
0
x
0
(2)
(3)
y
1
x
1
1
−
=
α
tg
0βαφ
−
−
1 β
γ
β
=
=
0
(4)
Normally, a fingerprint impression contains W=30-50
minutia points, and authors have selected N=8 neighbours
as neighbourhood criterion.
B. Minutia Comparison: Similarity Matrix
Once template and input minutiae are properly defined,
next step consists of finding the correspondence between
minutia pairs in both sets. Given a template minutiae with T
minutia points and an input minutiae with I minutia points,
a T x I similarity matrix is built in order to analyze the
similarity score between any possible minutia pair
combination. To cope with
inevitable non-linear
distortions originated during the fingerprint acquisition
stage, when mapping a 3-dimensional and elastic fingertip
onto a 2-dimensional sensor plane, small local deformations
are allowed when determining the similarity level between
minutia pairs.
the
C. Central Feature Selection
The similarity scoring of local structures permits to
identify the best-matched minutia pair and take it as
reference to align both global structures (fingerprints).
D. Minutiae Description: Global Analysis
In the same way as a minutia is defined by its local
structure, a minutiae set is defined by its global structure.
The global structure describes the spatial characteristics of
the minutiae from a reference minutia point (central
feature). Given a minutiae set composed by W minutia
points, and once determined its central feature, the minutiae
is then characterized by (W-1) triplets (d,φ,γ) relative to the
central feature point.
E. Decision Making: Match Result
Once the global definition of both minutiae sets is done,
the global correspondence analysis guarantees that one
minutia of the template minutiae can be paired at most with
one minutia of the input minutiae. A set of global minutia
pairs is obtained, allowing certain elastic tolerances in them.
From the location of the corresponding minutia pairs it is
possible
interest on both
the regions of
fingerprints. These regions of interest can be interpreted as
the overlapped areas between both prints, and from them a
similarity score can be deduced.
to select
The resultant similarity score is then compared with a
certain threshold in order to decide the match result:
authentication OK (both prints come from the same finger)
or authentication NOK (both prints come from different
fingers).
IV. HARDWARE-SOFTWARE CO-DESIGN
Hardware-software co-design methodology for hardware-
software based systems is a well-known technique in the
current technological age. Biometrics field is not an
exception, a proof of this is the big amount of biometric
matcher or authenticator systems available nowadays in the
market [8]. However, the emphasis of this work is the
implementation of biometric systems by making use of
reconfigurable architectures. This novel approach benefits
the reuse of hardware sources in order to obtain embedded
systems with similar performance, but with higher
flexibility and at lower cost than current systems.
A. Physical Platform
System-on-chip
allows
technology
customized
implementations of complete hardware/software systems
within a single chip. A new trend in system-on-chip design
are the System Level Integrated Circuits, which consist of a
microprocessor, program and data memory, various
peripherals, and a programmable system logic, providing
thus a reduced but reconfigurable architecture to develop
any kind of application.
Many reconfigurable FPGAs already exist in the market
[9]. Among them, authors have selected the system-on-chip
FPSLIC from Atmel. The platform developed in this work
is based on FPSLIC device and a configuration EEPROM
memory:
one
incorporates
Publicité
- The FPSLIC (Field Programmable System Level
Integrated Circuit)
8-bit
microprocessor, its memory block (36 kbytes of
program and data memory), some peripherals such as
three programmable timers, two serial UART, one
I2C controller, one 8-bit hardware multiplier
module, as well as two I/O ports, and a 40-kgates
FPGA with dynamic reconfigurability performance,
all embedded in a SRAM-based monolithic field
programmable device.
- The EEPROM memory is used for 2 main purposes:
a) as configuration memory, in order to store the
design that has to be downloaded into the FPSLIC
on power-up or at any moment during execution
time;
b) as non-volatile memory, used to store those
application specific data such as user’s fingerprint
templates or other configuration parameters needed.
The suggested embedded system allows the hardware-
software co-design of the application. The design is stored
in the form of bitstream, which includes the FPGA
hardware content, the microprocessor program code and the
application data. It is possible to partition the application in
hardware and software tasks, thus synthesizing in the FPGA
the
those computationally expensive
microprocessor is in charge of executing the rest of less
complex tasks and managing also the reconfiguration of the
system.
tasks, whereas
B. Hardware-Software Partitioning
It is assumed that template and input minutiae sets have
been already stored into the system, in enrolment and
authentication stages respectively, before starting the match
process.
In order to partition the matching algorithm in hardware
and software tasks, a first implementation of the complete
algorithm uniquely by software is done. From here, those
more expensive tasks are identified to be implemented as
hardware tasks. Thus the microprocessor is responsible for
managing the matching process whereas in the FPGA the
local and global analysis of both minutiae sets are
implemented. Several computational coprocessors have
been synthesized into the FPGA, all of them controlled by
means of a hardware FSM (finite state machine) core block,
responsible for managing the hardware tasks under pipeline
strategy:
- A CORDIC coprocessor [10] has been synthesized
in order to accelerate the computation of distances
(SQRT function) and angles (ATAN function)
between minutia points.
- A DMA controller has been implemented in order to
provide access to the memory in a fast way, without
the support of the microprocessor.
Some configuration registers have been synthesized
on the FPGA to allow the microprocessor to control
and monitor the hardware processing.
-
The application block diagram is shown in Fig. 6.
FPGA
SKELETON
INTERFACE
DMA
CORE
FSM
INS
OUTS
CORDIC
DFF
DUAL
PORT
SRAM
DATA
INT’S
M
I
C
R
O
C
O
N
T
R
O
L
L
E
R
SRAM
PROGRAM
MEMORY
EEPROM
MEMORY
Fig. 6. Fingerprint matching application block diagram.
C. Reconfigurable Hardware Stages
Owing to the limited hardware resources available in the
current FPGA, and the computational overhead present
during local and global minutiae analysis, FPGA run-time
reconfiguration has been needed in order to increase the
effective functional density of the current design. The
matching algorithm has been split in two stages: the first
one is based on the local analysis of both minutiae sets,
whereas in the second stage the global analysis is computed.
Several hardware blocks have been implemented in every
stage on the FPGA, and a complete reconfiguration of the
FPGA has been needed between both stages to fulfil the
matching process.
The application flow diagram is shown in Fig. 7.
Template Minutiae
Input Minutiae
Local Analysis
Local Analysis
Similarity Matrix
FPGA Context 1
C.F. Pair Selection
Global Analysis
Global Analysis
Minutia Pairing
Matching Score
Decision Making
FPGA Context 2
HW Tasks
SW Tasks
HW Tasks
Fig. 7. Fingerprint matching application flow diagram.
V. EXPERIMENTAL RESULTS
There exists a trade-off between cost and execution time
when performing the hardware-software partitioning of the
application. Hardware (FPGA-based) implementation tasks
mean more cost whereas software (microprocessor-based)
implementation
latency. The
tasks mean more
reconfigurability performance of the selected FPGA allows
to further reduce the cost of hardware implementation,
whereas it increases as penalty the extra load (time and/or
resources) required for reconfiguration purposes. Finally,
the application requirements are the basis to perform an
1
efficient
summarizes the experimental results reached in this work.
partitioning. Table
hardware-software
Although the overall application timing is not minimal –
due to several factors such as the working frequency
restrictions in current FPGA and CPU devices–, the results
shown on Table 1 points the feasibility of the novel
architecture presented in this work. In those applications
where the overhead due to the FPGA reconfiguration is not
critical (6.2% of the total time in our application), this
topology can be used in order to save FPGA resources, thus
REFERENCES
[1] D. Maltoni, D. Maio, A. K. Jain, S. Prabhakar, Handbook of
Fingerprint Recognition, Springer, 2003.
[2] A. K. Jain, L. Hong, S. Pankanti, R. Bolle, “An identity-
authentication system using fingerprints”, Proceedings of the IEEE,
vol. 85, no. 9, pp. 1365-1388, September 1997.
[3] D. Maio, D. Maltoni, R. Cappelli, J. L. Wayman, A. K. Jain,
FVC2004: Third Fingerprint Verification Competition, Proceedings
of ICBA 2004, LNCS 3072, pp. 1-7, 2004.
[4] C. López-Ongil, R. Sánchez-Reillo, J. Liu-Jiménez, F. Casado, L.
Sánchez, L. Entrena, “FPGA
Publicité
implementation of biometric
authentication system based on hand geometry”, FPL 2004, LNCS
3203, pp. 43-53, 2004.
[5] Q. Su, J. Tian, X. Chen, X. Yang, “A fingerprint authentication
system based on mobile phone”, AVBPA 2005, LNCS 3546, pp. 151-
159, 2005.
[6] D.P. Mital, E. K. Teoh, “An automated matching technique for
fingerprint identification”, 22nd IEEE International Conference on
Industrial Electronics, Control and Instrumentation, vol. 2, pp. 806-
811, August 1996.
[7] X. Judong, W.-Y. Yau, “Fingerprint minutiae matching based on
local and global structures”, Proceedings of ICPR 2000, pp. 1038-
1041, 2000.
[8] The Biometric Consortium, www.biometrics.org
[9] S. Donthi, R.L. Haggard, “A survey of dynamically reconfigurable
the 35th Southeastern
FPGA devices”, IEEE Proceedings of
Symposium on System Theory, pp. 422-426, March 2003.
[10] F. Fons, M. Fons, E. Cantó, and M. López, “Dynamically
reconfigurable CORDIC coprocessor for trigonometric computing”,
19th International Conference on Architecture of Computing Systems,
Workshop Proceedings, vol. 1, pp. 254-263, March 2006.
Mariano Fons received his B.S.
degree in electrical engineering
from Rovira i Virgili University
in 1995, and his M.S. degree in
industrial
and
automation
electronics
from
Rovira i Virgili University in
2001. He is currently a Ph.D.
student in the Department of Electronic, Electrical and Automation
Engineering at the Rovira i Virgili University. His current research
interests include hardware-software co-design techniques and VLSI
implementations of embedded systems.
engineering
Francisco Fons received his B.S.
degree in electrical engineering
in
and
industrial
automation
electronics
from
Rovira
i Virgili University,
Tarragona (Spain) in 1995 and
2001, respectively. He is currently pursuing a Ph.D. degree from Rovira i
Virgili University in the field of VLSI design methodologies and
dynamically reconfigurable hardware techniques for embedded systems.
engineering
his M.S.
degree
and
Enrique Cantó works
as
assistant professor at the Rovira i
Virgili University, Tarragona
(Spain). He received his Ph.D.
degree in 2001, and he has been
collaborating
or managing
several European and Spanish
research projects about reconfigurable devices, smart card architectures,
and fingerprint coprocessors.
reducing cost without having a negative effect on final
application performance.
Resources usage
Memory
CPU
FPGA
TABLE I
SYSTEM PERFORMANCE
EEPROM memory (bytes)
Data memory (bytes)
Code memory (bytes)
fclk (MHz)
Percent load CPU (%)
fclk (MHz)
Percent load FPGA (%)
Gates context 1
Flip Flops context 1
Gates context 2
Flip Flops context 2
System timing
Task 1 (Sw)
Task 2 (Hw)
Task 3 (Hw)
Task 4 (Sw)
Task 5
Task 6 (Hw)
Task 7 (Hw)
Task 8 (Sw)
Total execution time (typical value):
Minutiae set up
Template local analysis
Input local analysis
Central feature selection
FPGA Reconfiguration
Template global analysis
Input global analysis
Matching result computation
134687
7412
8338
12.5
88.8
25
5.0
1344
365
1213
338
438 µs
6689 µs
6689 µs
183348 µs
17292 µs
334 µs
334 µs
62141 µs
277265 µs
VI. CONCLUSIONS AND FUTURE WORK
system architecture
Current personal biometrics-based recognition systems
deal with unlimited computational platforms based on high
performance microprocessors with big amounts of memory
resources and powerful DSP processors running parallel
tasks at high speed. Despite this, current performance of
software-based solutions is not enough to satisfy low-cost
requirements.
A novel
fingerprint
authentication system based on hardware-software co-
design has been proposed in this paper. In comparison with
conventional architectures, the suggested topology is based
on a general-purpose microcontroller and a small-size
reconfigurable FPGA used as hardware accelerator
integrated into the system. The FPGA gives additional
flexibility and increases the workload capability of the
platform by downloading functions to the FPGA as they are
needed, and reconfiguring it along the process.
for
a
The physical implementation of the fingerprint matching
stage has been discussed in this work. It has been proven
that it is possible to implement a fingerprint matching
system by using the proposed system architecture.
The aim of the authors in their future work is to take
profit of
the advantages of FPGA reconfigurability
performance in order to develop all the steps involved in the
recognition process: not only the fingerprint matching step,
but also the fingerprint acquisition process, the image
enhancement stage and the feature extraction phase.
View publication stats
View publication stats