DISEÑO E IMPLEMENTACION DE UN SISTEMA DE VERIFICACIÓN DE HUELLAS DACTILARES



Documentos relacionados
Capítulo 2. Técnicas de procesamiento digital de imágenes y reconocimiento de patrones.

CAPITULO 6 SISTEMA DE DETECCION DE INTRUSOS

Clasificación de Música por Genero Utilizando Redes Neuronales Artificiales. Elkin García, Germán Mancera, Jorge Pacheco

Universidad Nacional de Quilmes Ing. en Automatización y Control Industrial Cátedra: Visión Artificial Agosto de 2005

Redes de Kohonen y la Determinación Genética de las Clases

Capítulo 2. Las Redes Neuronales Artificiales

I SEMANA ELECTRONICA REDES NEURONALES

UNIDADES DE ALMACENAMIENTO DE DATOS

App para realizar consultas al Sistema de Información Estadística de Castilla y León

PROYECTOS, FORMULACIÓN Y CRITERIOS DE EVALUACIÓN

CAPITULO 4. Inversores para control de velocidad de motores de

PROGRAMACIÓN LINEAL Introducción Inecuaciones lineales con 2 variables

UNIVERSIDAD AUTONOMA DEL ESTADO DE MEXICO CENTRO UNIVERSITARIO UAEM ATLACOMULCO REPORTE DE INVESTIGACION

Introducción a las redes de computadores

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:

5.4. Manual de usuario

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Extracción de características de Galton de Huellas Dactilares por procesamiento digital de la imagen.

Metodologías de diseño de hardware

Diseño orientado al flujo de datos

Mineria de datos y su aplicación en web mining data Redes de computadores I ELO 322

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

6. DESCRIPCIÓN DEL SOFTWARE

INTRODUCCION. Ing. Camilo Zapata Universidad de Antioquia

VI PLAN DE PRUEBAS, RESULTADOS Y RECOMENDACIONES

Interoperabilidad de Fieldbus

CAPÍTULO 7 7. CONCLUSIONES

Operaciones Morfológicas en Imágenes Binarias

TEMA 2: Representación de la Información en las computadoras

Figura 4.1 Clasificación de los lenguajes de bases de datos

INSTALACIÓN, OPERACIÓN Y PROGRAMACIÓN DE EQUIPOS Y SISTEMAS TELEFÓNICOS

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Fundación Universitaria San. Direccionamiento IP

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Escogiendo un sistema host

SISTEMAS DE ECUACIONES LINEALES

La Tecnología líder en Simulación

ARREGLOS DEFINICION GENERAL DE ARREGLO

CLASIFICACIÓN NO SUPERVISADA

1. INTRODUCCIÓN 1.1 INGENIERÍA

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

INSTRODUCCION. Toda organización puede mejorar su manera de trabajar, lo cual significa un

Estas visiones de la información, denominadas vistas, se pueden identificar de varias formas.

ESCUELA NORMAL PROF. CARLOS A CARRILLO

Sistemas de Información Geográficos (SIG o GIS)

Tema 7. Introducción al reconocimiento de objetos

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

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

de la empresa Al finalizar la unidad, el alumno:

Técnicas de prueba 1. FUNDAMENTOS DE LA PRUEBA DEL SOFTWARE

Sistemas de Gestión de Documentos Electrónicos de Archivo (SGDEA)

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

Por otro lado podemos enunciar los objetivos más específicos de nuestro estudio:

DATA MINING EN LA BASE DE DATOS DE LA OMS KNOWLEDGE DETECTION (DETECCIÓN DEL CONOCIMIENTO) Q.F.B. JUANA LETICIA RODRÍGUEZ Y BETANCOURT

WINDOWS. Iniciando Windows. El mouse

Capítulo 3 Paquetes Auxiliares en la Administración de Redes

EL MODELO DE DATOS RASTER

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

Modificación y parametrización del modulo de Solicitudes (Request) en el ERP/CRM Compiere.

UNLaM REDES Y SUBREDES DIRECCIONES IP Y CLASES DE REDES:

7. Conclusiones. 7.1 Resultados

IV. Implantación del sistema.

DE VIDA PARA EL DESARROLLO DE SISTEMAS

1.1 EL ESTUDIO TÉCNICO

TEMA: PROTOCOLOS TCP/IP

UNIDAD 4: PLANO CARTESIANO, RELACIONES Y FUNCIONES. OBJETIVO DE APRENDIZAJE: Representar gráficamente relaciones y funciones en el plano cartesiano.

La presente tesis pretende que los estudiantes observen la teoría de las acciones de control

Decisión: Indican puntos en que se toman decisiones: sí o no, o se verifica una actividad del flujo grama.

DISEÑO DE FUNCIONES (TRATAMIENTOS)

ANÁLISIS DE DATOS NO NUMERICOS

Elementos requeridos para crearlos (ejemplo: el compilador)

En las estructuras de datos, muchas de las implementaciones o mapeos de problemas, sus

4 Localización de terremotos

SISTEMAS DE COORDENADAS SISTEMA COORDENADO UNIDIMENSIONAL

Fundamentos del diseño 3ª edición (2002)

Instituto Tecnológico de Massachussets Departamento de Ingeniería Eléctrica e Informática Circuitos electrónicos Otoño 2000

Circuito RL, Respuesta a la frecuencia.

8.1. Introducción Dependencia/independencia estadística Representación gráfica: diagrama de dispersión Regresión...

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

Tema 2. Espacios Vectoriales Introducción

Tema 6: Morfología. Primera parte

Grado en Ingeniería Informática

CAPÍTULO 1 Instrumentación Virtual

Capítulo 4. Implementación del lenguaje multitáctil

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

SISTEMAS DE SEGURIDAD DE RECONOCIMIENTO FACIAL

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

CAPÍTULO VI PREPARACIÓN DEL MODELO EN ALGOR. En este capítulo, se hablará acerca de los pasos a seguir para poder realizar el análisis de

(decimal) (hexadecimal) 80.0A.02.1E (binario)

Inteligencia artificial: todo comienza con una neurona.

UNIVERSIDAD DE SALAMANCA

3.1 DEFINICIÓN. Figura Nº 1. Vector

LINEAMIENTOS ESTÁNDARES APLICATIVOS DE VIRTUALIZACIÓN

Conmutación. Conmutación telefónica. Justificación y definición.

EN LA LA EMPRESA EMPRESA

Unidad V: Integración

Estudios de Economía y Empresa Trabajo Final de Grado Investigación de mercado

Accesibilidad web GUÍA FUNCIONAL

activuspaper Text Mining and BI Abstract

Programa Tracker : Cómo generar Vectores y sumarlos

Transcripción:

DISEÑO E IMPLEMENTACION DE UN SISTEMA DE VERIFICACIÓN DE HUELLAS DACTILARES ANDRÉS FELIPE SERNA RUIZ JORGE ANDRÉS ARIZA SALCEDO Tesis presentada como requisito parcial para optar al título de INGENIERO ELECTRÓNICO Director: JORGE IVÁN MARÍN HURTADO, MSc PROGRAMA DE INGENIERIA ELECTRÓNICA FACULTAD DE INGENIERIA UNIVERSIDAD DEL QUINDÍO ARMENIA 2006

Agradecimientos Al Maestro Jorge Iván Marín, que nos brindó desde el principio su apoyo, enseñanzas, paciencia y sobre todo su amistad, no sólo durante este trabajo sino en nuestro proceso de formación. Al grupo de investigación en Procesamiento Digital de Señales. A todos los que de alguna forma se involucraron en este trabajo. De manera muy especial a nuestro grupo de estudio, más conocido como los PELUCHES. A los buenos profesores que nos orientaron a lo largo de nuestra carrera. A Sandra por su compañía incondicional durante estos años que me fortaleció para finalizar de manera exitosa este objetivo. En especial agradecemos a nuestras familias por todo el apoyo y motivación durante nuestra formación académica. 1

Resumen/Abstract En este trabajo se describe el diseño de un sistema de verificación de huellas dactilares. Se muestra la implementación en tiempo real para una base de datos de cuatro usuarios. Las imágenes entregadas por el sensor pasan por un preprocesado que involucra binarización realizada por el algoritmo de Ridge Valley, esqueletonización implementada por el método de seguimiento de bordes, extracción de características utilizando la transformada Hough y posterior verificación realizada con un perceptrón multicapa. Este sistema fue implementado en un procesador digital de señales. Palabras Clave: Preprocesado, Binarización, Esquelenización, Transformada Hough, DSP, Red Neuronal. This thesis describes the design of a system to autenticate users by means of their fingerprint. A real time implementation based on a digital signal processor is proposed to verificate a set of 4 users. The images captured by the sensor are processed by an algorithm which involves: binarization by using Ridge Valley algorithm, esqueletonization by using the traking edges method and feature extraction by using the Hough Transformation. Finally, a multilayer perceptron was used in the verfication stage. Keywords: Preprocessing, Binarization, Esqueletonization, Hough Transform, DSP, Neuronal Network Artificial. 2

Índice general 1. Introducción 7 2. Marco de Referencia 9 2.1. Adquisición de la Huella.............................. 9 2.1.1. Sensor Atmel AT77C101B......................... 11 2.2. Preprocesamiento de la Imagen.......................... 11 2.3. Extracción de Características de la Imagen................... 14 2.3.1. Transformada Hough............................ 15 2.3.1.1. Versión de Duda y Hart para el cálculo de la Transformada Hough............................... 18 2.3.1.2. Versión de O Gorman y Clowes para el cálculo de la Transformada Hough.......................... 19 2.4. Proceso de Verificación............................... 20 2.4.1. Redes Neuronales de Tipo Biológico................... 21 2.4.2. Redes Neuronales enfocadas a una Aplicación.............. 22 2.4.3. Taxonomía de las Redes Neuronales................... 23 2.4.4. Redes Neuronales Supervisadas y No Supervisadas........... 23 2.4.4.1. Reglas de Entrenamiento Supervisado............. 23 2.4.4.2. Reglas de Entrenamiento no Supervisado........... 24 2.4.5. Función Base y Función de Activación.................. 25 2.4.5.1. Función de Base (Función de Red)............... 25 2.4.5.2. Función de Activación (Función de neurona)......... 25 2.4.6. Estructura de las Redes Neuronales Artificiales............. 26 2.4.6.1. Estructuras de conexión de atrás hacia delante........ 26 2.4.6.2. Tamaño de las Redes Neuronales................ 27 2.4.6.3. Aproximaciones ACON frente a OCON............ 27 2.4.7. Aplicaciones................................. 27 2.4.7.1. Asociación y Clasificación................... 28 2.4.7.2. Completar los patrones..................... 28 2.4.7.3. Generalización.......................... 28 2.4.7.4. Optimización.......................... 28 2.4.8. Topología de la red seleccionada..................... 28 3. Simulaciones 31 3.1. Preprocesamiento de la imagen.......................... 32 3.1.1. Binarización................................. 32 3.1.2. Esqueletonización.............................. 33 3.2. Transformada Hough................................ 33 3

ÍNDICE GENERAL 4. Diseño del Sistema 36 4.1. Hardware...................................... 36 4.2. Software....................................... 36 4.2.1. Adquisición de la Huella.......................... 36 4.2.2. Preprocesado de la Imagen........................ 38 4.2.3. Extracción de Características....................... 40 4.3. Pruebas de Desempeño............................... 40 5. Conclusiones 46 6. Trabajos Futuros 47 A. Algoritmos Desarrollados 48 A.1. En Matlab...................................... 48 A.1.1. Algoritmos de conversión de archivos.................. 48 A.1.2. Algoritmos de entrenamiento de la red neuronal............. 48 A.2. En el DSP...................................... 48 A.2.1. Algoritmos de adquisición de la huella, preprocesado y extracción... 48 Bibliografía 49 4

Índice de figuras 2.1. Etapas de un Sistema de Verificación de Huellas Dactilares.......... 9 2.2. Diagrama de Bloques AT77C101B Fingerprint Sensor Daughter Card. Tomado de [2]........................................ 10 2.3. Funcionamiento Sensor Tomado de [8]...................... 11 2.4. Distribuciones para punto Izquierdo....................... 13 2.5. Puntos Característicos de una Huella...................... 14 2.6. Línea Paramétrica................................. 15 2.7. Transformada Hough de la figura 2.6....................... 16 2.8. Familia de Líneas.................................. 16 2.9. Transformada Hough de la figura 2.8....................... 16 2.10. Puntos Colineales.................................. 17 2.11. Transformada Hough de la figura 2.10...................... 17 2.12. Geometría para el Cómputo de la Transformada Hough............ 18 2.13. Componentes de una Neurona........................... 21 2.14. Activación de la Neurona............................. 22 2.15. Diagrama Esquemático de un Sistema de Entrenamiento Supervisado..... 24 2.16. Diagrama Esquemático de un Sistema de Entrenamiento No Supervisado.. 24 2.17. Conexión de Red.................................. 26 2.18. Optimización.................................... 29 2.19. Perceptrón Multicapa............................... 29 2.20. Red Neuronal Dirigida a una Aplicacion..................... 30 3.1. Partes del sistema................................. 31 3.2. Proceso de Binarización. Izquierda: Huellas escaneadas. Derecha: Resultados de la binarización.................................. 32 3.3. Imágenes Esqueletizadas de las figuras 3.2..................... 34 3.4. Esqueletonización. a) Huella esqueletizada una vez. b) Huella esqueletizada dos veces. c) Huella esqueletizada tres veces.................... 35 3.5. Transformada Hough de una Linea........................ 35 4.1. Partes del Sistema................................. 37 4.2. Diagrama de Bloques................................ 37 4.3. Diagrama de Flujo Sensor............................. 39 4.4. Huellas procesadas adquiridas por el Sensor................... 40 4.5. Binarización..................................... 41 4.6. Esqueletonización.................................. 42 4.7. Transformada Hough................................ 43 5

Índice de cuadros 2.1. Selección de Jumper. Tomado de [2]....................... 10 2.2. LEDS. Tomado de [2]............................... 10 2.3. Estructura de cálculo para Binarización..................... 12 2.4. Valor de Pixel.................................... 14 2.5. Taxonomía de una Red............................... 23 3.1. Tiempos de ejecución de las rutinas........................ 31 4.1. Resultados de Verificación (Tres Patrones).................... 44 4.2. Resultados de Verificación (Cinco Patrones)................... 44 4.3. Resultados de Verificación (Siete Patones).................... 44 6

Capítulo 1 Introducción Para las aplicaciones de verificación y autenticación se han desarrollado diferentes tecnologías de seguridad basadas en el reconocimiento del iris y la mano, siendo la identificación dactilar uno de los más extendidos. Poner el dedo en un escáner, hablar por un micrófono o mirar de cerca a una cámara puede ser suficiente para pasar un control de seguridad o acceder a una instalación o sistema informático. La tecnología biométrica ha traspasado los laboratorios de espionaje, recintos gubernamentales y militares para extender sus aplicaciones al mercado empresarial y de consumo. Entre las técnicas biométricas, los expertos reconocen que el reconocimiento dactilar es una de las herramientas más útiles para la identificación [10]. Lo anterior se justifica en el hecho que los sistemas de identificación dactilar son de bajo costo comercial y de alta fiabilidad. Las empresas Mundiscan Electronic Systems y Medi-Line [10], especializadas en tecnologías de seguridad, presentaron en la última decada un sistema infalible de identificación por huella dactilar basado en sensores térmicos. Se trata de una tecnología desarrollada en la última década, que ha demostrado una alta fiabilidad al extraer los rasgos más caractéristicos e inequívocos de las personas para posteriores procesos de identificación. Dicha tecnología es aplicable a lugares donde se requiere un alto control de seguridad como en aeropuertos, bancos, empresas privadas, oficinas gubernamentales, instalaciones militares o prisiones. De acuerdo a la información recolectada hasta el momento, se ha hecho un análisis cuyo resultado es una identificación de las etapas en que se divide la verificación de huellas dactilares. Estas etapas son: adquisición de la huella, preprocesamiento de imagen, extracción de características y finalmente verificación. En este trabajo, la adquisición de la huella se realiza con un sensor de tipo térmico cuya referencia es AT77C101B producido por Atmel. Este sensor entrega una imagen en escala de grises. En la etapa de preprocesamiento se realiza una binarización y esqueletonización con los algoritmos de Ridge-Valley y seguimiento de bordes respectivamente. Entre las técnicas más empleadas en el proceso de extracción de características están la transformada Hough (HT) y la transformada rápida de Fourier (FFT). La técnica utilizada en este trabajo es la transformada Hough. En la etapa de verificación se emplea una red neuronal artificial (ANN: Artificial Neural Networks) que está compuesta por un conjunto finito de neuronas interconectadas que procesan la señal de entrada para producir una salida. Este proyecto fue planteado y desarrollado al interior del Grupo de Procesamiento Digital y Señales (GDSPROC) del programa de Ingeniería Electronica de la Universidad del Quindío y busca fomentar la aplicación del procesamiento de imágenes en sistemas biométricos. El informe está organizado como sigue: en el capítulo dos se presentan los conceptos fundamentales de las etapas en que se divide la verificación de huellas dactilares, se expone la técnica empleada para la extracción de características y la topología de la red neuronal utilizada. Posteriormente en el capítulo tres, se presentan los resultados de la simulación de 7

CAPÍTULO 1. INTRODUCCIÓN las técnicas que forman parte del procesado de la imagen. El diseño del sistema (Hardware y Software), el prototipo y los resultados experimentales con su debido análisis son presentados en el capítulo cuatro, seguido a ésto, las conclusiones del trabajo están plasmadas en el capítulo cinco y en el último se dejan planteados los trabajos futuros. 8

Capítulo 2 Marco de Referencia Como se mencionó en el capítulo 1, un sistema de verificación de huellas dactilares está compuesto por varias etapas: adquisición de la huella, preprocesamiento de imagen, extracción de características y finalmente verificación; como se muestra en la figura 2.1. Adquisicion de la Huella Preprocesamiento de la Huella Extraccion de Caracteristicas Proceso de Verificacion Figura 2.1: Etapas de un Sistema de Verificación de Huellas Dactilares Antes de entrar en materia es importante resaltar que la toma de las huellas depende de muchos factores como el clima, hora del día, si montó bicicleta, fumó o si padece de mala circulación. Además se recomienda que a la hora de tomar la muestra, la mano debe estar lo más limpia posible para deslizarla sobre el sensor y de esta manera reducir ruido. 2.1. Adquisición de la Huella El AT77C101B Fingerprint Sensor Daughter Card, es una tarjeta que ha sido diseñada para ser utilizada en por sistemas de desarrollo de DSP de la serie DSK de Texas Instruments. Sin embargo, el conjunto de pines puede ser usado por cualquier DSP y microcontrolador que cumplan con las especificaciones predeterminadas. El diagrama de configuración básico de dicha tarjeta se presenta en la figura 2.2. La tarjeta usa un sensor térmico, el Atmel AT77C101B, cuya interfaz es de ocho bits en paralelo. Dicho sensor está mapeado a la interfaz de memoria a través de un latch que realiza el intercambio de datos y el control entre el DSK y la tarjeta. El Jumper EMIF es utilizado para seleccionar el origen del selector de chip (CE) que se va a utilizar para comunicar el sensor con la DSK, tal como se indica en la cuadro 2.1. Esta daughterboard posee además tres leds controlados por el DSK que pueden ser usados por la aplicación para indicar el estado de la verificación. En la tabla 2.2 se mustra el nombre del pin del conector de la daughterboard al cual está conectado cada led. Esta tarjeta ha sido diseñada para los DSK C6713. Puesto que el DSK al que tenemos acceso para el proyecto es el C5402, antes de implementar la conexión sensor-dsk realizamos la comparación de la interfaz de memoria y periféricos de los dos dispositivos para verificar la compatibilidad y factibilidad del montaje directo. 9

CAPÍTULO 2. MARCO DE REFERENCIA Figura 2.2: Diagrama de Bloques AT77C101B Fingerprint Sensor Daughter Card. Tomado de [2] Cuadro 2.1: Selección de Jumper. Tomado de [2] Cuadro 2.2: LEDS. Tomado de [2] 10

CAPÍTULO 2. MARCO DE REFERENCIA 2.1.1. Sensor Atmel AT77C101B El sensor hace parte de la familia Atmel Finger Chip fabricado con tecnología CMOS. Éste no requiere de ninguna fuente de luz, prisma o ingreso óptico. Este dispositivo es un chip de alta velocidad y de bajo costo, basado en efectos de temperatura física. Posee una forma lineal de área 0.4 X 14mm, de tal forma que para capturar la imagen de la huella es necesario desplazar el dedo sobre el área del sensor. El dispositivo entrega un número de imágenes programables por segundo; mientras un conversor analogo digital adapta la señal a diferentes interfaces tales como: el puerto paralelo de un PC (IEEE 1284), microcontroladores o directamente a un microprocesador. El circuito está dividido en dos secciones: Sensor y Conversión de Datos. En la figura 2.3 se muestra el diagrama interno del sensor, la cinta térmica tiene 8 lineas por 280 columnas para un total de 2240 pixeles. Dado que cada pixel de la imagen de la cinta térmica está ubicado en una posición específica del arreglo, para realizar la lectura de un pixel es necesario, seleccionar la columna, empleando el respectivo selector (column selection); por cada pixel de la columna seleccionada se envía una señal eléctrica a los amplificadores de línea, y posteriormente con el selector de fila (line sel) se seleccionan dos líneas (impar-par). De esta forma en un instante de tiempo dado, sólo dos pixeles envían la información a la entrada de los dos ADC de 4 bits, para que así puedan ser leidos por cada pulso de reloj [8]. Figura 2.3: Funcionamiento Sensor Tomado de [8] 2.2. Preprocesamiento de la Imagen El uso de técnicas de preprocesamiento es de gran utilidad y se hace obligatorio en una aplicación como esta, ya que al igual que en los sistemas eléctricos, la señal (imagen) es ruidosa; y lo que es más importante para este caso de estudio es que permite reducir el costo computacional con el que se realiza la transformada Hough, debido a que se disminuye el número de puntos relevantes en la imagen[11]. La imagen que se entrega a la etapa de preprocesamiento es una huella en escala de grises en donde los puntos más oscuros corresponden a lo que se denominan crestas de la huella. El primer paso en la etapa de preprocesamiento consiste en binarizar la imagen en escala de grises, es decir, que cada pixel en la imagen se debe convertir en blanco ó negro. El proceso de binarización empleado en este trabajo consiste en tomar un umbral de decisión local para cada punto, de tal forma que se considere los cambios de contraste a su alrededor, es decir, se 11

CAPÍTULO 2. MARCO DE REFERENCIA realiza simultaneamente un proceso de filtrado; el esquema anterior se conoce con el nombre del algoritmo de Ridge-Valley [9]. Cuadro 2.3: Estructura de cálculo para Binarización 0 1 2 3 4 6 0 1 2 3 4 7 6 7 8 8 P 8 8 7 6 7 4 3 2 1 0 6 4 3 2 1 0 De acuerdo con el cuadro 2.3, a cada pixel se le puede asignar hasta 8 direcciones. Los elementos de la misma dirección se denotan con el mismo número y los pixeles que están en blanco no se toman en cuenta. El proceso consiste entonces en sumar el contenido (0 a 255 para la imagen en escala de grises) de los pixeles denotados con el mismo número (cada suma es independiente de la otra) y dicho resultado tiene aplicación en la realización del proceso de binarización. El proceso de binarización, algoritmo de Ridge-Valley, considera dos criterios [9]: 1. Un punto es blanco si es mayor que el promedio de los puntos a su alrededor (no todos), es decir, sí: 4P > 1 8 8 S i (2.1) donde S i es la suma en cada una de las direcciones. 2. Un punto es blanco si el promedio de S max y S min es mayor que el promedio de los puntos a su alrededor, en otras palabras: S max + S min 2 i=1 > 1 8 8 S i (2.2) En conclusión, con el algoritmo de Ridge-Valley, un punto sera blanco si: i=1 4P + S max + S min > 3 8 8 S i (2.3) El siguiente paso en el preprocesamiento es el adelgazamiento[7], tambien llamado esqueletización o esqueletonización. Consiste en reducir el grosor de las líneas relevantes de la imagen binarizada. La imagen resultante tendrá el menor número de pixeles posible, de tal forma que no se generen ni se destruyan conexiones en las líneas. Existen varios métodos para adelgazar una imagen: (1) Seguimiento de bordes. Este método consiste en recorrer la imagen en repetidas ocasiones, detectando los puntos que conforman el borde de la imagen. En cada recorrido se eliminan los puntos que no degeneren la imagen de acuerdo con unas condiciones dadas. Cuando en un barrido de la imagen no se produzcan cambios, se ha obtenido el esqueleto de la imagen. i=1 12

CAPÍTULO 2. MARCO DE REFERENCIA (2) Propagación de frentes de fuego. Consiste en la aplicación del principio de Huygens 1 para la propagación de las ondas. Para una imagen, se supone que cada punto del borde de la misma es un punto generador de ondas esféricas. Tan pronto choquen dos ondas se tendrá el punto deseado del esqueleto de la imagen. (3) Adelgazamiento metódico. Este algoritmo genera el esqueleto de la imagen calculando la distancia de cada punto interno al borde. A partir de las distancias más pequeñas se genera el esqueleto. Este método, al igual que el anterior, supone una mayor complejidad computacional. Para el análisis de huellas digitales, el método de seguimiento de bordes, es el más adecuado, ya que el grosor de las líneas originales no es muy grande y por lo tanto son pocos los puntos que se deben borrar; asimismo, por las características de una huella dactilar, los bordes son demasiados como para emplear el segundo o tercer metodo. El primer paso consiste en identificar los bordes a lo largo de la imagen, esto se debe realizar en cuatro sentidos diferentes: de izquierda a derecha (izquierda), de derecha a izquierda (derecha), de abajo hacia arriba (inferior) y de arriba hacia abajo (superior). Para determinar si un punto se borra o no, se debe cumplir: 1. No borra termínaciones. 2. No rompe la conectividad del patrón. 3. No causa erosión excesiva. Ahora realizaremos las distribuciones y condiciones de los puntos bajo las cuales un punto P que es del borde izquierdo puede ser suprimido, estó se hará para el caso de un punto del borde izquierdo. a) b) c) 1 0 x x x x x 0 0 0 P x 0 P x 0 P 1 x x x 1 0 x x 0 0 0 0 0 1 1 1 0 0 0 0 P 0 0 P 0 0 P 0 0 0 0 0 0 0 1 1 1 d) e) f) Figura 2.4: Distribuciones para punto Izquierdo De acuerdo con las distribuciones de la figura 2.4, P debe ser suprimido si: n 0 = 1 y p no pertenece a las ventanas (a),(b) y (c); n 0 = 0 y p pertenece a las ventanas (d),(e) y (f). Haciendo las respectivas rotaciones se obtienen las condiciones para los puntos de los bordes derecho, superior e inferior[7]. De acuerdo con la tabla 2.4, el valor de un pixel será: 1. Para los del lado derecho se tiene: 2. Para los superiores: P = n 4.(n 5 + n 6 + n 2 + n 3 ).(n 6 + n 7 ).(n 2 + n 1 ) 1 Este principio establece que cada punto de un frente de onda puede considerarse como una fuente puntual de ondas esféricas. 13

CAPÍTULO 2. MARCO DE REFERENCIA Cuadro 2.4: Valor de Pixel n 3 n 2 n 1 n 4 P n 0 n 5 n 6 n 7 3. Para los del lado izquierdo: 4. Para los inferiores: P = n 6.(n 7 + n 0 + n 4 + n 5 ).(n 0 + n 1 ).(n 4 + n 3 ) P = n 0.(n 1 + n 2 + n 6 + n 7 ).(n 2 + n 3 ).(n 6 + n 5 ) P = n 2.(n 3 + n 4 + n 0 + n 1 ).(n 4 + n 5 ).(n 0 + n 7 ) Debe tenerse en cuenta que en las expresiones anteriores, las sumas representan la operación lógica OR y los productos, la operación lógica AND. 2.3. Extracción de Características de la Imagen Los patrones de huellas digitales son varios, todos ellos matemáticamente detectables. Esta clasificación es útil al momento de la verificación electrónica, ya que el sistema busca en la base de datos del grupo correspondiente. En la figura 2.5 aparecen 7 puntos caracteristicos que hay en una huella, estos se repiten indistintamente para formar entre 60 y 120 (por ejemplo 10 orquillas, 20 islotes, 30 bifurcaciones), a estos puntos tambien se les llaman minutae, o minucias término utilizado en la medicina forense que significa punto característico [10]. Figura 2.5: Puntos Característicos de una Huella El primer paso consiste entonces en seleccionar el patrón con el que se va a comparar en la base de datos y se procede a determinar cuál es la técnica de procesamiento más útil para este tipo de aplicaciones. Las técnicas para la extracción de características de una imagen son 14

CAPÍTULO 2. MARCO DE REFERENCIA abundantes ya que de acuerdo a la aplicación es conveniente utilizar una u otra, no implicando esto que sea mejor o peor sino que es la que mejor que se adapta a la implementación que se desea. Las más comunes son la transformada Rápida de Fourier, la Transformada Hough, la Transformada Hough Avanzada y el mapa de direcciones [6]. En este trabajo se utiliza la Transformada Hough. La Transformada Hough Avanzada es útil cuando se tiene una base de datos de tamaño moderado, pero ese no es el caso de nuestro trabajo. 2.3.1. Transformada Hough Para nuestro objetivo, la transformada Hough permite determinar el grado de colinealidad entre cada uno de los puntos o elementos que sean uno en la imagen preprocesada; cabe aclarar que el grado de colinealidad entre los elementos diferentes de cero de una huella digital, es único al igual que la misma huella, de esta forma, el patrón que entrega la transformada, permite identificar de forma inequívoca una huella digital, inclusive de forma independiente de la rotación de la huella[9]. Esta transformada comprende la transformación de una línea en coordenadas cartesianas a un punto en coordenadas polares. Como se puede observar en la figura 2.6, una línea recta puede ser descrita paramétricamente como: y 1,0 ρ = x cos θ + y sin θ (2.4) 0,5 ρ θ 0,5 1,0 x Figura 2.6: Línea Paramétrica donde ρ es la distancia normal, de la línea al origen del espacio coordenado y θ es el ángulo del origen con respecto al eje X. La transformada Hough de la línea es simplemente un punto con coordenadas (ρ,θ) en el dominio polar como se puede observar en la figura 2.7. Una familia de líneas pasando a través de un punto en común, tal como se observa en la figura 2.8, mapea la conexion de puntos (ρ,θ) de la figura 2.9. Ahora consideremos los tres puntos colineales de la figura 2.10. La transformada de la familia de curvas pasando a traves de los tres puntos da como resultado unas curvas paramétricas en el espacio (ρ,θ) de la figura 2.11. Estas tres curvas se intercectan en un punto especifico (ρ,θ), correspondiente a la línea pasando a traves de los puntos colineales. Concluyendo, el concepto fundamental de la Transformada de Hough corresponde a la técnica de extracción que con un punto representa el acumulador de todos los puntos colineales en el plano paramétrico representado por unas curvas en el plano (ρ,θ) y el punto de intersección de estas curvas es nuestra coordenada (ρ,θ) de la transformada Hough. Es decir, una línea recta está compuesta por varios puntos colineales en el plano paramétrico y su representación en el plano (ρ,θ) es una familia de curvas, y el intercepto de estas curvas es la transformada Hough de los puntos paramétricos [6, 1]. 15

CAPÍTULO 2. MARCO DE REFERENCIA θ π 0 -π 0 0,5 1,0 ρ Figura 2.7: Transformada Hough de la figura 2.6 y 1,0 4 3 2 1 0 5 7 0,5 6 7 6 5 0 0 0 1 2 3 4 0,5 1,0 x Figura 2.8: Familia de Líneas θ π 7 6 5 0 1 2 3 4 -π 0 0,5 1,0 ρ Figura 2.9: Transformada Hough de la figura 2.8 16

CAPÍTULO 2. MARCO DE REFERENCIA y 1,0 A ρ = xcos θ + ysenθ 0 0 0 0,5 B 0 0 0,5 1,0 C x Figura 2.10: Puntos Colineales θ π B A 0 C ( ρ, θ ) 0 0 -π 0 0,5 1,0 ρ Figura 2.11: Transformada Hough de la figura 2.10 17

CAPÍTULO 2. MARCO DE REFERENCIA Como todas las técnicas de extracción de características, cada técnica tiene sus diferentes versiones, de las que se puede escoger la que se adapte mejor a la aplicación. La HT tiene dos versiones: Duda y Hart (D&H) y la de O Gorman y Clowes (O&C). 2.3.1.1. Versión de Duda y Hart para el cálculo de la Transformada Hough Duda y Hart implementaron la transformada Hough en imágenes discretas binarizadas [6]. Cada dato diferente de cero en el dominio de la imagen es transformado en una curva en el dominio (ρ,θ), que es cuantizado en una celda. Si un elemento de la curva acumula sobre una celda, esta celda en particular incrementa el contador en uno. Luego todas las celdas de la matriz serán examinadas y la celda con mayor número corresponde al intercepto de varias curvas, correspondientes a los puntos colineales de una línea recta. En este método, las celdas pequeñas son borradas. La figura 2.12 presenta la geometría utilizada para el desarrollo de un algoritmo por la versión de Duda y Hart. Lo primero que se debe hacer es trasladar el origen del plano de la imagen a la parte inferior izquierda. 1 1 K K -π π 1 η n N 1 y J j Ψ ρ m m J φ θ X k -ρ MAX F(j,k) H(m,n) a) Arreglo de la imagen b) Arreglo Hough M Figura 2.12: Geometría para el Cómputo de la Transformada Hough Luego se debe tener en cuenta que las coordenadas discretas cartesianas del punto (j,k) de la imagen son: X k = K 1 2 (2.5) Y j = J + 1 2 j (2.6) Considere un segmento de línea en una imagen binaria F (j, k), que contiene un punto de coordenadas (j, k), que está a un ángulo ϕ con respecto al eje horizontal. Cuando el segmento de línea es proyectado, este intercepta una línea normal de longitud ρ que va del origen y un ángulo θ con respecto al eje horizontal. El arreglo Hough H(m, n) consiste de celdas que cuantizan las variables ρ m y θ n. Como son: ρ max 2 18 ρ m ρ max (2.7) π 2 θ n π (2.8)

CAPÍTULO 2. MARCO DE REFERENCIA donde: ρ max = [ (X k ) 2 + (Y j ) 2] 1 2 (2.9) Por comodidad de interpretación, es conveniente adoptar los límites de la figura 2.12 y poner los valores de M y N enteros impares para que el centro del arreglo Hough represente ρ m = 0 y θ n = 0. Ahora presentaremos los pasos del algoritmo de la version D&H [6]: 1. Inicializar el arreglo Hough en cero. 2. Para cada (j, k), que F (j, k) = 1, computar donde ρ (n) = X k cos θ n + Y j sin θ n (2.10) θ n = π 2π (N n) N 1 La expresión (2.10) debe ser evaluada para 1 n N, bajo la restricción siendo φ π 2 θ n φ + π 2 { } Yj φ = arctan X k 3. Determine el índice m de los valores cuantizados ρ. [ m = M [ρ ] max ρ (n)] (M 1) 2ρ max 4. Incremente el índice (m, n) del arreglo Hough (2.11) (2.12) (2.13) (2.14) H (m, n) = H (m, n) + 1 (2.15) Es importante notar la restricción de la ecuación 2.12, donde no todas las combinaciones ρ θ son válidas par las coordenadas (j, k). 2.3.1.2. Versión de O Gorman y Clowes para el cálculo de la Transformada Hough O Gorman y Clowes proponen un método diferente para el cálculo de la transformada Hough [6]. El ángulo θ en el espacio ρ, θ se obtiene del gradiente de un borde 2 y el valor correspondiente a ρ se calcula de la ecuación 2.10 para un borde coordenado (j, k)[3]. A continuación se presentan los pasos a seguir para el desarrollo de un algoritmo con la versión de O Gorman y Clowes. 1. Inicializar el arreglo Hough en ceros. 2. A partir de la imagen en escala de grises F (j, k), se generan dos matrices, la primera, correspondiente a la derivada de primer orden G(j, k), y a la segunda, la matriz de ángulos del gradiente γ(j, k), usando alguno de los detectores de borde. 3. Para cada (j, k) donde G (j, k) > T, siendo T el borde detector, computar ρ (j, k) = X k cos {θ (j, k)} + Y j sin {θ (j, k)} (2.16) 2 entendiendose por borde una de la lineas de la huella. 19

CAPÍTULO 2. MARCO DE REFERENCIA donde con y ψ + π 2 θ = ψ + π 2 para ψ < φ para ψ φ { } Yj φ = arctan X k γ + 3π 2 para π γ < π 2 ψ = γ + π 2 para π 2 γ < π 2 γ π 2 para π 2 γ < π 4. Determine los índices m y n de los valores ρ y θ cuantizados. [ m = M [ρ ] max ρ (j, k)] (M 1) n = 5. Incremente el arreglo Hough. [ N 2ρ max [π θ] (N 1) 2π ] N N (2.17) (2.18) (2.19) (2.20) (2.21) H (m, n) = H (m, n) + G (j, k) (2.22) Estas son las versiones de la transformada Hough que más se utilizan para el tratamiento de imágenes. Como todas las versiones de cualquier técnica de procesamiento, unas se adaptan más a un tipo de implementación que otras, ya sea por mejores resultados o por facilidad de implementación. Por tal motivo, de las dos versiones expuestas anteriormente la que más se adapta a la aplicación es la versión de Duda y Hart por su bajo costo computacional, presición de los parámetros, localización de los picos y robustez al ruido. 2.4. Proceso de Verificación Hasta el momento se ha descrito el sistema de captura de las imágenes, el preprocesamiento a la imagen, consistente en la binarización y esqueletonización a cada una de las huellas, y la etapa de extracción de características que se realiza con la técnica de la transformada Hough. Para completar el proceso de verificación, se hace necesario comparar el rasgo característico de la huella que es entregado por la transformada Hough, con los patrones presentes en la base de datos de autenticación. Este último paso se realiza por medio de un clasificador basado en red neuronal. Como introducción a las redes neuronales, se presenta a continuación algunos conceptos básicos. Las Redes Neronales Artificiales (ANNs 3 ) fueron concebidas originalmente como una simulación abstracta de los sistemas nerviosos biológicos, formados por un conjunto de unidades llamadas neuronas o nodos conectadas unas con otras. Estas conexiones tienen una gran semejanza con las dendritas y los axones en los sistemas nerviosos biológicos. El primer modelo de red neuronal fue propuesto en 1943 por McCulloch y Pitts en términos de un modelo computacional de actividad nerviosa [4, 5]. El modelo de McCulloch y 3 Por sus siglas en inglés Artificial Neural Networks 20

CAPÍTULO 2. MARCO DE REFERENCIA Pitts es un modelo binario, y cada neurona tiene un escalón o umbral prefijado. Este primer modelo sirvió de ejemplo para los modelos posteriores de Jhon Von Neumann, Marvin Minsky, Frank Rosenblatt y muchos otros [10]. Una primera clasificación de los modelos de ANNs podría ser, atendiendo a su similitud con la realidad biológica: 1. Los modelos de tipo biológico. Que comprenden las redes que tratan de simular los sistemas neuronales biológicos así como las funciones auditivas o algunas funciones básicas de la visión. 2. El modelo dirigido a aplicación. Estos modelos no tienen por qué guardar similitud con los sistemas biológicos. Sus arquitecturas están fuertemente ligadas a las necesidades de las aplicaciones para las que son diseñadas. 2.4.1. Redes Neuronales de Tipo Biológico Se estima que el cerebro humano contiene más de cien mil millones (10 11 ) de neuronas y (10 14 ) sinapsis o conexiones en el sistema nervioso humano. Estudios sobre la anatomía del cerebro humano concluyen que hay más de 1000 sinapsis a la entrada y a la salida de cada neurona. Es importante notar que aunque el tiempo de conmutación de la neurona (unos pocos milisegundos) es casi un millón de veces menor que en las actuales elementos de las computadoras, ellas tienen una conectividad miles de veces superior que las actuales supercomputadoras. Las neuronas y las conexiones entre ellas (sinápsis) constituyen la clave para el procesado de la información (figura2.13). Figura 2.13: Componentes de una Neurona La mayor parte de las neuronas poseen una estructura de árbol llamadas dendride 4 que reciben las señales de entrada que provienen de otras neuronas a través de la uniones lla- 4 Por su significado en ingles dendrita 21

CAPÍTULO 2. MARCO DE REFERENCIA madas synapse 5. Algunas neuronas se comunican sólo con las cercanas, mientras que otras se conectan con miles. Hay tres partes en una neurona: 1. el cuerpo de la neurona, 2. ramas de extensión llamadas dendritas para recibir las entradas, y 3. un axón que lleva la salida de la neurona a las dendritas de otras neuronas. La forma en que dos neuronas interactúan no está totalmente conocida, dependiendo además de cada neurona. En general, una neurona envía su salida a otras por su axón. El axón lleva la información por medio de diferencias de potencial, u ondas de corriente, que depende del potencial de la neurona. Este proceso es a menudo modelado como una regla de propagación representada por la función de red. La neurona recoge las señales por su sinápsis sumando todas las influencias excitadoras e inhibidoras. Sí las influencias excitadoras positivas dominan, entonces la neurona da una señal positiva y manda este mensaje a otras neuronas por sus sinápsis de salida. En este sentido, la neurona puede ser modelada como una simple función escalón. Como se muestra en la figura 2.14. La neurona se activa sí la fuerza combinada de la señal de entrada es superior a un cierto nivel, en el caso general, el valor de activación de la neurona viene dado por una función de activación. W i1 θ i W i2 u(.) u i f(.) a i W 1n Figura 2.14: Activación de la Neurona 2.4.2. Redes Neuronales enfocadas a una Aplicación Las ANNs dirigidas a aplicación están en general poco ligadas a las redes neuronales biológicas. Ya que el conocimiento que se posee sobre el sistema nervioso en general no es completo. Es así como se han definido otras funcionalidades y estructuras de conexión distintas a las vistas desde la perspectiva biológica. Las características principales de este tipo de ANNs son los siguientes: 1. Auto-organización y adaptatividad. Utilizan algoritmos de aprendizaje adaptativo y auto organización, por lo que ofrecen posibilidades de procesado robusto y adaptativo. 5 Por su significado en ingles sinapsis 22

CAPÍTULO 2. MARCO DE REFERENCIA 2. Procesado no lineal. Aumenta la capacidad de la red de aproximar, clasificar y su inmunidad frente al ruido. 3. Procesado paralelo. Normalmente se usa un gran número de células de procesado que sumado al alto nivel de interconectividad, favorecen la implementación en estructuras de procesamiento en paralelo. Estas características juegan un importante papel en las ANNs aplicadas al procesado de señal e imagen. Una red para una determinada aplicación presenta una arquitectura muy concreta, que comprende elementos de procesado adaptativo en paralelo combinadas con estructuras de interconexión de red jerárquica. 2.4.3. Taxonomía de las Redes Neuronales Existen dos fases en el desarrollo de toda aplicación que hace uso de las redes neuronales: la fase de aprendizaje o entrenamiento y la fase de prueba. En la fase de entrenamiento, se usa un conjunto de datos o patrones de entrenamiento para determinar los pesos sinápticos que caracterizan a las conexiones que definen el modelo neuronal. Una vez calculados los pesos de la red, los valores de las neuronas de la última capa, se comparan con la salida deseada para determinar la validez del diseño. En el proceso de entrenamiento se emplea un algoritmo de aprendizaje que adapta iterativamente los pesos de la red hasta obtener un error de entrenamiento mínimo. Normalmente, los pesos óptimos se obtienen optimizando (minimizando o maximizando) alguna función de energía. Dependiendo de la forma de entrenamiento, una posible taxonomía de las redes neuronales es la mostrada en el cuadro 2.5[4]. Cuadro 2.5: Taxonomía de una Red Fijo No Supervisado Supervisado Red de Hamming Mapa de Características Basadas en Decisiones Red de Hopfield Aprendizaje Competitivo Perceptrón Adaline (LMS) Perceptron Multicapa Modelo Temporal Dinámico Modelo Oculto de Markov Una vez entrenado el modelo, se usará en la fase de prueba o funcionamiento directo, en la que se procesan los patrones de prueba que constituyen la entrada habitual de la red. Con dichos patrones se puede analizar las prestaciones definitivas de la red. 2.4.4. Redes Neuronales Supervisadas y No Supervisadas Las redes neuronales se clasifican comúnmente en términos de sus correspondientes algoritmos o métodos de entrenamiento: redes de pesos fijos, redes no supervisadas, y redes de entrenamiento supervisado. Para las redes de pesos fijos no existe ningún tipo de entrenamiento. 2.4.4.1. Reglas de Entrenamiento Supervisado Las redes de entrenamiento supervisado han sido los modelos de redes más desarrolladas desde los inicios de las redes neuronales. Los datos para el entrenamiento están constituidos 23

CAPÍTULO 2. MARCO DE REFERENCIA por varios patrones de entrenamiento de entrada y de salida. El hecho de conocer la salida implica que el entrenamiento se beneficia con la supervisión de un maestro. Dado un nuevo patrón de entrenamiento, por ejemplo, (m+1)-ésimo, los pesos serán adaptados de la siguiente forma [4, 5]: w (m+1) ij = w (m) ij + w (m) ij (2.23) En la figura 2.15 se presenta el diagrama esquemático de un sistema de entrenamiento supervisado. Maestro Patron de Entrenamiento W ij - Figura 2.15: Diagrama Esquemático de un Sistema de Entrenamiento Supervisado 2.4.4.2. Reglas de Entrenamiento no Supervisado Para los modelos de entrenamiento No Supervisado, el conjunto de datos de entrenamiento está compuesto sólo de los patrones de entrada. Por lo tanto, la red es entrenada sin el beneficio de un maestro. La red aprende a adaptarse basada en las experiencias recogidas de los patrones de entrenamiento anteriores. En la figura 2.16 se muestra un esquema típico de un sistema No Supervisado. Patron de Entrenamiento W ij - Figura 2.16: Diagrama Esquemático de un Sistema de Entrenamiento No Supervisado Ejemplos típicos son la regla de aprendizaje de Hebb y la regla de aprendizaje competitiva [4]. Un ejemplo del primero consiste en reforzar el peso que conecta dos nodos que se excitan simultáneamente. Como ejemplo de aprendizaje competitivo, sí un patrón nuevo se determina 24

CAPÍTULO 2. MARCO DE REFERENCIA que pertenece a una clase reconocida previamente, entonces la inclusión de este nuevo patrón a esta clase matizará la representación de la misma. Sí el patrón de la entrada se determinó que no pertenece a ninguna de las clases reconocidas anteriormente, entonces la estructura y los pesos de la ANN serán ajustados para reconocer la nueva clase. 2.4.5. Función Base y Función de Activación Una red neuronal típica se puede caracterizar por las descripciones funcionales de la red de conexión y la red de activación. Cada célula (unidad de proceso), suministra un valor a i a su salida. Este valor se propaga a través de la red de conexiones unidirecionales hacia otras células de la red. Asociada a cada conexión hay un peso sináptico denominado w ij, que determina el efecto de la célula j-ésima sobre la célula i-ésima. Las entradas a la célula i-ésima que provienen de las otras células son acumuladas junto con el umbral externo θ i, para dar el valor de red u i. La forma de hacerlo lo determina matemáticamente la función de base f para dar un valor de activación a i. La salida final y se puede expresar como una función de la entrada y los pesos y = φ (x, W ) [4]. 2.4.5.1. Función de Base (Función de Red) Para un estudio analítico, las redes de conexión son matemáticamente representadas por la función de base u(w, x), donde w es la matriz de pesos, y x el vector de entrada. La función de base tiene dos formas típicas: Función de Base Lineal (LBF) 6. Es una función de tipo hiperplano. Es decir, una función de primer orden en la que el valor de red es una combinación lineal de las entradas, n u i (w, x) = w ij x j (2.24) j=1 Función de Base Radial (RBF) 7. Es una función de tipo hiperesférico. Esto implica una función de base de segundo orden no lineal. El valor de red representa la distancia a un determinado patrón de referencia, n u i (w, x) = (x j w ij ) 2 (2.25) j=1 La función de segundo orden se puede extender a otra más general llamada función de base elíptica. 2.4.5.2. Función de Activación (Función de neurona) El valor de red, expresado por la función de base, u(w, x), será transformado inmediatamente por una función de activación no lineal. Por ejemplo, las funciones de activación más comunes son la función paso, rampa o sigmoidal y gausiana. En particular, Función sigmoidal Función gausiana f (u i ) = 1 1 + e u i/σ (2.26) 6 Por sus siglas en inglés Linear Basis Function 7 Por sus siglas en inglés Radial Basis Function f (u i ) = ce u2 i /σ2 (2.27) 25

CAPÍTULO 2. MARCO DE REFERENCIA 2.4.6. Estructura de las Redes Neuronales Artificiales Los aspectos más característicos de una red neuronal son la estructura de conexión, el tamaño de la red y la elección entre ACON 8 y OCON 9 [5]. 2.4.6.1. Estructuras de conexión de atrás hacia delante Una red neuronal se determina por la neurona y la matriz de pesos. El comportamiento de la red depende en gran medida del comportamiento de la matriz de pesos. Hay tres tipos de capas de neuronas: la de entrada, las ocultas y la de salida. Entre dos capas de neuronas existe una red de pesos de conexión, que puede ser de los siguientes tipos: hacia delante, hacia atrás, lateral y de retardo, tal como puede verse en la figura 2.17. Lateral a 1 Feedback 2 Feedforward W ij N inputs Figura 2.17: Conexión de Red De la figura 2.17, la expresión Feedforward significa la alimentación hacia delante o directa y feedback realimentación. 1. Conexiones hacia delante: para todos los modelos neuronales, los datos de las neuronas de una capa inferior son propagados hacia las neuronas de la capa superior por medio de las redes de conexiones hacia adelante. 2. Conexiones hacia atrás: estas conexiones llevan los datos de las neuronas de una capa superior a otras de la capa inferior. 3. Conexiones laterales: Un ejemplo típico de este tipo es el circuito el ganador toma todo (winner-takes-all), que cumple un papel importante en la elección del ganador. 4. Conexiones con retardo: los elementos de retardo se incorporan en las conexiones para implementar modelos dinámicos y temporales, es decir, modelos que precisan de memoria. Las conexiones sinópticas pueden ser total o parcialmente interconectadas. También es posible que las redes sean de una capa con el modelo de pesos hacia atrás o bien el modelo 8 Por sus siglas en inglés, Todas las clases en una red 9 Por sus siglas en inglés, Una clase en una red 26

CAPÍTULO 2. MARCO DE REFERENCIA multicapa hacia adelante. Es posible así mismo, el conectar varias redes de una sola capa para dar lugar a redes más grandes. 2.4.6.2. Tamaño de las Redes Neuronales En una red multicapa de propagación hacia delante, puede haber una o más capas ocultas entre las capas de entrada y salida. El tamaño de las redes depende del número de capas y del número de neuronas ocultas por capa. Número de capas: en una red multicapa, hay una o más capas de neuronas ocultas entre la entrada y la salida. El número de capas se cuenta a menudo a partir del número de capas de pesos (en lugar de las capas de neuronas). Número de unidades ocultas: El número de unidades ocultas está directamente relacionado con las capacidades de la red. Para que el comportamiento de la red sea correcto (esto es, generalización), se tiene que determinar apropiadamente el número de neuronas de la capa oculta. 2.4.6.3. Aproximaciones ACON frente a OCON Abordamos el problema de cuantas redes son necesarias para la clasificación en multicategorias. Típicamente, cada nodo de salida se usa para representar una clase. Por ejemplo, en un problema de reconocimiento alfanumérico, hay 36 clases, así que en total habrá 36 nodos de salida. Dado un patrón de entrada en la fase de prueba, el ganador (por ejemplo, la clase que gana) es normalmente el nodo que tiene el valor más alto a la salida. Dos posibles tipos de arquitectura son All-Class-in-One-Network (ACON), esto es, todas las clases en una red y One-Class-in-One-Network (OCON), esto es, una red para cada clase. En la aproximación ACON, todas las clases son reconocidas dentro de una única super-red. En algunos casos es ventajoso descomponer esta macro red en varias subredes más pequeñas. Por ejemplo, una red de 36 salidas se puede descomponer en 12 subredes, cada una responsable de tres salidas. La descomposición más extrema es la llamada OCON, donde una subred se dedica para una sola clase. Aunque el número de subredes en la estructura OCON es relativamente largo, cada subred individual tiene un tamaño menor que la red ACON. Por conveniencia, supongamos que todas las redes tienen el mismo tamaño, por ejemplo k. El número de unidades ocultas de las macro-red ACON se denota por K. Obviamente, k K. Las dos estructuras difieren claramente en tamaño y rapidez, esto es, en el número total de pesos sinápticos y en el tiempo de entrenamiento. Sean los vectores de entrada y salida de dimensiones n y N respectivamente. El número total de pesos sinápticos es para la estructura ACON (N + n) K. De la misma forma, el número para la estructura OCON es N (n + 1) k que se puede aproximar a N n k. Los dos casos extremos son analizados a continuación. Cuando N es relativamente pequeña (comparado con n), la estructura ACON podría tener el mismo número de pesos o algo menos que la OCON. Sí N es muy grande, entonces la OCON podría tener una mayor ventaja en términos del tamaño de la red. Además, la OCON parece ser que aventaja a la ACON en la rapidez de reconocimiento y entrenamiento cuando el número de clases es grande. En la estructura ACON, la única macro-red tiene que satisfacer todas estas clases, así que el número de unidades ocultas K ha de ser muy grande. 2.4.7. Aplicaciones Desde el punto de vista de la aplicaciones, la ventaja de la ANNs reside en el procesado paralelo, adaptativo y no lineal. Las ANNs han encontrado muchas aplicaciones con éxito en la visión artificial, en el procesado de señales e imágenes, reconocimiento del habla y de 27

CAPÍTULO 2. MARCO DE REFERENCIA caracteres, sistemas expertos, análisis de imágenes médicas, control remoto, control de robots, inspección industrial y exploración científica. El dominio de aplicación de las ANNs se puede clasificar de la siguiente forma: asociación y clasificación, regeneración de patrones, regresión y generalización, y optimización. 2.4.7.1. Asociación y Clasificación En esta aplicación, los patrones de entrada estáticos o señales temporales deben ser clasificadas o reconocidas. Idealmente, un clasificador debería ser entrenado para que cuando se le presente una versión distorsionada ligeramente del patrón, pueda ser reconocida correctamente sin problemas. De la misma forma, la red debería presentar cierta inmunidad contra el ruido, esto es, debería ser capaz de recuperar una señal limpia de ambientes o canales ruidosos. Esto es fundamental en las aplicaciones asociativas o regenerativas. 2.4.7.2. Completar los patrones En muchos problemas de clasificación, una cuestión a solucionar es la recuperación de la información, esto es, recuperar el patrón original a partir una información parcial. Hay dos clases de problemas: temporales y estáticos. El uso apropiado de la información contextual es la clave para tener éxito en el reconocimiento. 2.4.7.3. Generalización La generalización se puede extender a un problema de interpolación. El sistema es entrenado por un gran conjunto de muestras de entrenamiento basados en un procedimiento de aprendizaje supervisado. Una red se considera que está entrenada con éxito sí puede aproximar los valores de los patrones de entrenamiento y puede dar interpolaciones suaves para el espacio de datos no entrenado. El objetivo de la generalización es dar una respuesta correcta a la salida para un estímulo de entrada que no ha sido entrenado con anterioridad. El sistema debe inducir la característica saliente del estímulo a la entrada y detectar la regularidad. Tal habilidad para el descubrimiento de esa regularidad es crítica en muchas aplicaciones. Esto hace que el sistema funcione eficazmente en todo el espacio, incluso ha sido entrenado por un conjunto limitado de ejemplos. 2.4.7.4. Optimización Las ANNs son unas herramientas interesantes para la optimización de aplicaciones, que normalmente implican la búsqueda del mínimo absoluto de una función de energía (figura 2.18). Una vez que se define la función de energía, la determinación de los pesos sinápticos se hace rápidamente. Para algunas aplicaciones, la función de energía es fácilmente deducible. En otras, sin embargo, esta función de energía se obtiene de ciertos criterios de coste y limitaciones especiales. El mayor problema asociado a la optimización es la alta posibilidad de converger hacia un mínimo local, en lugar de hacerlo hacia el mínimo absoluto. Para combatir este problema se utilizan algunas propuestas estadísticas, como por ejemplo procedimientos estocásticos. 2.4.8. Topología de la red seleccionada En la literatura se han propuesto diferentes formas de interconexión de las neuronas. Entre las estructuras de interconexión o topologías las más utilizadas son: Perceptrón, Backpropagation, Hopfield y Kohonen [4]. 28