Vous êtes sur la page 1sur 8

Codiseo Hardware-Software de un Algoritmo de

Matching Biomtrico

Fons M 1, Fons F 1, Canyellas N 1, Lpez M 2, Cant E 1


1Escuela Tcnica Superior de Ingeniera ETSE-URV, Tarragona, Spain,
mfons@lear.com
http://www.etse.urv.es
2 Escuela Universitaria Politcnica de Vilanova i la Geltr EUPVG-UPC, Spain,

http://www.upc.es

Resumen. En la actualidad, la gran mayora de sistemas de identificacin personal


basados en tcnicas biomtricas se organizan sobre plataformas puramente informti-
cas, puesto que las estrategias de enrolment, storage y matching se traducen en algo-
ritmos implementados completamente por software. La arquitectura de dichos siste-
mas la constituye una mquina de gran capacidad, tanto de cmputo como de alma-
cenamiento, manejando gran volumen de informacin en forma de base de datos. En
lo referente a los sistemas de autentificacin/verificacin personal, la arquitectura
actual sigue siendo similar a la anterior pero a menor escala: sistemas microprocesa-
dores de reducida capacidad de almacenamiento y medianas prestaciones de cmputo
como son las actuales smart cards. En este artculo se presenta una nueva propuesta
de arquitectura orientada cada vez ms hacia un particionado hardwaresoftware de
los diferentes algoritmos que intervienen en el reconocimiento biomtrico.

1 Introduccin

Todo sistema electrnico de identificacin/autentificacin personal basado en biometra de


huella dactilar se estructura en 3 etapas claramente diferenciadas:
i) adquisicin y tratamiento de la imagen de la huella dactilar. En una primera etapa se
adquiere digitalmente una imagen de la huella dactilar del usuario y se procesa con el fin de
facilitar el manejo de la misma en las etapas posteriores.
ii) extraccin de las caractersticas de la huella dactilar. En una segunda etapa se extraen de
la huella dactilar aquellos rasgos legtimos que caracterizan de forma inequvoca a esa
huella (minutiae).
iii) proceso de matching de la huella dactilar adquirida versus las huellas registradas en una
base de datos. Finalmente en esta tercera etapa se contrastan los rasgos previamente ex-
trados con los ya existentes en una base de datos, con el propsito de identificar o auten-
tificar la identidad del propietario de la huella dactilar.
Adquisicin imagen huella dactilar

Pre-tratamiento imagen adquirida

Extraccin firma de la huella dactilar

Base de datos huellas Proceso de matching


dactilares (templates)

Resultado Identificacin - Autentificacin

Fig. 1. Diagrama de flujo general sistema de identificacin/autentificacin biomtrico de huella


dactilar

La figura 1 muestra el diagrama de bloques general de todo sistema de identificacin


biomtrico. Dicho diagrama es vlido tanto para el proceso de identificacin (matching
one-to-many, donde se contrasta la huella dactilar recin adquirida con cualquiera de las
ya almacenadas en una base de datos grande, correspondientes a un grupo de personas, con
el fin de reconocer si el usuario ha sido previamente registrado en dicha base de datos ej:
aplicaciones de acceso restringido a edificios), como para el proceso de autentifi-
cacin/verificacin (matching one-to-one, donde la base de datos la componen una o
varias huellas dactilares asociadas a un nico individuo ej: aplicaciones en smart cards).
Los autores se centran en este artculo en la ltima fase del proceso de identifi-
cacin/autentificacin, correspondiente al proceso de matching entre la firma (o rasgos
caractersticos diferenciadores) de la huella dactilar recin adquirida y las firmas de las
huellas dactilares almacenadas en la base de datos.
El presente estudio pretende dejar entrever las ventajas del uso del codiseo hardware-
software y de las arquitecturas SoC (System-on-Chip) en el campo de aplicacin de la
biometra. Se muestra un claro ejemplo de sistema embebido de aplicacin especfica, cuya
arquitectura combina P y FPGA normalmente integrados en formato SoC, y cuyo prin-
cipal exponente prctico son las futuras Trusted Smart Cards (integracin de SoC y sensor
biomtrico). Se plantea la implementacin Hw-Sw de un algoritmo de matching a partir del
conocimiento previo de los resultados de la ejecucin de ese mismo algoritmo nicamente
por software y sobre un sistema P 80C188 @ 25MHz (arquitectura 8-bit externa/16-bit
interna). Se particiona el algoritmo en tareas Hw (sintetizadas sobre lgica programable
que permita el diseo de controladores especficos) y tareas Sw (ejecutadas por programa
sobre un P). Esta nueva arquitectura constituida por P y FPGA permitir alcanzar unas
prestaciones de tiempo de ejecucin y flexibilidad hoy por hoy inalcanzables mediante la
implementacin del sistema nicamente por software.
Se demuestra como el uso de dispositivos lgicos programables donde sintetizar por
hardware aquellas tareas de matching biomtrico de mayor coste computacional mejora
notablemente el tiempo de respuesta del sistema de identificacin/autentificacin, facili-
tando as el desarrollo de aplicaciones cotidianas de identificacin biomtrica (acceso a
edificios, fichas mdicas, tarjetas de crdito).
Seguidamente en la seccin 2 se hace referencia al algoritmo de matching biomtrico
utilizado. La seccin 3 muestra el particionamiento hardware-software del algoritmo
adems del diagrama de flujo general que comprende cada una de las tareas (tareas Hw y
Sw) en que se estructura este. La implementacin fsica del sistema de matching, as como
los resultados obtenidos, aparecen descritos en la seccin 4. Finalmente, en la seccin 4 se
citan tambin los trabajos o retos futuros a los que hacer frente siguiendo la misma pauta de
investigacin.

2 Estudio Previo: Algoritmo de Matching Biomtrico

El algoritmo de matching propuesto corresponde a [1], y fue desarrollado por Dinesh P.


Mital y Eam Khwang Teoh (Singapore, IEEE 1996). Se recomienda la lectura del mismo
para un mejor seguimiento de este artculo.

3 Particionamiento Hardware-Software del Algoritmo

El algoritmo de matching propuesto [1] se compone de las siguientes tareas funcionales:

3.1. Anlisis Local


Tarea 1.1. Anlisis estructural de vecindad del minutiae patrn (template minutiae) pre-
sente en la base de datos.
Tarea 1.2 .Anlisis estructural de vecindad del minutiae recin adquirido (scan minutiae).
Tarea 1.3. Anlisis de similitud entre el minutiae patrn y el minutiae recin adquirido
(matriz de similitud).
Tarea 1.4. Estudio de correlacin entre minutiaes (identificacin de parejas de puntos cor-
respondientes entre el minutiae template y el minutiae scan).

3.2 Anlisis Global


Tarea 2.1. Identificacin de la pareja de puntos caractersticos correspondientes con mayor
ndice de similitud (minutias de referencia) a partir de la cual referenciar los anlisis
globales.
Tarea 2.2. Anlisis estructural global del minutiae template teniendo en cuenta nicamente
aquellas minutias correspondidas con el minutiae scan.
Tarea 2.3. Anlisis estructural global del minutiae scan teniendo en cuenta nicamente
aquellas minutias correspondidas con el minutiae template.
Tarea 2.4. Estudio de correlacin entre minutiaes correspondientes y toma de decisin del
proceso de matching.
Como paso previo al desarrollo del sistema de matching es necesario definir la arqui-
tectura del mismo: qu tareas deben ser ejecutadas por el microprocesador (tareas Sw) y
qu tareas deben ser sintetizadas sobre lgica programable (tareas Hw). Las prestaciones
requeridas por la aplicacin (frecuencia mxima, retardo, consumo) y los costes de de-
sarrollo (inversiones, tiempos) y de produccin permitidos fijarn a priori la arquitectura
del sistema de matching biomtrico. Por ello es de gran ayuda la implementacin, en una
primera fase, de todo el algoritmo de matching por software, permitiendo as cuantificar el
tiempo de cmputo de cada una de las tareas para luego, en el caso de no alcanzar las
prestaciones generales deseadas, pasar seguidamente a implementar como tareas Hw
aquellas de mayor coste temporal y computacional.
La tabla 1 muestra el resultado temporal promedio de cada una de las tareas cuando di-
cho algoritmo es ejecutado (nicamente por software) sobre un sistema embebido formado
por un C 80C188@25MHz:

Plataforma Particionamiento
Tarea 80C188@25MHz Hw-Sw
Tiempo (ms) propuesto
Template Minutiae Local Neighbourhood Analysis 171 Hw
Scan Minutiae Local Neigbourhood Analysis 171 Hw
Scan-Template Minutiaes Similarity Analysis 418 Hw
Scan-Template Correlation Analysis 20 Sw
Central Feature Search 15 Sw
Template Minutiae Global Neighbourhood Analysis 25 Hw
Scan Minutiae Global Neighbourhood Analysis 25 Hw
Global Matching 9 Sw
Tabla 1. Desglose de los tiempos de ejecucin de cada una de las tareas que componen el algoritmo
de matching biomtrico y propuesta de particionamiento Hw-Sw de las tareas

De la tabla 1 se deduce como, en el caso de desarrollar el sistema de matching nica-


mente por software, el tiempo de matching puede llegar a ser demasiado elevado en aquel-
las aplicaciones de identificacin biomtrica que requieran caractersticas de tiempo real o
verificacin on line. Es por ello que las tareas ms crticas en cuanto a tiempo de ejecucin
deben pasar a ser sintetizadas en hardware sobre dispositivos lgicos programables
(FPGAs, ASICs), dejando la ejecucin del resto de tareas menos crticas (en cuanto a com-
plejidad de clculo y tiempo de ejecucin) al microprocesador.
A continuacin se detalla la arquitectura general del sistema planteado, as como el dia-
grama de bloques resultante del particionamiento Hw-Sw.

Perifricos Memoria Memoria


Entrada/Salida CPU Datos Programa ASIC/FPGA

DIRECCIONES

DATOS

CONTROL

Fig. 2. Arquitectura general del sistema de matching biomtrico


Ri1
.

Template .
.

Minutiae Rii 3

Registers .
.
.

Rin Local
M
U Feature
Rii1 X Analysis
.

Scan .
.

Address Bus Minutiae Riij 3

Registers .
.

Data Bus
.
Riii1
Comms Riin .

Controller Template .
.

Write Rv 1,1 Local Riiii 3

. Registers .

Read
.
.
.
Similarity . Similarity Riiin
D
E
Matrix Rv i,j
3 Matrix M
Registers . Analysis Riv 1 U
X
. .
. Scan .
.

Rv n,n Local Riv j 3

Registers .
.
.
Control Reg.
Riv n
Global
Matching Reg. Feature
Analysis

Fig. 3. Estructura del coprocesador implementado mediante lgica programable

El bloque funcional COMMS CONTROLLER constituye el interfaz Hw-Sw entre el P


y el propio coprocesador lgico. Tal y como se puede observar, el interfaz de comunicacio-
nes es el genrico de todo sistema microprocesador (buses de datos, direcciones y control
lectura/escritura).
Adems aparecen otros 3 controladores o bloques funcionales fundamentales:
LOCAL FEATURE ANALYSIS: encargado de llevar a cabo el anlisis de vecindad de
cada uno de los puntos caractersticos del minutiae patrn y/o del minutiae recin extrado.
SIMILARITY MATRIX ANALYSIS: bloque encargado de construir la matriz de
similitud a partir de los minutiaes template y scan.
GLOBAL FEATURE ANALYSIS: encargado de ejecutar el estudio de correlacin entre
las parejas de puntos obtenidos del estudio de similitud de las estructuras locales minutiaes
template y scan.
Se observa como el coprocesador de matching implementado dispone internamente de
una serie de registros donde almacenar los datos de entrada (minutiaes objeto de estudio),
los datos intermedios resultado del procesado interno (local registers y similarity matrix
registers), adems del resultado del algoritmo de matching (matching result register). El
coprocesador dispone tambin de un registro de control (control register) mediante el cual
el microprocesador del sistema ser capaz de gestionar la aplicacin.
MAT CHING

Adquisicin Template minutiae Perifrico E/S C

Pase parmetros a coprocesador C FPGA

Anlisis local Template minutiae FPGA process

Recepcin Scan No
C process
minutiae ?

S
Adquisicin Scan minutiae Perifrico E/S C

Pase parmetros a coprocesador C FPGA

Anlisis local Scan minutiae FPGA process

Tem plate Scan Similarity Matrix FPGA process

Resultados anlisis similitud FPGA C

Anlisis correlacin Template - Scan C process

Pase parmetros a coprocesador C FPGA

Anlisis global Template - Scan FPGA process

Resultado MATCHING FPGA C

No Identificacin C process
ACCESO OK ?
DENEGADO ACCESO
S
PERMITIDO

FIN

Fig. 4. Diagrama de flujo aplicacin de matching biomtrico


library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
package matching is
constant N: integer :=30; -- Maximum number of minutia points
subtype nibble is integer range 7 to 7;
subtype byte is integer range 0 to 255;
type minutia is record
-- Minutia features
x: byte; -- x location
y: byte; -- y location
Ax: nibble; -- x ridge direction
Ay: nibble; -- y ridge direction
t: std_logic; -- minutia type: junction or end of ridge
Data_valid: std_logic; -- flag
end record;
type minutiae is array(0 to (N-1)) of minutia;
end matching;
Fig. 5. Paquete de definiciones matching conteniendo el tipo de datos minutiae

Cada minutiae se define mediante un array de minutias caracterizadas por las coorde-
nadas espaciales del punto caracterstico (x e y), la orientacin o pendiente que toma la
cresta de la huella dactilar en el punto caracterstico (definido de la forma x/y), y el tipo
(bifurcacin o final de cresta) de punto caracterstico. Adems, existe un flag Data_valid
mediante el cual el P puede especificar al coprocesador si los datos almacenados tempo-
ralmente en los registros son o no vlidos.
Una vez realizado el particionamiento Hw-Sw de la aplicacin, y sintetizado sobre
lgica programable tanto el interfaz de comunicaciones como el coprocesador de matching,
ya slo queda desarrollar el programa que debe ejecutar el propio microprocesador. El P
es quien realmente controla la aplicacin y todo el proceso de matching, partiendo de la
adquisicin de los minuties template y scan, gestionando el proceso de matching con el
coprocesador, recibiendo el resultado y actuando en consecuencia, tal y como queda refle-
jado en el diagrama de flujo de la figura 4.

4 Resultados, Conclusiones y Trabajos Futuros

El objetivo final de este estudio es llegar a integrar todo el sistema de matching biomtrico
expuesto en un solo chip (SoC) que incluya la electrnica necesaria (P + memoria +
perifricos estndar E/S + lgica programable). No obstante, y en una primera fase del
diseo se plantea el uso de una plataforma PC (P + memoria + puerto paralelo como
perifrico E/S) que permita emular la parte correspondiente al bloque P + memoria +
perifricos estndar E/S, y usar otra tarjeta electrnica genrica constituida por disposi-
tivos lgicos programables y conectada al PC a travs del puerto paralelo donde albergar
las tareas hardware.
Tras la codificacin en lenguaje VHDL y la posterior simulacin funcional de los blo-
ques principales del algoritmo de matching, se estima una reduccin notable (de hasta el
45% en trminos generales) en la latencia de la aplicacin si el algoritmo se implementa
sobre un embedded system constituido por dispositivos lgicos programables funcionando
a una frecuencia de reloj de 8MHz.

Parallel Port

Programmable Logic Devices

Personal Computer

System on Ch ip

Fig. 6. Evolucin propuesta en la fase de desarrollo de la aplicacin de matching biomtrico

En vista de los buenos resultados previstos, y con el fin de seguir mejorando las
prestaciones del sistema final, se plantea un nuevo reto enfocado a evolucionar desde la
implementacin esttica de las tareas Hw del algoritmo de matching hacia una nueva snte-
sis de estas mismas tareas sobre dispositivos con capacidad de reconfiguracin dinmica
(DR-Hw Dynamically Reconfigurable Hardware). Se pretende con ello aprovechar al
mximo las prestaciones de los actuales dispositivos lgicos programables, a la vez que
reducir los requerimientos de rea y consumo del sistema.
Adems, una segunda lnea de investigacin complementaria consiste en el desarrollo de
componentes IP (Intellectual Property) que lleven a cabo la implementacin de algoritmos
biomtricos ya contrastados, como es el caso del algoritmo de matching abarcado en este
artculo [1]. Con estas libreras de componentes IP Hw-Sw de aplicaciones biomtricas se
facilitar el prototipado rpido de dicho tipo de aplicaciones seguras (sistemas basados en
Smart Cards), reduciendo as el time-to-market del producto. Se trata en definitiva de fa-
cilitar el desarrollo de aplicaciones que garanticen el manejo de informacin confidencial
de forma segura, tal y como exige la era actual de las tecnologas de la informacin y de las
comunicaciones.

Referencias

1. Dinesh P. Mital and Eam Khwang Teoh, An Automated Matching Technique for Fingerprint
Identification IEEE, 1996

Vous aimerez peut-être aussi