Codiseño Hardware-Software de un Algoritmo de Matching Biométrico



Documentos relacionados
Electrónica Digital II

Encuesta sobre utilización de la microelectrónica en la Argentina

Metodologías de diseño de hardware

SINTESIS Y DESCRIPCIÓN DE CIRCUITOS DIGITALES UTILIZANDO VHDL ANTECEDENTES

Elementos requeridos para crearlos (ejemplo: el compilador)

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

Patrones de software y refactorización de código

TEMA 4. Unidades Funcionales del Computador

UNIVERSIDAD AUTÓNOMA DEL CARIBE

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

2 EL DOCUMENTO DE ESPECIFICACIONES

CAPÍTULO 1 Instrumentación Virtual

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Clase 20: Arquitectura Von Neuman

Tipos de Dispositivos Controladores

Hacer Realidad BPM en su Organización ADOPTAR BPM A PARTIR DE UN PROYECTO O NECESIDAD DE AUTOMATIZACIÓN

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

Workflows? Sí, cuántos quiere?

GUÍA DOCENTE. Sistemas Integrados

Informe final Proyecto de Innovación Docente ID11/129. Uso de FPGAs y medios audiovisuales en la docencia de la Electrónica Digital

forma de entrenar a la nuerona en su aprendizaje.

Capítulo 5. Cliente-Servidor.

UN ENTORNO A MEDIDA PARA EL DISEÑO Y LA SIMULACIÓN DE MAQUINARIA POR COMPUTADOR

DESCRIPCION DEL SITEMA MASTER.

Sistemas de Computadoras Índice

SEGURIDAD Y PROTECCION DE FICHEROS

Arquitectura Von Neumann

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006

Proceso de desarrollo del software modelo en cascada

Tema 11: Instrumentación virtual

Especificaciones funcionales para el acceso al RAI por Web

Sistema de Control de Acceso y Personal Biométrico

No se requiere que los discos sean del mismo tamaño ya que el objetivo es solamente adjuntar discos.

UNIVERSIDAD DE SALAMANCA

Bloque IV: El nivel de red. Tema 10: Enrutamiento IP básico

Introducción a la Firma Electrónica en MIDAS

UNIVERSIDAD AUTÓNOMA DEL CARIBE PROCEDIMIENTO DE ATENCIÓN DE INCIDENTES Y REQUERIMIENTOS PARA EQUIPOS DE CÓMUPUTO Y/O PERIFÉRICOS GESTIÓN INFORMÁTICA

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Universidad acional Experimental Del Táchira Decanato de Docencia Departamento de Ingeniería en Informática

SCT Software para la calibración de transductores de fuerza. Versión 3.5. Microtest S.A.

Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN

Unidades temáticas de Ingeniería del Software. Fases del proceso de desarrollo 4ª edición (2008)

IMPACTO DE LAS TICS EN LA SALUD

Caravel Modernization Tool: Tipos de Proyectos. Caravel Modernization Tool: Tipos de Proyectos

LPN 2/2013 "Bienes y Servicios para el Registro Cívico digital de huellas y firmas para la Corte Electoral"

CICLO DE VIDA DEL SOFTWARE

RBAC4WFSYS: Modelo de Acceso para Sistemas Workflow basado en RBAC

OBJETIVOS DE LA MATERIA... 4 PROGRAMA ANALÍTICO. CONTENIDOS TEÓRICOS Y PRÁCTICOS... 5 BIBLIOGRAFIA... 7

Ciclo de Vida del Desarrollo de un Sistema de Información. Departamento de Ingeniería Industrial Universidad de Chile

Laboratorio de Diseño de Sistemas Digitales

Software de Simulación aplicado a entornos de e-learning

El Camino Más Rápido hacia Su Éxito Seminarios de National Instruments. Aprendizaje Práctico Nuevas Tecnologías Expertos Técnicos

UF0512: Transmisión de información por medios convencionales e. informático. TEMA 1. Conexión y funcionamiento

Sistema de gestión de procesos institucionales y documental.

Capitulo 5. Implementación del sistema MDM

Generalidades Computacionales

Modelos de Propuestas

ADMINISTRACION DE CENTROS DE COMPUTO

Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

PROYECTOS DE INVESTIGACIÓN EN LAS AULAS DE CLASE, DE ESTUDIANTES PARA ESTUDIANTES - AQUÍ ESTOY! Y USADIR

BPMN Business Process Modeling Notation

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

DISEÑO E IMPLEMENTACIÓN DE UNA TARJETA DE ADQUISICIÓN DE DATOS PARA EL LABORATORIO DE TELECOMUNICACIONES DE LA FIEC.

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

CAPÍTUL07 SISTEMAS DE FILOSOFÍA HÍBRIDA EN BIOMEDICINA. Alejandro Pazos, Nieves Pedreira, Ana B. Porto, María D. López-Seijo

PROCEDIMIENTO DE MANTENIMIENTO PREVENTIVO Y CORRECTIVO PROCESO GESTIÓN TECNOLÓGICA

RFID APLICADO A LA GESTIÓN DOCUMENTAL

Incidencias: Todas las incidencias que ocurrirán durante el apadrinamiento de un niño se deben registrar para poder buscar soluciones.

Propuesta Técnica. I. Diseño y análisis.

El conjunto de conocimientos científicos y técnicos que hacen posible la resolución de forma automática de problemas por medio de las computadoras.

UNIDAD 2: Abstracción del Mundo real Al Paradigma Orientado a Objetos

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

picojava TM Características

<Generador de exámenes> Visión preliminar

OMG UML 2.0 Marcando un hito en el desarrollo de software Resumen Keywords Historia del Surgimiento

Control Horario. Dispositivos para Control Horario

PONTIFICIA UNIVERSIDAD CATÓLICA DE CHILE VICERRECTORÍA ACADÉMICA

INGENIERÍA AMBIENTAL Tema 3. Parte V SCADA (Supervisory Control and Data Acquisition) Alfredo Rosado Máster Universitario

Soluciones innovadoras para optimizar su infraestructura TI. Virtualización con el sistema operativo i, PowerVM y Power Systems de IBM

RESUMEN INFORMATIVO PROGRAMACIÓN DIDÁCTICA CURSO 2013/2014

PRÁCTICAS VÍA INTERNET Célula de Clasificación

Capítulo 1 Introducción a la Computación

Tema N 2.- Tiempo de respuesta de un PLC

Soluciones de Biometría e Identificación

Gestión de Permisos. Bizagi Suite. Copyright 2014 Bizagi

Aproximación práctica a ITIL. Proyecto VeredaCS. F r00

Fortalece la seguridad de las transacciones con tarjeta bancaria o de casa

Modelo para el Aseguramiento de Calidad en el Desarrollo de Software Libre

Ingeniería del So8ware II

SISTEMA DE GESTION DOCUMENTAL

NUEVA WEB DE LA CONSEJERÍA DE INNOVACIÓN, CIENCIA Y EMPRESA: LA INNOVACIÓN COMO NEXO COMÚN DE UN DESARROLLO WEB

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

Sistema de Gestión y Consulta Documental. eprocess

GeneXus BPM Suite X. Última actualización: 01 de Setiembre de 2008

Diseño orientado al flujo de datos

INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS)

Implementando un ERP La Gestión del Cambio

6.4 ESTRATEGIAS DE PRUEBA

Transcripción:

Codiseño Hardware-Software de un Algoritmo de Matching Biométrico Fons M 1, Fons F 1, Canyellas N 1, López M 2, Cantó E 1 1 Escuela Técnica Superior de Ingeniería ETSE-URV, Tarragona, Spain, mfons@learcom http://wwwetseurves 2 Escuela Universitaria Politécnica de Vilanova i la Geltrú EUPVG-UPC, Spain, http://wwwupces Resumen En la actualidad, la gran mayoría de sistemas de identificación personal basados en técnicas biométricas se organizan sobre plataformas puramente informáticas, puesto que las estrategias de enrolment, storage y matching se traducen en algoritmos implementados completamente por software La arquitectura de dichos sistemas la constituye una máquina de gran capacidad, tanto de cómputo como de almacenamiento, manejando gran volumen de información en forma de base de datos En lo referente a los sistemas de autentificación/verificación personal, la arquitectura actual sigue siendo similar a la anterior pero a menor escala: sistemas microprocesadores de reducida capacidad de almacenamiento y medianas prestaciones de cómputo como son las actuales smart cards En este artículo se presenta una nueva propuesta de arquitectura orientada cada vez más hacia un particionado hardware software de los diferentes algoritmos que intervienen en el reconocimiento biométrico 1 Introducción Todo sistema electrónico de identificación/autentificación personal basado en biometría de huella dactilar se estructura en 3 etapas claramente diferenciadas: i) adquisición 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) extracción de las características de la huella dactilar En una segunda etapa se extraen de la huella dactilar aquellos rasgos legítimos que caracterizan de forma inequívoca 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 extraídos con los ya existentes en una base de datos, con el propósito de identificar o autentificar la identidad del propietario de la huella dactilar

Adquisición imagen huella dactilar Pre-tratamiento imagen adquirida Extracción firma de la huella dactilar Base de datos huellas dactilares (templates) Proceso de matching Resultado Identificación - Autentificación Fig 1 Diagrama de flujo general sistema de identificación/autentificación biométrico de huella dactilar La figura 1 muestra el diagrama de bloques general de todo sistema de identificación biométrico Dicho diagrama es válido tanto para el proceso de identificación (matching one-to-many, donde se contrasta la huella dactilar recién 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 autentificación/verificación (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 artículo en la última fase del proceso de identificación/autentificación, correspondiente al proceso de matching entre la firma (o rasgos característicos diferenciadores) de la huella dactilar recién 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 codiseño hardwaresoftware y de las arquitecturas SoC (System-on-Chip) en el campo de aplicación de la biometría Se muestra un claro ejemplo de sistema embebido de aplicación específica, cuya arquitectura combina µp y FPGA normalmente integrados en formato SoC, y cuyo principal exponente práctico son las futuras Trusted Smart Cards (integración de SoC y sensor biométrico) Se plantea la implementación Hw-Sw de un algoritmo de matching a partir del conocimiento previo de los resultados de la ejecución 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 lógica programable que permita el diseño de controladores específicos) y tareas Sw (ejecutadas por programa sobre un µp) Esta nueva arquitectura constituida por µp y FPGA permitirá alcanzar unas prestaciones de tiempo de ejecución y flexibilidad hoy por hoy inalcanzables mediante la implementación del sistema únicamente por software Se demuestra como el uso de dispositivos lógicos programables donde sintetizar por hardware aquellas tareas de matching biométrico de mayor coste computacional mejora notablemente el tiempo de respuesta del sistema de identificación/autentificación, facilitando así el desarrollo de aplicaciones cotidianas de identificación biométrica (acceso a edificios, fichas médicas, tarjetas de crédito )

Seguidamente en la sección 2 se hace referencia al algoritmo de matching biométrico utilizado La sección 3 muestra el particionamiento hardware-software del algoritmo además del diagrama de flujo general que comprende cada una de las tareas (tareas Hw y Sw) en que se estructura este La implementación física del sistema de matching, así como los resultados obtenidos, aparecen descritos en la sección 4 Finalmente, en la sección 4 se citan también los trabajos o retos futuros a los que hacer frente siguiendo la misma pauta de investigación 2 Estudio Previo: Algoritmo de Matching Biométrico 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 artículo 3 Particionamiento Hardware-Software del Algoritmo El algoritmo de matching propuesto [1] se compone de las siguientes tareas funcionales: 31 Análisis Local Tarea 11 Análisis estructural de vecindad del minutiae patrón (template minutiae) presente en la base de datos Tarea 12 Análisis estructural de vecindad del minutiae recién adquirido (scan minutiae) Tarea 13 Análisis de similitud entre el minutiae patrón y el minutiae recién adquirido (matriz de similitud) Tarea 14 Estudio de correlación entre minutiaes (identificación de parejas de puntos correspondientes entre el minutiae template y el minutiae scan) 32 Análisis Global Tarea 21 Identificación de la pareja de puntos característicos correspondientes con mayor índice de similitud (minutias de referencia) a partir de la cual referenciar los análisis globales Tarea 22 Análisis estructural global del minutiae template teniendo en cuenta únicamente aquellas minutias correspondidas con el minutiae scan Tarea 23 Análisis estructural global del minutiae scan teniendo en cuenta únicamente aquellas minutias correspondidas con el minutiae template Tarea 24 Estudio de correlación entre minutiaes correspondientes y toma de decisión del proceso de matching Como paso previo al desarrollo del sistema de matching es necesario definir la arquitectura del mismo: qué tareas deben ser ejecutadas por el microprocesador (tareas Sw) y qué tareas deben ser sintetizadas sobre lógica programable (tareas Hw) Las prestaciones requeridas por la aplicación (frecuencia máxima, retardo, consumo) y los costes de desarrollo (inversiones, tiempos) y de producción permitidos fijarán a priori la arquitectura del sistema de matching biométrico Por ello es de gran ayuda la implementación, en una

primera fase, de todo el algoritmo de matching por software, permitiendo así cuantificar el tiempo de cómputo 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 dicho algoritmo es ejecutado (únicamente por software) sobre un sistema embebido formado por un µc 80C188@25MHz: Tarea Plataforma 80C188@25MHz Particionamiento Hw-Sw propuesto Tiempo (ms) 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 ejecución de cada una de las tareas que componen el algoritmo de matching biométrico 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 únicamente por software, el tiempo de matching puede llegar a ser demasiado elevado en aquellas aplicaciones de identificación biométrica que requieran características de tiempo real o verificación on line Es por ello que las tareas más críticas en cuanto a tiempo de ejecución deben pasar a ser sintetizadas en hardware sobre dispositivos lógicos programables (FPGAs, ASICs), dejando la ejecución del resto de tareas menos críticas (en cuanto a complejidad de cálculo y tiempo de ejecución) al microprocesador A continuación se detalla la arquitectura general del sistema planteado, así como el diagrama de bloques resultante del particionamiento Hw-Sw Periféricos Entrada/Salida CPU Memoria Datos Memoria Programa ASIC/FPGA DIRECCIONES DATOS CONTROL Fig 2 Arquitectura general del sistema de matching biométrico

Address Bus Data Bus Write Read Comm s Controller Template Minutiae Scan Minutiae Similarit y Matrix R i 1 R i i 3 R i n R ii 1 R ii j 3 R ii n R v 1,1 3R v i,j R v n,n Control Reg Matching Reg M U X Similarit y Matrix Analysis Global Feature Analysis Local Feature Analysis Template Local Scan Local R iii 1 R iii i 3 R iii n R iv 1 R iv j 3 R iv n D E M U X Fig 3 Estructura del coprocesador implementado mediante lógica programable El bloque funcional COMM S CONTROLLER constituye el interfaz Hw-Sw entre el µp y el propio coprocesador lógico Tal y como se puede observar, el interfaz de comunicaciones es el genérico de todo sistema microprocesador (buses de datos, direcciones y control lectura/escritura) Además aparecen otros 3 controladores o bloques funcionales fundamentales: LOCAL FEATURE ANALYSIS: encargado de llevar a cabo el análisis de vecindad de cada uno de los puntos característicos del minutiae patrón y/o del minutiae recién extraído 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 correlación 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), además del resultado del algoritmo de matching (matching result register) El coprocesador dispone también de un registro de control (control register) mediante el cual el microprocesador del sistema será capaz de gestionar la aplicación

MATCHING Adquisición Template minutiae Periférico E/S µc Pase parámetros a coprocesador µc FP GA Análisis local Template minutiae FPGA process Recepción Scan minutiae? No µc process Sí Adquisición Scan minutiae Periférico E/S µc Pase parámetros a coprocesador µc FP GA Análisis local Scan minutiae FPGA process Template Scan Similarity Mat rix FPGA process Resultados análisis similitud FPGA µc Análisis correlación Template - Scan µc process Pase parámetros a coprocesador µc FP GA Análisis global Template - Scan FPGA process Resultado MATCHING FPGA µc No ACCESO DENEGADO Identificación OK? Sí FIN ACCESO PERMITIDO µc process Fig 4 Diagrama de flujo aplicación de matching biométrico

library ieee; use ieeestd_logic_1164all; use ieeenumeric_stdall; 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 coordenadas espaciales del punto característico (x e y), la orientación o pendiente que toma la cresta de la huella dactilar en el punto característico (definido de la forma x/ y), y el tipo (bifurcación o final de cresta) de punto característico Además, existe un flag Data_valid mediante el cual el µp puede especificar al coprocesador si los datos almacenados temporalmente en los registros son o no válidos Una vez realizado el particionamiento Hw-Sw de la aplicación, y sintetizado sobre lógica programable tanto el interfaz de comunicaciones como el coprocesador de matching, ya sólo queda desarrollar el programa que debe ejecutar el propio microprocesador El µp es quien realmente controla la aplicación y todo el proceso de matching, partiendo de la adquisición 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 reflejado 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 biométrico expuesto en un solo chip (SoC) que incluya la electrónica necesaria (µp + memoria + periféricos estándar E/S + lógica programable) No obstante, y en una primera fase del diseño se plantea el uso de una plataforma PC (µp + memoria + puerto paralelo como periférico E/S) que permita emular la parte correspondiente al bloque µp + memoria + periféricos estándar E/S, y usar otra tarjeta electrónica genérica constituida por dispositivos lógicos programables y conectada al PC a través del puerto paralelo donde albergar las tareas hardware Tras la codificación en lenguaje VHDL y la posterior simulación funcional de los bloques principales del algoritmo de matching, se estima una reducción notable (de hasta el 45% en términos generales) en la latencia de la aplicación si el algoritmo se implementa

sobre un embedded system constituido por dispositivos lógicos programables funcionando a una frecuencia de reloj de 8MHz Paral lel Port Programmable Logic Devices Personal Computer System on Chip Fig 6 Evolución propuesta en la fase de desarrollo de la aplicación de matching biométrico 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 implementación estática de las tareas Hw del algoritmo de matching hacia una nueva síntesis de estas mismas tareas sobre dispositivos con capacidad de reconfiguración dinámica (DR-Hw Dynamically Reconfigurable Hardware) Se pretende con ello aprovechar al máximo las prestaciones de los actuales dispositivos lógicos programables, a la vez que reducir los requerimientos de área y consumo del sistema Además, una segunda línea de investigación complementaria consiste en el desarrollo de componentes IP (Intellectual Property) que lleven a cabo la implementación de algoritmos biométricos ya contrastados, como es el caso del algoritmo de matching abarcado en este artículo [1] Con estas librerías de componentes IP Hw-Sw de aplicaciones biométricas se facilitará el prototipado rápido de dicho tipo de aplicaciones seguras (sistemas basados en Smart Cards), reduciendo así el time-to-market del producto Se trata en definitiva de facilitar el desarrollo de aplicaciones que garanticen el manejo de información confidencial de forma segura, tal y como exige la era actual de las tecnologías de la información y de las comunicaciones Referencias 1 Dinesh P Mital and Eam Khwang Teoh, An Automated Matching Technique for Fingerprint Identification IEEE, 1996