Está en la página 1de 95

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA


MECÁNICA Y ELÉCTRICA

TESIS

Procesamiento
Procesamiento Digital de Imágenes
Biométricas Aplicado al Control de
Sistemas de Seguridad

Que para obtener el título de:


Ingeniero en Comunicaciones y Electrónica

Presentan

Lozada Méndez Cynthia Arlette


Luis Pineda Loyda Florencia

Asesor:

M. C. Floriberto Ortíz Rodríguez

México, D.F.
2007
Agradecimientos

A mis padres, Piedad y Juan Miguel, por ser guías en mi camino ayudándome a ver la claridad de
este y protegiéndome para no perderme. Gracias por los consejos, los regaños, la comprensión y
el cariño ya que estos son los que me han forjado, fueron los cimientos de la persona que soy
ahora. Por la fe y confianza que me dieron, ahora esta es la forma en que les muestro que no fue
en vano, que la semilla que en mi sembraron ha dado sus frutos.

A mis hermanos, Iván e Imix, por todos los momentos compartidos, por su apoyo y su confianza
en mi depositada. Espero que todo esto sea un ejemplo para ustedes, que puedan aprender de los
aciertos y analicen los errores para no repetirlos. Gracias por que ustedes son una gran parte de
mi vida, son mi gran alegría.

A mis tíos, Socorro y Juan, por todo el apoyo brindado porque ustedes me abrieron las puertas
de su cariño para tratarme como a una hermana. Gracias por todas sus enseñanzas.

A mis Abuelos, Aarón y María, por sus cuidados y su cariño, por brindarme su amor y
orientarme durante el tiempo que estuvimos juntos. Y aunque ahora ya no estás físicamente con
nosotros gracias a ti Abuelo porque siempre me alentaste para terminar mis estudios, fuiste un
mentor para mí y un gran apoyo. Aun cuando no es posible que puedas ver este trabajo me
alegra el que si hayas sido testigo del termino de mi carrera.

A mis maestros, ya que cada uno de ellos contribuyo con su grano de arena para formar a la
profesionista que ahora soy.

A mis amigos, por todo lo vivido, por su apoyo y compañía en los momentos tanto buenos como
malos. Saben que cada uno de ustedes ocupara un lugar muy especial.

Cynthia Arlette Lozada Méndez


Instituto Politécnico Nacional

ÍNDICE

INTRODUCCIÓN 3

OBJETIVOS 4

CAPÍTULO 1.- PLANTEAMIENTO DEL PROBLEMA 5

• ¿POR QUÉ LA BIOMETRÍA? 5


• ¿POR QUÉ PROCESAMIENTO DIGITAL DE IMÁGENES? 6
• ¿POR QUÉ UTILIZAR MATLAB? 6
• ¿POR QUÉ REDES NEURONALES? 7

CAPÍTULO 2.- BIOMETRÍA 8

• ¿QUÉ ES LA BIOMETRÍA? 8
• EL CUERPO HUMANO Y LA BIOMETRÍA 10
• TIPOS Y PROCESOS BIOMÉTRICOS CLAVE 11
• TECNOLOGÍAS BIOMÉTRICAS 12

CAPÍTULO 3.- HUELLA DACTILAR 13

• INTRODUCCIÓN 13
• LA DACTILOSCOPIA. ANTECEDENTES HISTÓRICOS 13
• CARACTERIZACIÓN Y CLASIFICACIÓN DE LAS HUELLAS 14
DACTILARES
• ETAPA DE CLASIFICACIÓN 17
• DISPOSITIVO DE ADQUISICIÓN 18
• RECONOCIMIENTO DE HUELLAS DACTILARES 18
• ADQUISICIÓN DIGITAL DE LA HUELLA 20
• PREPROCESADO DE LA IMAGEN 20
• ADELGAZAMIENTO (THINNING) 23
• DEPURACIÓN 24
• EXTRACCIÓN DE CARACTERÍSTICAS 25
• ETAPA DE RECONOCIMIENTO 25
• CARACTERÍSTICAS DEL SISTEMA 28
• MÉTODOS DE ATAQUE Y DEFENSA DEL SISTEMA 28

CAPÍTULO 4.- PROCESAMIENTO DIGITAL DE IMÁGENES 30

• ¿QUÉ ES EL PROCESAMIENTO DIGITAL DE IMÁGENES? 30


• EJEMPLOS DE CAMPOS QUE UTILIZAN PROCESAMIENTO 31
DIGITAL DE IMÁGENES

Página 1
Instituto Politécnico Nacional

• PASOS FUNDAMENTALES PARA EL PROCESAMIENTO 31


DIGITAL DE IMÁGENES
• MODELO SENCILLO DE LA FORMACIÓN DE IMÁGENES 31
• MUESTREO DE IMÁGENES Y CUANTIFICACIÓN 32

CAPÍTULO 5.- RECONOCIMIENTO DE PATRONES 42

• INTRODUCCIÓN AL RECONOCIMIENTO DE PATRONES 42

CAPÍTULO 6.- REDES NEURONALES 48

• DEFINICIÓN DE RED NEURONAL 48


• ELEMENTOS BÁSICOS DE LAS REDES NEURONALES 49
• MECANISMOS DE APRENDIZAJE 52
• TOPOLOGÍA DE LAS REDES NEURONALES 57
• PRINCIPALES APLICACIONES 59

CAPÍTULO 7.- EL AMBIENTE MATLAB 62

• ADQUISICIÓN DE IMÁGENES, IMPORTACIÓN Y 62


EXPORTACIÓN
• PRE- Y POST-PROCESAMIENTO DE IMÁGENES 63
• TOOLBOX DE PROCESAMIENTO DE IMÁGENES 64
• FUNCIONES BÁSICAS 66
• ANÁLISIS DE IMÁGENES 68
• AMBIENTE GUI 74

JUSTIFICACIÓN ECONÓMICA 82

TRABAJO A FUTURO 83

CONCLUSIONES 84

GLOSARIOS DE TERMINOS EN INGLÉS 85

MEDIOS DE INFORMACIÓN 87

APENDICE (DESARROLLO DE LA APLICACIÓN) 88

Página 2
Instituto Politécnico Nacional

INTRODUCCIÓN

Con el avance del tiempo, se hace cada vez más necesario implementar nuevos sistemas
de seguridad que sean más confiables. La importancia de que existan sistemas de
seguridad más viables, ha llevado a que día a día se creen nuevos sistemas y se
perfeccionen los ya existentes.

Dentro de nuestros quehaceres cotidianos se ha hecho más continuo el uso de sistemas


de seguridad para controlar el acceso de personas a casas, empresas, bancos, etc., así
como tener un control de las actividades que realice cada individuo dentro de estás. Los
sistemas existentes actualmente se basan en elementos que con no son muy confiables,
como llaves, tarjetas, números de identificación etc., los cuáles pueden ser falsificados u
olvidados fácilmente.

Debido a esto es que se ha desarrollado un sistema que esté basado en la identificación


de las características biométricas, ya que estos sistemas poseen mayor fiabilidad. Esto
nos permite tener un control preciso de nuestro sistema.

Una característica principal de reconocimiento de individuos se basa en su huella


dactilar, ya que aparte de ser un método aceptado popularmente y de fácil adquisición,
cumple con las dos leyes básicas que regulan el nivel de viabilidad de todo sistema de
identificación de la invariabilidad temporal y la variedad infinita de autentificador.

La huella dactilar se forma como resultado de un proceso aleatorio no genético, por lo


cual no puede existir una relación entre gemelos idénticos o individuos de una misma
familia. Son además invariantes con el tiempo: el dibujo papilar crece
proporcionalmente según el desarrollo físico corporal, sin alterar el número, el grado de
curvatura, ni la situación de las crestas presentes en la misma.

El sistema está desarrollado bajo el empleo de una herramienta computacional que


contiene las instrucciones para el procesamiento digital de imágenes así como su
representación gráfica permitiéndole al usuario poder ejecutar el programa de acceso.
La herramienta que se utilizo es de fácil adquisición e instalación, no requiere
utilización de memoria elevada permitiéndonos con esto utilizar el resto de la memoria
para realizar el almacenamiento de usuarios.

Es importante considerar que el objetivo principal de este proyecto es desarrollar el


procesamiento digital de imágenes y hay que considerar que la adquisición de datos,
aun siendo un punto importante en el desarrollo del proyecto, no fue utilizada.

El control se baso en la simulación de un sistema de acceso, esto es, el usuario accesará


su huella y esta será comparada con las cuales tendrán permitido el acceso. Esta
actividad es realizada por medio de una red neuronal estática, la cual está encargada de
comparar dos bases de datos existentes.

Página 3
Instituto Politécnico Nacional

OBJETIVOS

Realizar una identificación de personas por medio del reconocimiento digital de


imágenes biométricas, ya que a través de este sistema se puede hacer el reconocimiento
de un rasgo corporal único, por lo que reconoce a las personas en función de quiénes
son y no de lo que traen consigo como tarjetas, llaves, credenciales, etc., o en su
defecto en lo que puedan recordar como lo son las claves personales de identificación
(nip) que en muchos casos son olvidadas fácilmente.

Se puede realizar un control realmente eficiente y preciso de las personas, además de


saber con toda certeza que la persona pasó por esta forma de reconocimiento. Es la
persona a ser reconocida y no como sucede con firma, código de barras o banda
magnética, que en determinado momento son fácilmente violables o pueden ser de una
falsificación sencilla.

Podemos hacer un registro real de las actividades de las personas, eliminando la


posibilidad de que estas accedan a lugares a los que no tienen autorización, suplantar
personalidades ajenas, generen fraudes por un falso registro con su firma, etc.

Página 4
Instituto Politécnico Nacional

CAPÍTULO 1
PLANTEAMIENTO DEL PROBLEMA

¿POR QUÉ LA BIOMETRÍA?


La tecnología facilita cada vez nuestra vida cotidiana, por ejemplo la consulta de
disponibilidad de efectivo en nuestra cuenta corriente, la posibilidad de ordenar una
transferencia desde dicha cuenta o poder efectuar una compra a través de una página
Web utilizando como medio de pago una tarjeta de crédito basada en la misma cuenta.
Sin embargo todas estas transacciones, efectuadas de forma remota, son susceptibles de
poder ser realizadas por alguien que efectúe una usurpación de la persona realmente
autorizada para llevar a cabo una determinada transacción.

Para evitar esto a los tradicionales métodos de acceso seguro mediante el uso de
palabras clave del tipo USUARIO + CONTRASEÑA, se han añadido desde hace
tiempo otros sistemas como el uso de tarjetas de coordenadas, sistema utilizado por
algunos bancos que operan a través de Internet. Este sistema se añade al de palabras
clave de manera que, cada vez que se va a efectuar una operación, se piden los dígitos
correspondientes a unas determinadas coordenadas.

Ventajas de la Biometría frente a los métodos tradicionales de autentificación


A pesar de que los sistemas de identificación mediante contraseñas y tarjetas de
coordenadas se utilizan de forma habitual, estos sistemas están exentos de problemas
de que la biometría trata de solucionar.

1. Las técnicas biométricas aumentan la seguridad: todos conocemos la desventaja


del sistema de contraseñas, por una parte debido al mal uso que usuarios y
administradores hacen de las mismas. Por ejemplo es frecuente que los
administradores de un sistema compartan la misma contraseña, o que un usuario
no tenga reparo de transmitir contraseña a otros usuarios, o que se utilicen
contraseñas descifrables (nombres de hijos, fechas de nacimiento, etc.). Por otra
parte utilizar contraseñas complejas con mezcla de letras, números o signos de
puntuación complican la vida al usuario que a menudo tiene dificultades para
recordarla. Por otra parte los sistemas de contraseñas son los más fácilmente
atacables mediante fuerza bruta, es decir la utilización de sistemas de cálculo
poderoso con algoritmos que generan contraseñas automáticamente probando
todas las combinaciones posibles de letras, números y signos de puntuación.

2. La biometría permite disminuir la mayor parte de estas dificultades y problemas


y por otra parte permiten facilitar al acceso de los sistemas informáticos a
usuarios no expertos sin necesidad de recordar complejas contraseñas y
permitiendo incrementar el nivel de privilegios de los usuarios sin arriesgar en
pérdida de seguridad.

3. La fiabilidad de la información recabada puede ser utilizada para dispensar una


atención más personalizada a los usuarios. Si no se utiliza una técnica de
identificación biométrica, no se puede asegurar que sea la misma persona la que
accede a un mismo sitio cuando utiliza un sistema de identificación de
contraseña o mediante un token.

Página 5
Instituto Politécnico Nacional

¿POR QUÉ PROCESAMIENTO DIGITAL DE IMÁGENES?


Al conjunto de técnicas y procesos para descubrir o hacer resaltar información
contenida en una imagen usando como herramienta principal una computadora se le
conoce como procesamiento digital de imágenes.

Hoy en día el Procesamiento es un área de investigación muy específica en computación


y está muy relacionada con el procesamiento digital de señales. Esta relación esta
basada en el hecho de que en esencia el Procesamiento Digital de Imágenes es una
forma muy especial del procesamiento digital de señales.

En los últimos años el Procesamiento Digital de Imágenes ha sido ampliamente


utilizado por diversas disciplinas tales como: Medicina, Biología, física e Ingeniería.
Mediante el procesamiento Digital de imágenes es posible manipular imágenes digitales
en un computador con el fin de obtener información objetiva de la escena captada. Son
dos las tareas fundamentales del Procesamiento Digital de Imágenes:

 Mejoramiento de la información contenida en una imagen digital con el fin de


que esta información pueda ser interpretada por los humanos
 Toma de decisiones de manera automática de acuerdo al contenido de la imagen
digital.

Como aplicaciones típicas se puede mencionar: detección de presencia de objetos,


inspección visual automática, medición de características geométricas y de color de
objetos, restauración de imágenes y mejoramiento de la calidad de imágenes.

El procesamiento digital de imágenes aparece tardíamente en la historia de la


computación, ya que antes de pensar en ello, había que desarrollar el hardware y los
sistemas operativos gráficos que permitieran hacerlo. Por otro lado, los algoritmos y las
técnicas de optimización que han tenido que desarrollarse para el procesamiento digital
de imágenes son muy sofisticados y elaborados. En la actualidad existen muchas
aplicaciones de software que permiten el procesamiento digital de imágenes, mucho de
este utiliza técnicas o algoritmos que son bien conocidos por la comunidad que trabaja
en ello, pero otros utilizan sus propias variantes o técnicas que están poco
documentadas.

¿POR QUÉ UTILIZAR MATLAB?


La implementación de algoritmos en visión por computador resulta muy costoso en
tiempo, ya que se requiere de la manipulación de punteros, gestión de memoria, etc.
Hacerlo en lenguaje C++ (que por sus características compartidas de alto y bajo nivel lo
hacen el mas apropiado para la implementación de algoritmos de visión computacional)
supondría la inversión de tiempo y sin la seguridad de que lo queremos implementar
funcionará. Además utilizar C++ para el periodo de prueba exige un tiempo normal de
corrección de errores debidos al proceso de implementación del algoritmo, es decir
errores programáticos efectuados por ejemplo al momento de multiplicar dos matrices,
etc. Todos estos problemas pueden ser resueltos si la implementación de prueba es
realizada en MATLAB utilizando su toolbox de procesamiento de imágenes con ello el
tiempo de implementación se convierte en el mínimo con la confianza de utilizar
algoritmos científicamente probados y robustos.

Página 6
Instituto Politécnico Nacional

El toolbox de procesamiento de imágenes contiene un conjunto de funciones de los


algoritmos mas conocidos para trabajar con imágenes binarias, trasformaciones
geométricas, morfología y manipulación de color que junto con las funciones ya
integradas en matlab permite realizar análisis y trasformaciones de imágenes en el
dominio de la frecuencia (trasformada de Fourier y Wavlets).

Este documento esta dividido en 3 partes, en el capitulo 2 se trata los conceptos básicos
de las imágenes y como son representadas en matlab así como una introducción a las
operaciones básicas de manejo de archivos.

¿POR QUÉ REDES NEURONALES?


Esta tecnología puede ser desarrollada tanto en software como en hardware y con ella se
pueden construir sistemas capaces de aprender, de adaptarse a condiciones variantes, o
inclusive si se dispone de una colección suficiente grande de datos, predecir el estado
futuro de algunos modelos.

Estas técnicas son adecuadas para enfrentar problemas que hasta ahora eran resueltos
sólo por el cerebro humano y resultaban difíciles o imposibles para las máquinas lógicas
secuénciales. Un procesamiento paralelo realizado por un gran número de elementos
altamente interconectados, es la clave de su funcionamiento.

Las Redes Neuronales (Neural Networks) son utilizadas para la predicción, la minería
de datos (data mining), el reconocimiento de patrones y los sistemas de control
adaptativo. Constituyen una parte muy importante en el estudio y desarrollo de la
inteligencia artificial (AI) y el de la vida artificial (a-life).

Las Redes Neuronales pueden ser combinadas con otras herramientas como la lógica
difusa (lógica fuzzy), los algoritmos genéticos, los sistemas expertos, las estadísticas,
las transformadas de Fourier, etc.

Página 7
Instituto Politécnico Nacional

CAPÍTULO 2
BIOMETRÍA

¿QUÉ ES LA BIOMETRÍA?
El término biometría clásicamente se aplica de forma general a la ciencia que se dedica
al estudio estadístico de las características cuantitativas de los seres vivos: peso,
longitud, etc. Este término se utiliza también para referirse a los métodos automáticos
que analizan determinadas características humanas con el fin de identificar y
autentificar a las personas.

Desde este último punto de vista, la Biometría estaría a formar parte del mundo de la
criptografía y la seguridad informática, y estaría en uno de los tres niveles o puntos
críticos en los que se suelen diferenciar tradicionalmente los buenos sistemas de
seguridad.

1.- Algo que el usuario sabe. (P. e. una clave secreta)


2.- Algo que el usuario tiene. (P. e. una tarjeta personal)
3.- Algo que el usuario es. (P. e. un dato personal biométrico)

En función de las características usadas para la identificación, se pueden establecer dos


grandes tipos, dependiendo de si se fijan en los aspectos físicos o se fijan en aspectos
vinculados a la conducta. En la actualidad hablamos de Biometría estática para
referirnos al estudio del conjunto de características de físicas y de Biometría dinámica
para el conjunto de características conductuales.

Dentro de la Biometría estática nos encontramos entre otras con las siguientes
características:

 Huella dactilar.
 Características del ojo: Retina e Iris.
 Rayas de la mano.
 Geometría de la mano.
 Poros de la piel.
 Características estáticas de la cara.
 Composición química el olor corporal.
 Emisiones térmicas.
 Venas de manos y muñecas.

Dentro de la Biometría dinámica nos encontramos con las siguientes características:

 Escritura manuscrita.
 Voz.
 Tecleo.
 Gesto y Movimiento corporal.

Página 8
Instituto Politécnico Nacional

Según diversos autores, para que las características físicas y conductuales permitan ser
utilizadas como elementos de identificación deben de cumplir con los siguientes
requisitos básicos:
 Universidad: todas las personas tienen que presentar la característica.

 Singularidad: dos personas cualesquiera tienen que ser distinguidas


suficientemente una de otras basándose en la característica.

 Estabilidad: La características tienen que ser lo suficientemente estable a lo


largo del tiempo y en condiciones ambientales diversas.

 Cuantificable: la característica tiene que ser mensurable cuantitativamente.

 Aceptabilidad: el nivel de aceptación de la característica por parte de las


personas debe ser suficiente como para que sea considerada parte de un
sistema de identificación biométrico.

 Rendimiento: el nivel de exactitud requerido debe ser elevado para que la


característica sea considerada como aceptable.

 Usurpación: permite establecer el nivel al que el sistema es capaz de resistir


a técnicas fraudulentas.

El objetivo final de la utilización de las características enunciadas anteriormente es


poseer un conjunto de herramientas que permitan conseguir bien la Identificación, bien
la Verificación de la identidad de una persona.

Con la Identificación, el sistema biométrico trata de responder a la pregunta: ¿Quién es


la persona X?, es decir, tenemos información sobre una persona de la que
desconocemos su identidad. Para ellos es necesario contar con un sistema que disponga
de los siguientes elementos:

 Una base de datos donde se almacenen las características biométricas de un


amplio número de personas.

 Un mecanismo para capturar y procesar las características biométricas de la


persona a identificar.

 Un procedimiento para comparar las características de la persona a identificar


con la previamente almacenada para esa persona y que permita tomar la
decisión de contestar a la pregunta anterior.

Este tipo de comparación se denomina uno a uno (1:1) puesto que únicamente se
comparan las características biométricas de una persona con las que la persona que
reclama ser.

Página 9
Instituto Politécnico Nacional

Historia de la Biometría
La primera referencia acerca del uso de una característica biométrica con fines
identificativos se remonta al siglo VII, fecha en la que se encuentran en China huellas
dactilares tanto en documentos como en esculturas de arcilla. En el año 1000,
Quintiliano utilizó las huellas dejadas por las palmas de unas manos ensangrentadas
para esclarecer un crimen. En 1686 Marcelo Malpigio hizo el primer estudio sistemático
de las huellas dactilares, aunque no con el fin de utilizarlas como elemento de
identificación individual.

En 1856, sir William Herschel fue el primero en implantar una huella pulgar como
método de identificación en documentos para personas analfabetas.

En 1941, Murray Hill de los Laboratorios Bell inició el estudio de la identificación por
voz, sus trabajos fueron redefinidos por L. G. Kersta. En 1986 sir Alec Jeffreys utilizó
por primera vez el ADN para identificar al autor de unos asesinatos en Inglaterra.

La utilización de biometría como una tecnología moderna de aplicación a usos


comerciales tiene su arranque en los años 70 con la implementación de los primeros
sistemas de reconocimiento automático de huellas dactilares. A partir de mediados y
finales de los noventa el interés ha ido creciendo y en paralelo han aumentado los
presupuestos de financiación para investigación y desarrollo vinculados a la Biometría.

EL CUERPO HUMANO Y LA BIOMETRÍA


El sujeto fundamental de la Biometría es el cuerpo humano y las características físicas y
conductuales que pueden emplearse a la hora de la Identificación y la Verificación.

El estudio de la Biología nos enseña que las características externas que observamos en
los individuos (fenotipo), y que son las estudiadas por la Biometría, se corresponden
con las características genéticas heredadas (genotipo) que hacen a cada individuo
singular

Existen múltiples características a priori nos permiten distinguir a una persona de


cualquier otra.

La biometría ve limitado su nivel de actuación a un subconjunto de características, sobre


todo si nos concentramos en aspectos relacionados con el control de acceso por ejemplo
a un recinto informático.

De todas las características biológicas presentes en los seres humanos con capacidad de
ser medidas y por tanto susceptibles de ser utilizadas por la Biometría podemos
considerar dos grandes grupos. Por una parte se encuentran vinculadas a determinados
órganos y sistemas como por ejemplo:

 Los sistemas óseo y muscular en el caso de la cara y la mano.


 El ojo en el caso de la retina y el iris.
 La piel en el caso de las huellas dactilares.

Página 10
Instituto Politécnico Nacional

Por otra parte están las que se centran en las características de tipo funcional. En este
caso aunque el efecto final se observa a través de determinados órganos efectores como
por ejemplo:

 Sistema óseo y muscular en el caso del movimiento corporal, incluye la escritura


y la dinámica del tecleo.
 Labios, lengua, laringe, etc., en el caso del habla.

Sin embargo el responsable que permite la identificación selectiva con las


características anteriores es el Sistema Nervioso Central y más concretamente la corteza
cerebral, permite establecer patrones conductuales diferenciales.

TIPOS Y PROCESOS BIOMÉTRICOS CLAVE


Una de las características más valoradas de los sistemas biométricos es su capacidad de
que sean automatizados.

El modo de organizar la automatización en un sistema biométrico es la siguiente:

 Los usuarios deben de darse de alta inicialmente en el sistema. Para ello deben
existir dispositivos que permitan la captura de los datos biométricos (p. e.
escáner para leer huellas dactilares, sistemas de registro de voz, etc.). Por una
parte los dispositivos para la captura de la información deben presentar unos
márgenes de tolerancia adecuados para permitir la reproductividad de la
información capturada en momentos distintos.

 Un aspecto significativo es la calidad de los datos adquiridos durante el proceso


de darse de alta. La calidad de los mismos va a depender entre otros aspectos del
número de muestras que se tomen de cada usuario.

Existe una medida de la exactitud durante el proceso de darse de alta en un sistema


biométrico que se conoce como las siglas FTER (Failure To Enroll Rate) de fallo en el
procedimiento de darse de alta. El FTER se calcula de la siguiente manera:

Número de insatisfactorios de altas en el sistema


Número total de intentos de darse de alta

A la hora e implantar un sistema biométrico se deben de tener en cuenta todas esas


características planteando en su caso las posibles soluciones alternativa a los posibles
problemas que pueden aparecer.

 Los datos biométricos capturados son normalmente información sin procesar:


imagines, registro de voz, tiempo de pulsación de teclas. Reciben el nombre de
muestras biométricas y no pueden ser utilizadas para el proceso de
reconocimiento, debido, entre otras cosas, a su complejidad y tamaño. Es preciso
que esta información sea procesada con el fin de extraer las características que
vayan a ser utilizadas durante el proceso de identificación o verificación.

Página 11
Instituto Politécnico Nacional

 Podemos considerar dos tipos principales e plantillas, las que generan cuando el
usuario se da de alta en el sistema y las que se generan cada vez que el usuario
intenta acceder al mismo.

 El colofón al procedimiento biométrico consiste en una serie de fases cuyo:


objetivo final es la identificación o verificación de usuario.

o Establecimiento de un umbral. Una vez que se ha asignado unas


puntuaciones de la plantilla, ésta se compara con una puntuación umbral
previamente establecida.

o Toma de decisión. El resultado de la comparación entre las puntuaciones de


la platilla y el umbral nos puede conducir a diversas alternativas: correlación
entre ambas, no correlación o la imposibilidad de alcanzar una conclusión de

TECNOLOGÍAS BIOMÉTRICAS
Existen diferentes aproximaciones conceptuales acerca de los procedimientos que
configuran la estructura del procedimiento biométrico. James L. Wayman, Director del
U. S. National Biometric Test Center de la San Jose State Univeresity.

Según podemos comprobar en el esquema el modelo propuesto por Wayman se


compone de cinco subsistemas:

 Recopilación de datos.
 Transmisión de datos.
 Procesamiento de Señales.
 Almacenamiento de datos.
 Proceso de decisión.

Página 12
Instituto Politécnico Nacional

CAPITULO 3
HUELLA DACTILAR

INTRODUCCIÓN.
La identificación de personas a través del estudio analítico de las huellas dactilares,
denominada técnica de dactiloscopia, responde al método de identificación biométrica
por excelencia, ya que aparte de ser un método aceptado popularmente y de fácil
adquisición, cumple con las dos leyes básicas que regulan el nivel de viabilidad de todo
sistema de identificación de la invariabilidad temporal y la variedad infinita de
autentificador.

LA DACTILOSCOPÍA. ANTECEDENTES HISTORÍCOS


Desde los primeros siglos de nuestra era , los estudiosos del cuerpo humano ya se
percataron de los numerosos dibujos que se presentaban las yemas de los dedos, pero no
fue hasta el año 1665, cuando el célebre anatómico italiano Marcelo Malpighi (1628-
1694), ayudado por un nuevo artilugio de la época denominado microscopio, inicio un
estudio riguroso sobre la crestas papilares, sentando de esta forma las bases para
futuros avances en la materia, que llevaría a cabo el fisiólogo holandés Ruish y del
médico y botánico inglés Nehemiah Grew (1641-1712). De todas formas, la idea de
utilizar la huella dactilar como posible autentificador biométrico no surgió hasta 1823,
cuando el fisiólogo checo Johannes Purkinje(1787-1869), reveló una tesis que los
dibujos papilares se manifestaban en el sexto mes de vida intrauterina y permanecían
inalterables a lo largo de toda la vida, certificando de este modo la perennidad o
invariabilidad de las mismas. De aquí arrancó un conjunto de trabajos encaminados a
demostrar las infinitas realizaciones de los dibujos papilares, que posibilitaría el uso de
los mismos eficientes autentificadores biométricos.

En 1988, el célebre científico inglés Sir Francis Galton(1822-1911), primo de naturista


y también célebre Charles Darwin, se intereso por las huellas dactilares a través de la
lectura y posterior estudio, de un artículo publicado en la prestigiosa revista científica de
la época, Nature de un desconocido médico escocés, de nombre Hanrry Faulds, sobre el
uso potencial de las huellas dactilares como método para la identificación de
delincuentes. Posteriormente, Galton, considerado el verdadero padre de la de la
dactiloscopia (fue el propio Galton, junto con sus dos colegas Weldom y Pearson, que
bautizó la nueva ciencia de identificación de personas a partir de sus características
morfológicas, como Biometría), desarrollo un estudio de rigor científico con la
aplicación de métodos estadísticos, a partir del cual demostró la imposibilidad de
coincidencia entre dos huellas dactilares de forma absoluta. Dicho de otra forma:
demostró de forma analítica la no existencia de dos huellas digitales iguales y confirmo
de este modo, las segundas características inherentes de la mismas y necesaria para que
puedan ser utilizadas como potenciales biométricos: su exclusividad.

En 1890, el inspector jefe de la policía de Bengala, Sir Edward Henry, introdujo un


método de clasificación sistemática, que si posibilitaba la ordenación de las muestras de
las huellas de un modo lógico, según la forma del dibujo de las crestas. Este método de
ordenación, que acabó conociéndose como el Sistema de Clasificación Henry,
convenció a las autoridades de Scotland Yard, y asentó las bases de la dactiloscopia
moderna. Henry, nombrado posteriormente Comisario del nuevo Departamento de

Página 13
Instituto Politécnico Nacional

Huellas distintas conversaciones mantenidas con Sir William Herschel. Este segundo,
Juez británico también afincado en Bengala, ya había utilizado por primera vez en la
historia la impresión de las huellas de los dedos corazón e índice de la mano derecha a
nivel oficial y en sus contratos privados como prueba de identificación adicional,
ratificando así el aspecto práctico de la idea.

A partir de aquí y hasta la fecha, han sido múltiples los avances en este campo, en el
que, gracias a la introducción de procesadores como herramientas de soporte, el método
de análisis ha derivado en sistemas automáticos de identificación de huellas dactilares,
conocidos como AFIS (Automated Fingerprint Identification System).

CARACTERIZACIÓN Y CLASIFICACIÓN DE LAS HUELLAS DACTILARES

Estudio del autentificador


La huella dactilar, denominada fingerprint en inglés, obedece a un autentificador o
característica biométrica de tipo morfológico que presenta que presenta como
característica principal la presencia de un conjunto de líneas genéricas denominadas
crestas que corresponden a las partes donde la piel se eleva sobre las zonas más bajas o
depresiones, denominadas valles. La anchura de estos valles oscila entre las 2 y las 5
décimas de milímetro.

La huella dactilar se manifiesta a partir del sexto mes del desarrollo del embrión como
consecuencia de un proceso aleatorio, no genético, por lo que se puede formar que no
existe ningún tipo de correlación entre gemelos idénticos (monozigóticos) o individuos
de una misma familia. Son además invariantes con el tiempo: el dibujo papilar crece
proporcionalmente según el desarrollo físico corporal, sin alterar el número, el grado de
curvatura, ni la situación de las crestas presentes en la misma. Así pues, no se podrán
modificar fisiológicamente, voluntaria o patológicamente, con, por tanto, verdaderas
características invariantes, particulares unívocas propias del individuo, perfectamente
válidas en procesos de identificación de personas.

De todas formas, existen diferentes sectores de la población que presentan claras


dificultades para posibilitar una correcta adquisición y posterior identificación a partir
de sus huellas dactilares. A continuación detallamos algunos colectivos sensibles a
presentar este tipo de problemas:

 Colectivos étnicos: Los dedos de los asiáticos tienen las crestas muy pequeñas y
finas, hecho que dificulta en gran medida su adquisición. Este problema también
se detecta en personas de edad avanzada.

 Colectivos Profesionales: La gente que trabaja con sus manos (albañiles,


carpinteros, herreros, agricultores…), pueden presentar callosidades que
dificulten el proceso de adquisición, así como aquellos profesionales que
manejan productos químicos de naturaleza corrosiva (cáustica o abrasiva).

Página 14
Instituto Politécnico Nacional

Existen características particulares de las crestas, válidas para el proceso de


identificación de huellas dactilares, que responden al término de minucias:

 Final de cresta ( Rigde Ending): Característica definida como el punto en el que


la cresta se acaba y toma la forma abrupta.

 Bifurcación de la Cresta (Rigde Bifurcation): Característica definida como el


punto en el que la cresta se bifurca en dos o más crestas.

Estas dos características quedan unívocamente definidas a partir de su localización


(coordenadas espaciales x, y respecto del sistema de coordenadas central de la imagen)
y orientación (ángulo θ). Las primeras responden al 68% del total de las minucias
presentes en una huella, mientras que las segundas contabilizan el 32% restante.

En la figura 4.2 se muestra gráficamente el conjunto de características descritas.

Figura 4-2: definición de las minucias final de cresta y bifurcación de cresta.

El número de minucias presentes en una huella dactilar se encuentra entre 40 y 100; de


todas formas cabe notar la siguiente apreciación; la doctrina judicial nacional (no existe
consenso a nivel mundial), establece la localización y marcación de un mínimo de 12
puntos característicos2 para poder llevar a cabo la identificación positiva de un
individuo.

A continuación presentamos una huella dactilar y el mapa de minucias asociados a la


misma.

Figura 4-3: mapa de minucias asociado a una huella digital

Existen dos singularidades presentes en algunas huellas, en función de su tipología,


denominadas Core y Delta.

Página 15
Instituto Politécnico Nacional

El Core responde al punto localizado en la zona nuclear de la huella, donde una de las
crestas cambia bruscamente de dirección y describen un ángulo de 180º, retorna, por
tanto, a la posición de origen. Este punto se utiliza como punto de referencia a partir del
cual se cuenta el número de cresta a considerar en un análisis dactiloscópico concreto.

El Delta es un punto característico del dibujo papilar de algunas huellas que pueden
presentar forma de triángulo o trípode, está formado por la aproximación o fusión de las
crestas existentes en la zona frontera entre las zonas marginal, basilar y nuclear de la
huella. Su importancia radica en que la zona donde se halla ubicada, así como sus
proximidades, aparecen muchos puntos característicos. Además, esta singularidad se
utilizará para realizar una primera clasificación de las huellas dactilares.

Figura 4-4: identificación de los puntos Core y Delta sobre la huella dactilar.

Clasificación
Todos los dactilogramas coinciden con el hecho de que las crestas papilares no
describen formas aleatorias, sino que agrupan hasta llegar a constituir sistemas
definidos por la uniformidad de su orientación y figura. Se puede distinguir con total
claridad seis grupos o clases distintas de configuraciones dérmicas, según la
denomindad Clasificación de Henry.

Asimismo, estas clases pueden estar incluidas dentro de un sistema de clasificación


superior, en función del número de deltas presentes en las huellas, se catalogaran así:
Adeltas, si las huellas no presentan ninguna delta (este grupo engloba el 20% del total
de las huellas dactilares); Monodeltas, si presentan una única delta (50% del total de las
huellas); o Bideltas, si presentan un total de dos deltas (30% del totla de huellas).

A continuación detallamos las seis clases propias de la clasificación de Henry, así como
un conjunto de ejemplos de las morfologías correspondientes a cada una de ellas:

a) Arco (Arch): Subtipo del grupo delta


b) Arco Pronunciado (Tented Arch): Subtipo del Grupo Adelta.
c) Bucle hacia la Derecha (Right Loop): Subtipo del Grupo Monodelta.
d) Bucle hacia la Izquierda (Left Loop): Subtipo del Grupo Monodelta.
e) Doble Bucle (Twin Loop): Subtipo del Grupo Bidelta.
f) Remolino (Whorl): Subtipo del Grupo Bidelta.

Página 16
Instituto Politécnico Nacional

Figura 4-5: clasificación de Huellas Dactilares.

ETAPA DE CLASIFICACIÓN
La etapa de clasificación en un sistema de identificación de huellas dactilares responde
a un método de soporte o ayuda al reconocimiento, que realiza la clasificación
automática de la huella dactilar en una de las seis clases o patrones descritos.

Este mecanismo previo de indexado será útil en aquellos sistemas de identificación de


huellas dactilares que presenten bases de datos de tamaño considerable. Así, para
reducir el tiempo de búsqueda y el coste computacional, se llevará a cabo una
clasificación previa a la huella, y se aplicará posteriormente la etapa de reconocimiento
únicamente sobre el subconjunto del total de huellas presentes en la base de datos
relativo a la clasificación efectuada.

Algorítmica
Una posible de clasificadores de huellas dactilares se realiza mediante el uso de
algoritmos encargados de filtrar la parte central de la huella, a través de un banco de
Filtros de Gabor, dando como resultado la discriminación de las crestas presentes en la
huella, en función de su dirección (0º, 45º, 90º y 135º). Esta información se cuantificará
posteriormente para generar el denominado código de la huella, o fingercode, necesario
para realizar la clasificación de la huella propiamente dicha.

La algorítmica asociada a la implementación de un clasificador de huellas dactilares


deberá presentar un aceptable nivel de discriminación entre clases (distancia
Interclases) y deberá ser poco sensible a las variaciones que se producen en las
diferentes realizaciones de una misma clase (distancia Intraclase). De todas maneras,
las intraclases e interclases reales resultantes de la configuración de los patrones
globales, así como la baja calidad de las imágenes originales, hacen que esta etapa de
clasificación sea un problema de elevada complejidad.

Página 17
Instituto Politécnico Nacional

DISPOSITIVOS DE ADQUISICIÓN
En el mercado actual, existe una gran variedad de dispositivos de captura de huellas
dactilares. Todos ellos obedecen a escáneres del tipo inkles, es decir, dispositivos que
posibilitan la adquisición de las huellas sin necesidad de calcar los dibujos papilares
previamente entintados. Según su forma y utilización se podrán clasificar en:

 Lectores OEM. Responden a una solución discreta que permite integrarse


fácilmente en cualquier sistema electrónica.

 Lectores integrados. Dispositivos periféricos de captura de huellas que se


conectan fácilmente al ordenador mediante el puerto USB y almacenan la
información generada en el disco duro. Algunos lectores integrados incorporan
un lector de tarjetas inteligentes a través de microcontrolador (smart card) y una
unidad de encriptación adicional, lo que dota al sistema de un mayor nivel de
seguridad.

 Terminales completos de identificación. Dispositivos que incorporan todo el


hardware y software necesario para llevar a cabo los procesos de captura y
verificación de huellas.

Una segunda clasificación más estándar de estos tipos de scanners específicos responde
a la clasificación de los mismos en función del tipo de sensor utilizado:

 Óptico
 Capacitivo
 Por Ultrasonidos.

RECONOCIMIENTO DE HUELLAS DACTILARES


Las técnicas de reconocimiento de huellas se dividen en dos categorías: Las técnicas
locales o analíticas, basadas en las minucias y las globales y holísticas, basadas en la
correlación. El principal inconveniente del primer sistema de reconocimiento radica en
la difícil tarea de extracción de las minucias en imágenes de baja calidad, mientras que
el segundo sistema precisará de la implementación de algoritmos de alineación
altamente precisos. También existen sistemas que combinan ambas métodos: extraen las
minucias de la huella y posteriormente, un fragmento de la misma; una vez comparadas
las minucias, pasan a realizar la comparación de estos fragmentos. El proceso básico
para la identificación y verificación de personas a partir de la huella dactilar es:

 Captura de la Huella: Este proceso es dependiente del dispositivo de captura, y


permite almacenar la imagen de una o varias huellas dactilares para su posterior
análisis.

 Creación del Modelo: Se extraen la minucias o puntos característicos de la


huella presentes en la imagen adquirida y se almacena en un fichero que
denominaremos patrón, modelo o plantilla de la huella, necesario para la
posterior comparación con la huella a reconocer.

Página 18
Instituto Politécnico Nacional

 Comparación del Modelo: En este proceso, cabe distinguir si se está realizando


una tarea de verificación o de identificación de huellas dactilares. En el primer
caso, se comparará la plantilla de referencia con la huella candidata una vez
parametrizada, es decir, una vez extraído el conjunto de minucias presentes en la
misma. En el segundo caso, se comparará la huella candidata parametrizada, con
el total de plantillas presentes y almacenadas en la base de datos del sistema de
identificación.

 Verificación / Identificación: La verificación se llevará a cabo a partir del


número obtenido en el proceso anterior (normalmente entre 0 y 1), relativo al
nivel de semejanza entre el modelo de referencia y el modelo candidato. Este
número de referencia se comparará con el umbral de seguridad establecido por el
sistema; como resultado de dicha comparación se obtendrá la verificación o no
del individuo candidato. El proceso de identificación por su parte, entregará
como resultado, a la persona que se presente una plantilla con un mayor nivel de
similitud con respecto a la entrada biométrica parametrizada.

Las figuras 4.13 y 4.14 muestran, respectivamente, los diagramas de bloques


correspondientes a los sistemas de identificación y verificación de personas mediante la
huella dactilar.

Figura 4-13: Sistema de identificación de personas a partir de la huella dactilar.

Figura 4-14: sistema de verificación de personas a partir de la huella dactilar.

Página 19
Instituto Politécnico Nacional

ADQUISICIÓN DIGITAL DE LA HUELLA


Debemos distinguir dos métodos de adquisición directa de huellas dactilares: el método
off-line y el método on-line. El primero obtiene la huella digitalizada con una resolución
espacial de 500dpi (puntos por pulgada) y a 256 niveles de profundidad de gris,, según
recomendaciones del FBI, mediante el escaneo de un positivo impreso en papel
obtenido con anterioridad, a partir de la operación tradicional de calcado del dedo
tintado sobre papel satinado. Esta metodología de funcionamiento requiere un coste de
tiempo importante y es la que suele usarse en aplicaciones criminalistas. El segundo
método, en cambio, se realiza en tiempo real, mediante el escaneo directo de la huella a
través del uso de scanners del tipo inkless descritos en el apartado anterior. Esta otra
metodología es la que frecuentemente se utiliza en aplicaciones civiles.

El fichero resultante ocupa en ambos casos, entre 100 y 500KBytes. El intervalo de


áreas de captura de este tipo de sensores se encuentra entre los 12x18 a 13x20mm
aproximadamente (suficiente si se considera el tamaño medio estándar de una huella de
1/3‟‟ x ½ „, o lo que es el mismo, 8.4x 12.7 mm; la recomendación del FBI eleva a 1
pulgada cuadrada el área recomendable de captura).

Tras la captura de la huella, se realizará una valoración cualitativa de la misma, el


resultado de la cual será: a) huella apta para ser procesada; b) huella recuperable
mediante técnicas de preprocesado digital de la imagen, c) huella inutilizable debido a la
baja calidad de la adquisición.

PREPROCESADO DE LA IMAGEN
El problema fundamental cuando se realiza el preprocesado de la imagen dactilar,
consiste en discriminar de forma óptima si los pixeles evaluados, pertenecen a una
cresta o no. Esta consideración se debe a la problemática inherente al proceso de
captura: diferencias de brillo y contraste en la imagen, distintas presiones del dedo sobre
el lector, valores distintos de humedad, etc.

El conjunto de pasos a realizar para adaptar la imagen capturada a los requerimientos


propios del bloque extractor de minucias:

a) Mejora de la imagen para minimizar la información redundante presente en la


imagen y extraer las crestas.
b) Binarización de la imagen para obtener la huella monocroma.
c) Valoración de la calidad de la huella.
d) Extracción de la Región de interés ( Region of Interest-ROI) de la huella.

Mejora de la Imagen
Esta etapa de mejora, o enhancement, consiste en la aplicación de filtros lineales
direccionales para mejorar la calidad de las imágenes originales, disminuyendo el ruido
y acentuando los contornos o transiciones claro-oscuro o viceversa. Para la
implementación de estos filtros, se requerirá de la orientación local de las crestas
próximas a cada pixel, extraída a partir del denominado mapa o campo de orientación.
Dicho mapa de información adicional nos permitirá disponer de los ángulos tangentes
de las crestas presentes de la imagen.

Página 20
Instituto Politécnico Nacional

La aplicación de este filtrado específico sobre la imagen (proceso de convolución


espacial) supondrá una mejora de la calidad de las cresta que presenten una dirección
similar, y una reducción de los elementos espurios, caracterizados por presentar una
orientación sensiblemente distinta.

Estimación del Campo de Orientación


La determinación de este campo permitirá conocer la orientación local de las crestas de
la huella. Para ello, se divide la imagen en bloques de 15x15 y se calcula el gradiente,
en x e y, de cada píxel. A partir de la información del gradiente, se estima el ángulo de
orientación de bloques vecinos, haciendo en filtrado paso bajo espacial de la imagen, se
consigue reorientar correctamente todos los segmentos. El mapa de orientación servirá
para fijar los parámetros de los filtros adaptivos.

Binarización
El objetivo de esta etapa es decrementar el margen dinámico de niveles de gris entre las
crestas y los valles de la imagen, para facilitar el procesado de las etapas siguientes.
Este procedimiento posibilita la conversión de la imagen a 256 niveles de gris (8
bits/píxel), en una imagen monocroma o bitono (1 bit/píxel), suponiendo una
compresión adicional de factor 8 sobre el fichero original. En histogramas bimodales o
histogramas que presentan dos picos claramente diferenciados representativos del objeto
y el fondo de la imagen, respectivamente, como el caso que nos ocupa, será deseable
desarrollar algoritmos que calculen automáticamente el umbral que maximice la
separabilidad de los niveles del gris. El algoritmo clásico que proporciona este tipo de
cálculo responde al nombre de Método Otsu o Criterio de Discriminante. Dicho método
está basado en el cálculo de la probabilidad de los niveles de intensidad. Una vez
realizado el cálculo de las probabilidades, se recorre el histograma buscando el nivel de
gris con intervarianza más grane entre las dos clases presentes en el histogramas, éste se
elegirá como umbral óptimo de binarización.

Así, todos los píxeles que presenten un nivel de gris por debajo de dicho umbral
tomarán el valor cero (negro), mientras que a los que se encuentren por encima se les
asignará el valor uno (blanco). En la figura 4-15 se muestra la función de transferencia
del proceso descrito.

Figura 4-15: función de transferencia del proceso de binarización.

Página 21
Instituto Politécnico Nacional

Valoración de la Calidad
Una vez obtenida la imagen perfectamente filtrada y binarizada, se podrá realizar de
forma opcional, una comprobación automática del nivel de calidad de la misma, para
rechazar las imágenes de pobre definición. Asimismo, el sistema podrá realizar una
petición automática, solicitando una nueva entrada, en el caso de obtención de un
resultado con un bajo nivel de calidad.

La calidad de una imagen para una localización dada, se calcula mediante la relación de
(S/N+S) donde N+S en la ubicación (ij), obedece a la energía de la señal (en nuestro
caso, una imagen “D) estimada como sigue:

 ( p(u, v)  p
( u ,v )R
avg )

Donde:
 (u, v) pertenecen a la región R (p.e: 8x8 píxeles)
 p(u, v) son los valores de los píxeles.
 Pavg es el nivel de gris promedio en la región R.

Extracción de la Región de Interés (ROI)


El procedimiento de extracción de la Región de Interés o ROI (Region of Interest) tiene
como finalidad desestimar la información redundante relativa al fondo de la imagen
(blanco perfecto), de esta forma se obtiene una importante reducción del tamaño del
fichero final, con la consiguiente reducción del tiempo de proceso. Existen diferentes
métodos para definir la ROI en la huella dactilar.

1. Se divide la imagen en bloques definidos de píxeles (p.e: 16x16).


Posteriormente, se extraen todos los bloques de píxeles que presenten una mayor
varianza del nivel de gris en la dirección normal a las crestas existentes. El
contorno que definen dichos bloques obedecerá a la región de interés hallada
(puede optarse por los contornos más exteriores obtenidos, para conseguir una
región resultante de tipo rectangular).

2. Se detecta el punto de referencia conocido como core, y a partir de él, se define


una región circular, tomando como centro de la misma, las coordenadas del
punto core aislado; la región circular obtenida responderá a la nueva región de
interés.

En la figura 4.16 se presenta un ejemplo práctico del preprocesado descrito sobre una
huella tipo.

Página 22
Instituto Politécnico Nacional

Figura 4-16: ejemplo de preprocesado sobre una huella dactilar.

ADELGAZAMIENTO (THINNING)
Esta etapa realiza una reducción del grosor de las líneas mediante distintas técnicas
hasta que todas presenten un grosor igual a un píxel, facilitando de esta manera el
proceso de reconocimiento. La técnica utilizada en nuestro caso es la Morfología
Matemática (MM), ya que responde a una potente herramienta de extracción de
información a partir de las imágenes.

La MM obedece a una técnica de análisis no lineal de la imagen, basada en estructuras


geométricas, desarrollada inicialmente por Matheron y Serra. Resultan de especial
interés las siguientes operaciones morfológicas:

El operador morfológico de adelgazamiento o morphological thinning utilizado,


responde a la substracción entre la imagen original I y el resultado de la operación
morfológica hit-miss, normalmente con el elemento estructurante (EE) de la figura 4.17.
Esta operación elimina los píxeles que satisfacen el patrón que define el elemento
estructurante.

I   Bo ( I )   ( I )

Bo es el conjunto formado por los píxeles de B que pertenecen al objeto.


B1 es el conjunto formado por los píxeles de B que pertenecen al fondo.
ε y δ son las funciones de Erosión y Dilatación morfológica respectivamente.

La función morfológica skeleton, utilizada para la obtención de la imagen final


adelgazada, responde a la iteración de la operación thinning utilizando una secuencia de
elementos estructurantes generados a partir de la rotación sucesiva del patrón o EE
genérico. Dependiendo del patrón y el paso utilizado, el operador podrá ser homotópico
(preservará la topología de la imagen original) o no. Para el caso particular de las
huellas, el elemento estructurante elegido, responderá a la secuencia morfológica de
rotación mostrada en la figura 4.18, dónde x representa cualquier valor (0 o 1). La figura
4.19 muestra el resultado de aplicar esta transformación sobre la imagen.

Página 23
Instituto Politécnico Nacional

Figura 4-17: EE genérico de la transformación thinning

Figura 4-18: Patrones y paso de rotación utilizados.

Figura 4-19: ejemplo de huella adelgazada mediante la transformación descrita.

DEPURACIÓN
Esta etapa consiste en la aplicación de algoritmos de poda para eliminar las ramas
parasitas residuales perpendiculares a las crestas de la huella, que han surgido durante el
proceso anterior de adelgazamiento, así como la unión de líneas rotas mediante un
procedimiento de suavizado. La figura 4.20 muestra los resultados obtenidos. Este
proceso se lleva a cabo mediante las siguientes sencillas reglas:

1. Eliminar las pequeñas líneas aisladas utilizando de nuevo el operador thinning


con un elemento estructurante que se adapte a las nuevas necesidades.
2. Conectar las crestas rotas, es decir, unir todas las líneas que presenten sis
finalizaciones (end points) con dirección similar, y que se hallen próximas entre
sí.

Figura 4-20: detalles de la eliminación de los elementos espurios.

Página 24
Instituto Politécnico Nacional

EXTRACCIÓN DE CARACTERÍSTICAS
Esta etapa de extracción de características, o feature extraction, responderá a la etapa de
obtención de la localización, orientación y tipo del conjunto de entrenamiento
(plantillas) y test necesarios para la etapa de reconocimiento. El fichero resultante ocupa
aproximadamente 300Bytes. De esta forma, sólo se almacenarán los datos que se
corresponden con la disposición de las minucias, evitando así guardar ka imagen
original de la huella.

Debido a que no será posible obtener siempre el mismo número de minucias en las fases
de entrenamiento y test, deberá aplicarse un algoritmo de reconocimiento, o matching,
capaz de, comparar el vector de características candidato con la plantilla
correspondiente. El algoritmo proporciona dos salidas:

1. Un conjunto de minucias caracterizadas por su posición espacial y por su


orientación respecto de la imagen de la huella.
2. La información local de las crestas presentes en la vecindad de cada minucia.

El algoritmo de extracción de minucias responde a un sencillo algoritmo de


reconocimiento de patrones basado en el análisis de los píxeles vecinos y los píxeles
que conforman las líneas adelgazadas obtenidas por el proceso anterior. A continuación
detallamos los criterios de detección de minucias y de clasificación de las mismas una
vez localizadas (final de la cresta y bifurcación de cresta). Sean (x,y) las coordenadas
de un píxel presente en una cresta adelgazada y N0, N1, …N7, sus 8 vecinos. El píxel de
coordenadas (x,y) será un final de cresta si se cumple la condición i 0 N i  1 ( un
único vecino), mientras que responderá a una bifurcación de cresta si obedece a la
7
expresión N
i 0
i  2 ( 3 o más vecinos). La figura 4-21 muestra un ejemplo de

detección de estos dos tipos de minucias según este criterio.

Figura 4-21: detección y discriminación de minucias

ETAPA DE RECONOCIMIENTO
El algoritmo de reconocimiento de huellas dactilares o matching es un algoritmo de
comparación robusta entre la entrada biométrica parametrizada o modelo de test, y el
total de modelos de huellas existentes en la base de datos del sistema, en función de la
forma geométrica descrita por las posiciones de las minucias. En este sentido, será
necesario realizar la tarea previa de estimar los parámetros necesarios de traslación y
rotación, para alinear (hacer coincidir) el modelo de test con plantilla, a partir de las
minucias detectadas en la fase anterior. La parte anterior del algoritmo de
reconocimiento determinará la mínima distancia euclídea de las n comparaciones,
siendo n igual al número de modelos que conforman la base de datos. El resultado de
este cálculo, nos entregará la identidad de la persona a reconocer. A este procesado de
datos se le denomina minutiae pattern matching.

Página 25
Instituto Politécnico Nacional

Algoritmo de alineamiento.
La fase de alineamiento de imágenes, permitirá calcular los parámetros de rotación y
traslación que conduzca al mayor nivel de correspondencia espacial, al ajustar la huella
parametrizada con la plantilla. A continuación se detallan los paso del algoritmo de
alineamiento.

1. Seleccionar un par minucias de referencia (una de cada imagen).

2. Determinar el número de pares de minucias que se corresponden.

3. Reiterar el proceso de selección, para cada una de los pares de combinaciones


posibles de minucias de referencia que presentan características locales
comunes.

4. El par de minucias de referencia final seleccionado es aquel que ha


contabilizado un mayor número de pares de minucias que se corresponden, y
en consecuencia, el que ha estimado el mejor alineamiento.

5. Calcular las características de rotación y traslación:

a) El parámetro de rotación estimado, es la medida de todos los


valores individuales de rotación de todos los pares de minucias
que se corresponden.

b) El parámetro de traslación se extrae a partir de las coordenadas


espaciales del par de minucias de referencia que ha superpuesto el
mejor alineamiento.

6. Aplicar los parámetros de rotación y traslación calculados a todas las minucias


del modelo de test.

Figura 4-22: detalle del proceso de alineamiento

Para ello, se aplica las siguientes ecuaciones:

 X ai    x  cos  sen 0  xi  x ref 


 Y       sen  
 ai   y    cos  0  y i  y ref 
  ai      0 0 1  i   ref 

Página 26
Instituto Politécnico Nacional

donde:

 (Δx, Δy, Δθ) son los parámetros de rotación y traslación calculados en el punto
5.

 (xi, yi, θi) representa la minucia i-ésima del patrón de prueba (coordenadas y
ángulo de orientación de la cresta asociada).

 (xref, yref, θref) es la minucia de referencia

 (Xai, Yai, θai) es la minucia final a alinear.

Las deformaciones no lineales que se dan en las huellas dactilares hacen que dos
modelos (modelo de test-plantilla), aún en el caso de pertenecer a una misma huella, no
coincidan exactamente una vez alineados. De ahí la necesidad de diseñar un algoritmo
elástico de comparación capaz de establecer la correspondencia entre puntos dentro de
unos ciertos límites de tolerancia.

Algoritmo de comparación de modelos.


Cada vez que una huella accede al sistema, se extrae su patrón biométrico de minucias y
se compara con cada una de las plantillas almacenadas en la base de datos. La
comparación se realiza previa alineación de los dos modelos que se van a procesar,
realizando anteriormente su conversión en dos cadenas de puntos ordenados según sus
coordenadas polares. El resultado de la comparación vendrá dado por el valor que toma
la función de coste después de comparar todas las parejas de minucias de las dos
cadenas.

El algoritmo de comparación entre modelos de entrenamiento y test consta de dos


partes. En la primera se ordenan las minucias de los dos modelos para formar sendas
cadenas de puntos en coordenadas polares. La utilización de este sistema de
coordenadas particular, se debe que las deformaciones no lineales que aparecen en las
huellas presentan siempre una zona en la que son consistentes, perdiéndose esta
característica a medida que los puntos se alejan de esta zona en las direcciones radiales.
El punto de máxima consistencia es la minucia de referencia, que se tomará como
centro de coordenadas polares del sistema. Una vez representadas las minucias en
polares, se ordenan para formar las cadenas o vectores de características en orden
creciente de sus coordenadas angular y radial. Las dos cadenas formadas constituirán
los dos patrones a tratar por el algoritmo de comparación. En la segunda parte, el
algoritmo efectúa la comparación de los dos vectores a partir de la distancia euclídea
entre minucias, dando como resultado, la identidad de la persona que responde con el
patrón que presenta una distancia euclídea menor con respecto del modelo de test a
valuar.

Página 27
Instituto Politécnico Nacional

CARACTERÍSTICAS DEL SISTEMA


El reconocimiento dactilar, considerado como la ópera prima de los sistemas de
reconocimiento biométrico, obedece a una técnica biométrica con un índice de
penetración muy alto en nuestra sociedad debido, entre otros motivos, al grado de
excelencia policial y judicialmente a lo largo de las últimas décadas, y su fiabilidad ha
quedado perfectamente probada a través de los múltiples test a lo que se ha visto
sometido durante estos años. Además, es uno de los sistemas biométricos con más alta
aceptación popular (a nadie le extraña que le pidan la adquisición de su huella dactilar
para la inclusión en su DNI, mientras que aún existe un porcentaje elevado de la
población que se muestra reacia a someterse a la adquisición de por ejemplo el iris o la
retina).

En cuanto al autentificador, recordemos sus características inherentes de invariabilidad


o inmutabilidad temporal, y su propiedad unívoca, que determina el nivel de
singularidad de la misma (a cada huella le corresponde únicamente un individuo); su
adquisición se puede realizar mediante sistemas de captura sencillos, no invasivos, de
bajo coste y con mayor capacidad de integración de los distintos entornos. Además,
debemos subrayar dos propiedades diferenciadoras respecto del resto de
autentificadores.

a) La huella dactilar es el único autentificador biométrico que deja su tarjeta de


visita en toda aquella superficie en la que ha estado en contacto, siendo por
tanto una herramienta vital importancia en los procesos de investigación
policial (existe una base de datos de huellas mundial que ayuda a viabilizar aún
más este tipo de identificación).

b) Discrimina la identificación de hermanos gemelos, a diferencia de la cara, la


voz, la geometría de la mano o incluso, el DNA.

En cuanto a los inconvenientes, subrayamos como parámetros altamente críticos la


elevada calidad y resolución de la imagen digital requerida, si se persiguen tasas de
reconocimiento satisfactorias. Además, la adquisición de las huellas dactilares requiere
de contacto físico con el dispositivo capturador, lo que imposibilita la adquisición
camuflada de personas en un recinto o área de vigilancia, como permite el
reconocimiento facial, por ejemplo. Este contacto físico, supone además un
inconveniente adicional: la posible suciedad existente en el dedo o en la platina de
escaneo puede causar problemas de reconocimiento (en todos los sistemas de captación
menos en el basado en tecnología ultrasónica). Las heridas y quemaduras en la zona son
otro factor que puede inducir a errores. Nótese también, la existencia de colectivos
inestables, estimados en un 5% del total de la población mundial, a los que es imposible
realizar una captura aceptable para su posterior identificación.

MÉTODOS DE ATAQUE Y DEFENSA DEL SISTEMA


Todo sistema presenta la posibilidad de ser atacado, es decir, burlado por algún
impostor avezado en el estudio de este tipo de tecnologías. Este apartado incluye un
pequeño resumen de aquellos métodos o intentos utilizados para atacar a un sistema
biométrico basado en la huella dactilar, así como las respuestas tecnológicas existentes
para contrarrestar dicho ataque.

Página 28
Instituto Politécnico Nacional

Métodos para atacar al sistema.


 Mediante reproducción del dibujo papilar, por ejemplo, a partir de una foto de la
huella a falsificar a escala de 1:1.

 Mediante réplicas tridimensionales de la huella realizada con moldes de látex,


silicona, goma, cera, gelatina, material de dentistas o similar.

Métodos para defender al sistema.


 El escáner de ultrasonidos: el sistema de ultrasonidos penetra el látex y otros
materiales, llegando a la huella dactilar real del impostor.

 Una nueva generación de sensores incorpora el denominado sistema de Live


Recognition o Liveness Check que comprueba que la huella sobre la que se va a
realizar el proceso de adquisición forma parte de un ser humano vivo. A
continuación mostramos algunas técnicas y procesos sobre los que basa esta
nueva gama de sensores.
o Medida simultánea de la temperatura de la huella. Este sistema puede ser
sensible en lugares con condiciones climáticas extremas.

o Medidas simultánea de parámetros eléctricos estáticos y dinámicos de la


huella (recordemos que el ser humano puede modelarse a nivel eléctrico,
como un conjunto de resistores y capacitores conectados en paralelo).

o Análisis de la reflexión de la luz cuando se ilumina a la huella (la sangre


presenta unas características propias de reflexión de la luz en función de
la longitud de onda).

o Nuevas tendencias. Hemos comentado que los sensores capacitivos son


sensibles al estado de humedad de las huellas, dando como resultado
adquisiciones saturadas o difuminadas en función del nivel de sudor que
presenten las mismas. Los nuevos estudios de diseño d este tipo de
sensores están intentando aprovechar esta desventaja para convertirla en
un factor que posibilite la detección y discriminación de una huella
“viva” frente a una inerte.

Página 29
Instituto Politécnico Nacional

CAPÍTULO 4
PROCESAMIENTO DIGITAL DE IMÁGENES

¿QUÉ ES EL PROCESAMIENTO DIGITAL DE IMÁGENES?


Una imagen puede ser definida por una función bidimensional f(x, y), donde x y y son
coordenadas espaciales (plano) y la amplitud de f es cualquier par de coordenadas (x, y)
es llamado intensidad o nivel de gris de la imagen en ese punto. Cuando x, y , y el
valor de la amplitud de f son todos finitos, cantidades discretas. Nosotros llamamos a
esa imagen como imagen digital. El campo de procesamiento digital de imágenes
referido al proceso digital de imágenes por medio de una computadora. Esa imagen
digital está compuesta por un número finito de elementos, que tiene una localización y
valor particular. Estos elementos son referidos al cuadro de elementos, elementos de la
imagen, pels y píxeles. El término Píxel es el elemento más ampliamente usado para
denotar los elementos de una imagen digital.

La visión es la más avanzada de nuestros sentidos, así que no está sorprendiendo que las
imágenes jueguen un papel importante en la percepción humana. Sin embargo, los seres
humanos son limitados por la banda visual de espectros electromagnéticos (EM) las
máquinas de la proyección de imagen casi cubren el espectro entero del EM, el
extenderse de las ondas gamma a las ondas de radio. Pueden operar en las imágenes
generadas por fuentes que los seres humanos no están acostumbrados a asociarlos con
imágenes. Estos incluyen ultrasonidos, microscopio de electrones, e imágenes
generadas por computadoras. Así, el procesamiento de imagen digital abarca un amplio
y variado campo de aplicaciones. No hay consenso general entre autores con respecto a
donde detener el procesamiento de imagen y otras áreas relacionadas, tal como el
análisis de la imagen y empezar la visión de la computadora. El área de análisis de
imagen está entre el procesamiento de imagen y la visión de la computadora.

Se debe considerar tres tipos de procesos computarizados: bajo nivel, medio nivel, y los
procesos de alto nivel. Los procesos de bajo nivel implican las operaciones primitivas
tales como preprocesamiento de imagen para reducir el ruido, el aumento del contraste,
y afilando de una imagen. El proceso de bajo nivel es caracterizado por el hecho que
sus entradas y salidas son las imágenes. El procesamiento del medio-nivel en imágenes
implica las tareas tales como la segmentación (dividiendo una imagen en regiones u
objetos), la descripción de esos objetos para reducirlos a una forma conveniente para
procesamiento de computadora, y para la clasificación (reconocimiento) de un de objeto
individual. El nivel medio de proceso es caracterizado por el hecho que sus entradas
generalmente son las imágenes, pero sus salidas son los atributos extraídos de esas
imágenes (por ejemplo, las orillas, los contornos, y la identidad de objetos individuales).
Finalmente, procesamiento de alto nivel implica "tener sentido" de un conjunto de
objetos reconocidos, como en el análisis de la imagen, y, realizar las funciones
cognoscitivas normalmente asociadas con la visión.

Basado en los comentarios anteriores, nosotros vemos que un lugar lógico de la


superposición entre procesamiento de imagen y análisis de imagen es el área del
reconocimiento de regiones individuales u objetos en una imagen. Así, lo que
llamamos procesamiento digital de imagen abarca los procesos cuyas entradas y salidas
son las imágenes y, además, abarca los procesos que extraen los atributos de imágenes,
incluyendo el reconocimiento de objetos individuales.

Página 30
Instituto Politécnico Nacional

EJEMPLOS DE CAMPOS QUE UTILIZAN PROCESAMIENTO DIGITAL DE


IMAGEN
Las áreas de la aplicación de procesamiento digital de imagen son tan variadas. Uno de
las maneras más sencillas de desarrollar una comprensión básica de la extensión de
aplicaciones de procesamiento de imagen es clasificar las imágenes según su fuente
(por ejemplo, visual, la radiografía, etcétera). La fuente principal de energía para
imágenes actualmente es el espectro electromagnético de energía. Otras fuentes
importantes de energía incluyen acústico, ultrasónico, y electrónico (en forma de rayos
de electrones utilizó en los microscopios electrónicos). Las imágenes sintéticas,
utilizadas para modelando y visualización, son generadas por la computadora. Las
imágenes basadas en la radiación del espectro EM son las más familiares,
especialmente imágenes de radiografía y bandas visuales del espectro. Las ondas
electromagnéticas pueden ser conceptualizadas propagando como ondas de sinusoidales
de variadas longitudes de ondas, o ellos pueden ser pensados de como una corriente de
partículas, viajan a la velocidad de la luz. Cada partícula contiene una cierta cantidad
de energía. Cada paquete de energía es llamado fotón. Si las bandas espectrales son
agrupadas según energía por fotón, obtenemos el espectro mostrado en Fig. 1.5,
recorriendo de rayos gamma (energía más alta) en un fin a ondas de radio (energía más
baja) en el otro.

Energía de un Fotón (Electrón volts)

Rayos gamma Rayos X Ultravioleta Visible Infrarrojo


Microondas Ondas de Radio

Figura 1.5 Espectro electromagnético según la energía de un Fotón.

PASOS FUNDAMENTALES PARA EL PROCESAMIENTO DIGITAL DE


IMÁGENES.
I. Adquisición de Imagen
II. Aumento de la imagen
III. Restauración de la Imagen
IV. Procesamiento del color de la Imagen
V. Compresión
VI. Procesamiento morfológico
VII. Segmentación
VIII. Representación y Descripción.
IX. Reconocimiento.

MODELO SENCILLO DE LA FORMACIÓN DE IMÁGENES


Las imágenes las podemos denotar por funciones de dos dimensiones de la forma f (x,
y). El valor o la amplitud de F en coordenadas espaciales (x, y) es una cantidad escalar
positiva cuyo significado físico es determinado por la fuente de la imagen. La mayor
parte de las imágenes en las que estamos interesados son las imágenes
monocromáticas, cuyos valores son de la escala gris. Cuándo una imagen es engendrada

Página 31
Instituto Politécnico Nacional

de un proceso físico, sus valores son proporcionales a la energía irradiada por una
fuente física (por ejemplo, ondas electromagnéticas). Como resultado, f(x, y) debe ser:

La función f(x, y) puede ser caracterizado por dos componentes: (1) la cantidad de
iluminación de la fuente incidente y (2) la cantidad de la iluminación reflejada por los
objetos apropiadamente, éstos se llaman los componentes de la iluminación y reflectante
y son denotados por i(x, y) y r(x, y), respectivamente. Etas dos funciones se combinan
como un producto para formar f(x, y):

donde:

y:

La ecuación (2.3-4) indica la reflexión es dada por 0 (la absorción total) y 1 (reflectante
total). La naturaleza de i(x, y) es determinado por la fuente de la iluminación, y por r(x,
y) es determinado por las características del imagen del objeto. Estas expresiones son
también aplicables a imágenes formadas por la transmisión de la iluminación por un
medio, tal como una radiografía toráxica En este caso, nosotros trataríamos con un
transmisor en vez de una función de índice de reflexión, pero los límites serían igual
que en Eq. (2.3-4), y la función de la imagen formada serían modelados como el
producto en Eq. (2.3-2).

MUESTREO DE IMÁGENES Y CUANTIFICACIÓN


Hay numerosas maneras de adquirir las imágenes, pero el objetivo es el mismo: generar
las imágenes digitales de datos. La salida de la mayoría de los sensores es una forma de
ondas continua del voltaje cuya amplitud y comportamiento espacial son relacionados
al fenómeno físico a ser sensado. Para crear una imagen digital, nosotros necesitamos
convertir los datos sensados continuos en una forma digital. Esto implican dos
procesos: muestreo y cuantificación.

Los Conceptos básicos para Muestreo y Cuantificación


La idea básica detrás de muestreo y cuantificación es ilustrada en Fig. 2,16. La figura
2.16(a) muestra una imagen continua, f(x, y), que queremos convertir a la forma de
imagen digital. Una imagen puede ser continuo con respecto a las coordenadas x y y, y
también en amplitud. Para convertirlo a la forma digital, tenemos que probar la función
en coordenadas y en la amplitud. Digitalizando los valores de las coordenadas son
llamados muestreados. Digitalizando los valores de la amplitud son llamados
cuantificación.

Página 32
Instituto Politécnico Nacional

La función unidimensional mostrada en Fig. 2.16 (b) es una grafica de la amplitud (el
nivel gris) los valores de la imagen continua por el segmento AB en Fig. 2.16(a). Las
variaciones aleatorias son debidas al ruido de la imagen. Para probar esta función,
tomamos espacios iguales a las muestras de la línea AB, como es mostrado en la Fig.
2.16(c). La localización de cada muestra es dada por una marca vertical en la parte
inferior al de las muestras de figura. Las pruebas son mostradas en pequeños cuadrados
blancos sobrepuestos en la función. El conjunto de estas ubicaciones distintas da las
muestras de la función. Sin embargo, los valores de las muestras atraviesan todavía
(verticalmente) una gama continua de valores de niveles de gris. Para formar una
función digital, los valores del nivel de gris deben ser convertidos también
(cuantificación) en cantidades discretas. A un lado de la Fig. 2.16(c) muestra la escala
de niveles de grises dividida en ocho niveles distintos, recorriendo de negro a blanco.
Las marcas verticales indican el valor específico asignado a cada uno de los ocho
niveles de gris. Los niveles grises continuos son cuantificados simplemente asignando
uno de los ocho niveles grises distintos a cada muestra. La tarea es hecha dependiendo
de la proximidad vertical de una muestra a una marca vertical. Las muestras digitales
que resultan de tanto el muestreo como la cuantificación son mostradas en Fig. 2.16 (d).
Muestreando de manera solamente descrita asumimos que tenemos una imagen
continua en ambas direcciones de coordenada así como en la amplitud. En la práctica, el
método de muestreo es determinado según el arreglo del sensor usado para generar la
imagen. Cuando una imagen es generada por un elemento sensor solo combinado con
el movimiento mecánico, como en la Fig. 2.13, la salida del sensor es cuantificada de
manera descrita anteriormente. Sin embargo, el muestreo es logrado por la selección
del número de incrementos individuales mecánicos en los cuales activamos el sensor
para recoger datos. El movimiento mecánico puede ser hecho muy exacto en principio.
Sin embargo, los límites prácticos son establecidos por imperfecciones en la óptica
enfocaba en el sensor de la iluminación que es contradictorio con la resolución factible
con desplazamientos mecánicos. Cuándo un sensor es utilizado para la adquisición de la
imagen, el número de sensores establece las limitaciones de muestreo en una dirección
de la imagen. El movimiento mecánico en la otra dirección puede ser controlado más
exactamente, pero no tiene sentido para tratar de lograr la densidad de muestreo en una
dirección que excede el límite de muestreo establecido por el número de sensores en el
otro. La cuantificación del sensor de salida completa el proceso para generar una
imagen digital. Cuándo un arreglo de sensores es utilizada para la adquisición de la
imagen, no hay movimiento y el número de sensores en el arreglo establecen los límites
de muestreo en una y otra dirección. La cuantificación de los sensores de salida es
como los anteriores. La figura 2,17 ilustra este concepto. La figura 2.17(a) muestra una
imagen continua proyectada en el plano de un arreglo de sensor. La figura 2.17 (b)
muestra la imagen después de muestrear y cuantificar. Claramente, la calidad de una
imagen digital es determinada a en gran medida por el número de muestras y niveles
discretos de grises utilizado en el muestreo y cuantificación.

Página 33
Instituto Politécnico Nacional

Figura 2.16: Generando una imagen digital. (a) Imagen Continua. (b) Una línea de A
hacia B en imagen continua, usada para ilustrar los conceptos de Muestreo y
Cuantificación. (c) Muestreo y Cuantificación. (d) Línea Digital.

Figura 2.17: (a) Proyecto de una imagen continua en un arreglo de sensor.


(b)Resultado de muestreo de imagen y cuantificación.

Página 34
Instituto Politécnico Nacional

Representación de Imágenes Digitales


El resultado del muestreo y cuantificación es una matriz de números reales.
Utilizaremos dos maneras para representar imágenes. Asumiendo que una imagen
f(x,y) es muestreado por lo que la imagen digital resultante tiene M filas y N columnas.
Los valores de las coordenadas (x,y) ahora llega a ser cantidades distintas. Para la
claridad y la conveniencia de marcaje, utilizaremos los valores entero (x, y) =(0, 0). Los
siguientes coordenadas de valores para la primera fila de la imagen son representados
como (x, y) =(0, 1). Es importante tener presente que la notación (0, 1) es utilizado para
significar la segunda muestra para la primera fila. No significa que éstos son los valores
verdaderos de las coordenadas físicas cuando la imagen fue muestreada. La figura 2.18
muestra la convención valores utilizadas la notación (0, 1) es utilizado para significar
la segunda muestra para la primera fila. No significa que éstos son los valores
verdaderos de las coordenadas físicas cuando la imagen fue muestreada. La figura 2.18
muestra la convención valores utilizadas.

Figura 2.18: Coordenadas


convencionales para el procesamiento
digital de imágenes.

La notación introducida en el párrafo anterior nos permite escribir la completa M*N


imagen digital en el siguiente comprime la matriz formando:

El lado correcto de esta ecuación está por la definición por una imagen digital. Cada
elemento del arreglo matricial es llamado un elemento de la imagen, el elemento del
retrato, píxel o pel. Los términos imagen y píxel será utilizado para denotar una imagen
digital y sus elementos.

En algunas discusiones, es ventajoso utilizar una anotación más tradicional de matriz


para denotar una imagen digital y sus elementos:

Claramente, , Eq. (2.4-1) y (2.4-2) son matrices idénticas.

Página 35
Instituto Politécnico Nacional

Expresando el muestreo y la cuantificación en términos matemáticos más formales


puede ser útil a veces. Dónde Z y R denota el conjunto de enteros reales y el conjunto
de números reales, respectivamente. El proceso del muestreo puede ser visto en
particiones del plano xy en una cuadrícula, con las coordenadas del centro de cada
cuadrícula que es un par de elementos del producto cartesiano Z2, que es el conjunto de
todos pares ordenados de elementos (zi, zf), con zi y zf que son enteros de Z. De ahí, f(x,
y) es una imagen digital si (x, y) son enteros de Z2 y f si la función que una función que
asignada al nivel de grises (esto o es, un número real del conjunto de números reales, R)
a cada par de coordenadas distintos (x, y). Esta tarea funcional obviamente el proceso de
cuantificación descrito anteriormente. Si los niveles grises son también enteros (como
es generalmente el caso), Z reemplaza R, y una imagen digital entonces llega a ser una
función de 2D cuyas coordenadas y los valores de la amplitud son enteros.

Este proceso de digitalización requiere las decisiones acerca de valores para M, N, y


para el número, L, de niveles grises discretos tomando en cuenta cada píxel. Allí no hay
requerimientos en M y N, de otra manera que ellos tienen que ser enteros positivos. Sin
embargo, debido a procesamiento, almacenamiento, y a las consideraciones de
hardware, el número de niveles grises es típicamente un número de entero de 2:

Asumimos que los niveles discretos se espacian igualmente y que ellos son enteros en
el intervalo [0, L-1]. A veces el rango de valores atravesados por la escala gris se llama
rango dinámico de una imagen, y nosotros nos referimos a imágenes cuyos niveles
grises conforman una porción significativa de la escala gris teniendo como un alto
rango dinámico. Cuándo un número apreciable de píxeles exhibe esta propiedad, la
imagen tendrá contraste alto. El número, b, de pedacitos requeridos a almacenar para
digitalizar la imagen es:

Donde M=N puede ser la ecuación:

La tabla 2. 1 muestra el número de bits requeridos a almacenar las imágenes con


varios valores de N y de K. El número de los niveles grises que corresponde a cada
valor de K son mostrados en la tabla. Cuando que una imagen puede tener 2k los niveles
grises, es una práctica muy extendida referirse a la imagen de k.bit. "Por ejemplo, una
imagen con 256 valores de niveles de grises posibles es llamada a una imagen de 8
bits. Requisitos de almacenamiento para imágenes de 8 bits del tamaño 1024x1024 y
más alto no son insignificantes.

Página 36
Instituto Politécnico Nacional

Tabla 2.1 Número de rangos de bits para valores de N y k

Espacio y Resolución de niveles de gris.


El muestreo es el factor principal que determina la resolución espacial de una imagen.
Básicamente, la resolución espacial es el más pequeño detalle discernible en una
imagen. Suponga que construimos un gráfico con líneas verticales de anchura W, con el
espacio entre las líneas tienen anchura W. Un par de líneas consiste en una línea y su
espacio adyacente. Así, la anchura de un par de la líneas es 2W, y ahí los pares de la
línea 1/2W por unidad de distancia. Una definición extensamente utilizada de la
resolución es simplemente el más pequeño número de pares discernibles de línea por la
distancia de la unidad; por ejemplo, 100 pares de líneas por milímetro.

La resolución plano-gris se refiere semejantemente al más pequeño cambio discernible


en el nivel gris. Tenemos que considerar el número de muestras usadas para generar
una imagen digital, pero esto no es verdad para el número de niveles grises. Debido a
consideraciones de hardware, el número de niveles grises generalmente es un valor
entero de 2. El número más común es de 8 bits, con de 16 bits para ser utilizado en
algunas aplicaciones donde aumento de el rango de nivel de gris específicas es
necesario. A veces encontramos sistemas que pueden digitalizar los niveles grises de
una imagen con 10 o 12 bits de certeza, pero éstos son excepciones.

Las figura 2.19 nuestra una imagen del tamaño 1024x1024 píxeles cuyos niveles grises
son representados por de 8 bits. Las otras imágenes mostradas en Fig. 2.19 son los
resultados de submuestreo de la imagen 1024x1024. La imagen 512x 512 fue obtenida
borrando cada dos filas y la columna de la imagen 1024x1024. El número de niveles
grises permitidos se mantuvo en 256.

Página 37
Instituto Politécnico Nacional

Figura 2.19 1024x1024, imagen muestreada 8-bits hasta el tamaño 32x32 píxeles. El
nivele de grises se mantuvo en 256.

Estas imágenes muestran las dimensiones proporcionales entre varias densidades de


muestreo, pero sus diferencias del tamaño lo hacen difícil ver los efectos que resultan
de una reducción en el número de muestras. La manera más sencilla de comparar estos
efectos será trayendo todas las imágenes submuestreadas del tamaño 1024x1024 por
la fila y columna de cada píxel de réplica. Los resultados son mostrados en Fig. 2.20
(b) hasta (f). Figure 2.20(a) es el mismo 1024x1024, de 256 niveles imagen mostrado
en Fig. 2.19.

Comparando Fig. 2.20(a) con la imagen 512x512 en Fig. 2.20 (b) es casi imposible
notar las diferencias. El nivel de detalle perdido puede ser visto en una página impresa
en la escala en la que estas imágenes son mostradas. L a imagen siguiente 256x256 en
Fig. 2.20(c) muestra una pauta fina muy leve del tablero en las fronteras entre los
pétalos de la flor y el fondo negro. Los efectos son mucho más visibles en la imagen
128x128 en Fig. 2.20 (d), y ellos llegan a ser pronunciados en la imagen de 64x64 e
imágenes de 32x32 en las Fig. 2.20 (e) y (f), respectivamente.

Figura 2.20 (a) 1024x1024, imagen de 8 bits. (b) 512x512 imágenes resamblada de
1024x1024 píxeles por fila y columnas duplicados. (c) hasta (f) 256x256, 128x128,
64x64, y 32y 32 imágenes resambladas de 1024x1024 píxeles.

Página 38
Instituto Politécnico Nacional

En este ejemplo, se mantiene el número de muestras constantes y reducimos el número


de niveles de grises de 256 a 2, en valores de entero de 2. La Figura 2.21(a) es una
imagen de la proyección de 452x374, tomando una k=8 (256 los niveles grises). Las
imágenes tales como esto es obtenido fijando en una posición una fuente de rayos X, así
se produce una imagen de 2D en alguna dirección deseada. Las imágenes de la
proyección son utilizadas como guías para establecer los parámetros para un escáner de
CAT, inclusive la inclinación, el número de rendijas, y el rango.

En la figura 2.21 (b) hasta (h) fueron obtenidos reduciendo el número de bits de k=7 a
k=1 manteniendo la constante espacial de la resolución en 452x 374 píxeles. El 256-,
128-, y las imágenes de 64 niveles son visualmente idénticas para todo propósito
práctico. La imagen de 32 niveles mostrado en Fig. 2.21 (d), sin embargo, tiene un
conjunto casi imperceptible de estructuras muy finas en áreas de niveles grises lisos
(especialmente en el cráneo). Este efecto, causado por el uso de un número insuficiente
de niveles grises en áreas de la imagen digital, es llamado falso Contorno, así se llamó
porque las aristas se parecen a contornos topográficos de un mapa. Falso Contorno es
generalmente bastante visible en imágenes que utilizan 16 o menos espació
uniformemente de los niveles de grises, como las imágenes en las Fig. 2.21 (e) hasta
(h) mostradas.

Figura 2.21 (a) 452x374, imagen de 256 niveles. (b) hasta (d) la Imágenes mostradas
en 128, 64, y 32 niveles de grises, al manteniendo la constante espacial de la
resolución.

Página 39
Instituto Politécnico Nacional

Figura 2.21 (Continuación) (e) hasta (g) Imágenes mostradas en 16, 8, 4, y 2 niveles
de grises. (La cortesía del Dr. David R. Pickens, el Departamento de la Radiología &
las Ciencias Radiológicas, la Universidad de Vanderbilt, Centro Médico).

Los resultados de los Ejemplos anteriores ilustran los efectos producidos en la calidad
de la imagen variando N y K independientemente. Sin embargo, estos resultados sólo
contestan parcialmente que la pregunta de cómo variar N y K afecta las imágenes y
porque nosotros no hemos considerado ninguna relación que quizás exista entre estos
dos parámetros. Un estudio temprano por Huang [1965] procuró cuantificar
experimentalmente los efectos en la calidad de la imagen producida por el experimento
de varía N y K simultáneamente. El experimento consistió en un conjunto de pruebas
subjetivas. Las imágenes semejantes son mostradas en la Fig. 2,22. La cara de una
mujer es representante de una imagen con detalles relativamente pequeños; el retrato del
fotógrafo contiene una cantidad de detalle intermedio; y el retrato de la multitud
contiene, por la comparación, una cantidad grande de detalles.

Los conjuntos de estos tres tipos de imágenes fueron engendrados variando N y K, y


varios observadores los situaron según su calidad subjetiva. Los resultados fueron
resumidos en forma de curvas llamadas de isopreferencia en el plano Nk (Fig. 2.23
mostradas por medio de la curva de isopreferencia correspondiente a las imágenes
mostradas en Fig. 2.22). Cada punto en el plano Nk representa una imagen que tiene los
alores de N y K iguala a las coordenadas de ese punto. Los puntos corresponden a la
curva de isopreferencia de la calidad de imágenes subjetiva iguales. Fue encontrado en
el transcurso de los experimentos que las curvas de isopreferencia tendieron a cambiar
de derecha hacia arriba, pero sus formas en cada una de las tres categorías de la imagen
fueron semejantes a los mostrados en la Fig. 2.23. Esto no es un cambio inesperado de
arriba hacia la derecha en la curvas lo que significa los valores más grande para N y K,
que implican mejor calidad del retrato.

Página 40
Instituto Politécnico Nacional

Figura 2.22 (a) Imagen con un nivel bajo de detalles. (b) la Imagen con un
nivel medio de detalles. (C) la Imagen con una cantidad relativamente grande de
detalle. (Imagen (b) cortesía del Instituto de Massachusetts de la Tecnología).

El punto interesante clave en el contexto de la discusión son las curvas de


isopreferencia que tienden a llegar a ser más vertical como el incremento de detalle de
la imagen. Este resultado sugiere que para imágenes con una cantidad grande de detalle
sólo pocos niveles grises pueden ser necesitados. Por ejemplo, la curva de
isopreferencia en Fig. 2.23 corresponder a la multitud es casi vertical. Esto indica eso,
para un valor fijo de N, la calidad percibida para este tipo de la imagen es casi
independiente del número de niveles de grises utilizados (para el rango de niveles de
grises mostrados en Fig. 2,23). Es también de interés notar que la calidad percibida en
las otras dos categorías de la imagen se quedó en el mismo intervalo en los que la
resolución espacial fue aumentada, pero el número de niveles de grises disminuyó
realmente. La razón más probable para este resultado es que una disminución en K
tiende a aumentar el contraste aparente de una imagen, un efecto visual que humanos a
menudo perciben la calidad como mejorada en una imagen.

Figura 2.23 Curva representativa de isopreferencia para los tres tipos de


imágenes de la Fig. 2.22.

Página 41
Instituto Politécnico Nacional

CAPÍTULO 5
RECONOCIMIENTO DE PATRONES

INTRODUCCIÓN AL RECONOCIMIENTO DE PATRONES

Introducción y campos de aplicación.


El reconocimiento de patrones es la ciencia que se encarga de la descripción y
clasificación (reconocimiento) de objetos, personas, señales, representaciones, etc.

Si bien el margen de aplicaciones es muy amplio las más importantes estan relacionados
con la visión y audición por parte de una máquina, de una forma análoga a los seres
humanos.

Algunos ejemplos de los campos relacionados son:

 Reconocimiento de caracteres: a partir de un texto impreso o manuscrito, se


genera un fichero que contiene los caracteres presentes en el texto. Esta
aplicación resulta útil en sistemas de lectura de textos (añadiendo un conversor
texto-voz), lectura de etiquetas, clasificación automática de cartas en función de
código postal, lectura de matriculas de Vehículos, etc.

 Aplicaciones industriales: controles de calidad, detección y clasificación de


piezas defectuosas en líneas de producción.

 Cartografía: realización automática de mapas a partir de fotografías de satélites,


medida de distancias de carretera.

 Aplicaciones médicas: detección de tumores a partir de imágenes médicas


(radiografías ecografías, etc.), recuento de células sanguíneas, espermatozoides,
etc., medidas de tamaño y forma de órganos, análisis de cromosomas.

 Guiado de Vehículo: detección de obstáculos, destinos, etc. para modificar la


trayectoria del vehículo guiado de forma adecuado.

 Reconocimiento automático del habla: consiste en la trascripción de un mensaje


hablado a su grafía. Entre las posibles aplicaciones cabe citar el dictado de textos
al ordenador, de forma que no sea necesario tecleara, la elección mediante la voz
entre varias posibilidades en un servidor de audiotext por teléfono.

 Reconocimiento biométrico de personas: consiste en asignar la identidad de un


individuo, o verificar si es quien dice ser, a partir de la medida de algunas
características propias de la persona, como su voz, cara, manos, huellas, iris,
firma, etc.

Algunas de estas aplicaciones no se consideran estrictamente reconocimiento de


patrones, pero en mayor o menor medida están relacionadas.

Página 42
Instituto Politécnico Nacional

Dificultad intrínseca del reconocimiento de patrones.


En cierta manera, el conocimiento de los mecanismos llevados a cabo por los humanos
para reconocer objetos dentro de una imagen o identificar personas, es de utilidad a la
hora de implementar sistemas automáticos mediante el ordenador, puesto que este podrá
emular los procesos llevados a cabo por las personas. Sin embargo, en muchos casos, la
comprensión de dichos mecanismos no es trivial. Por ejemplo, en la mayoría de
culturas, el reconocimiento de personas u objetos en fotografías no presentan gran
dificultad, siempre y cuando los elementos representados sean previamente conocidos
por el observador.

Tareas que a primera vista nos parecen extremadamente triviales por estar
acostumbradas a realizarlas de forma natural multitud de veces al día, en realidad son
habilidades extremadamente complicadas que el hombre ha aprendido a realizar a lo
largo de su infancia.

El éxito de la automatización de tareas mediante máquinas no siempre ha radicado en


copiar a la naturaleza. En este sentido, resulta paradigmático que todos los intentos del
hombre por conseguir volar, fracasaran al tratar de imitar el vuelo de las aves.

Aproximaciones al reconocimiento de patrones.


Existen tres aproximaciones principales de reconocimiento de patrones:

1.-Reconocimiento estadístico de patrones (o teoría de decisión).


2.-Reconocimiento de patrones (o estructural).
3.-Reconocimiento basado en redes neuronales.

Además, es posible formular métodos que combinen varias de estas tecnologías, y que
den lugar a sistemas híbridos de reconocimiento. En las aproximaciones 1 y 3 suele
distinguirse un proceso de entrenamiento(o aprendizaje) y un proceso de clasificación (o
test), de forma que inicialmente es necesario disponer de una serie de “ejemplos” de
cada una de las clases posibles, denominada secuencia de vectores de entrenamiento. A
partir de ella se realiza una extracción y selección de características, y se entrena o
ajusta un clasificador para que puedas realizar la tarea de asignar patrones de entada a
una de las clases posibles.

Para evaluar la bondad del clasificador será necesario disponer de muestras


pertenecientes a cada una de las clases que no hayan sido utilizadas en el proceso de
entrenamiento o ajuste del sistema. A partir del conteo de aciertos y errores se extraerán
las tasas de reconocimiento, y podrá evaluarse el clasificador.

Por otra parte, el reconocimiento del clasificador está relacionado con otros campos,
tales como:

 Tratamiento de voz e imagen, visión artificial, etc.


 Inteligencia artificial.
 Redes Neuronales.
 Gramáticas formales.
 Teoría de la estimación y optimización.

Página 43
Instituto Politécnico Nacional

Para implementar un sistema de reconocimiento de patrones, suele usarse un método


fuertemente dependiente de las características del problema, de forma que resulta difícil
formular una solución generalista válida para una amplia casuística.

Esquema general de un sistema de reconocimiento de patrones.


El esquema de un sistema de reconocimiento de patrones consta de varias etapas
relacionadas entre sí. La figura siguiente muestra el esquema genérico de un sistema
capaz de clasificar señales u objetos de entrada en una de las clases predefinidas. Para
ellos deberá analizar un cierto número de características. Por ejemplo, pero,
dimensiones, etc.

MUNDO
REAL

CAPTACIÓN
(Sensor/transductor)

PREPROCESADOS
(Mejora)

SEGMENTACIÓN

EXTRACCIÓN DE
DESCRIPCIÓN
CARACTERÍSTICAS

CLASIFICADOR

Para poder clasificar satisfactoriamente señales de entrada será necesario un proceso de


aprendizaje en el cual el sistema creará un modelo de cada una de las clases a partir de
una secuencia de entrenamiento o conjunto de vectores de características de cada una de
las clases. Generalmente se acepta que la secuencia de muestras de entrenamiento debe
contener, para cada una de las clases, un mínimo de elementos igual a diez veces la
dimensión de los vectores de características. Si la secuencia de entrenamiento contiene
suficientes elementos representativos de las distintas realizaciones de una misma clase,
el sistema será capaz de reconocer patrones de entrada que no sean estrictamente iguales
a los usados en el proceso de entrenamiento. Este concepto recibe el nombre de
capacidad de generalización.

Por otra parte, existen algoritmos de aprendizaje no supervisado en los cuales no resulta
necesario conocer a qué clase pertenece cada uno de los patrones de la secuencia de
entrenamiento.

Página 44
Instituto Politécnico Nacional

En el análisis de imágenes, los principales factores de variabilidad entre patrones de una


misma clase son:

 Ruido: frecuentemente las medidas del mundo real están alteradas por ruido del
propio sensor y del entorno. En algunos casos la captación del mundo real no se
realizará con el mismo dispositivo.

 Variabilidad inherente: algunos patrones pertenecientes a una misma clase


experimentan ciertas variaciones. En el caso de reconocimiento de individuo,
cada uno de ellos constituirá una clase, y la variación será debida al
envejecimiento, estado de salud, grado de bronceado de la piel, etc.

 Traslaciones: los objetos presentados no están siempre en la misma ubicación,


sino que pueden estar en posiciones distintas. En muchos casos, un primer paso
será la detección de la posición del objeto dentro de la escena.

 Rotaciones: aún estando en la misma posición, los objetos pueden haber girado
respecto a su centro, de tal manera que una comparación directa de los mapas de
bits.

 Cambio de escala: dependiendo de la distancia del objeto de la cámara, posición


del zoom, etc., los objetos aparecen más grandes o más pequeños.

 Deformaciones: en algunos de los casos el objeto o persona puede aparecer


deformado.

El sistema de reconocimiento de valores deberá de tener en cuenta las fuentes de


variabilidad, ya sea incluyendo en la secuencia de entrenamiento patrones que hayan
experimentado estas modificaciones, o realizando un proceso que compense la
variabilidad.

Extracción de características.
Uno de los aspectos más importantes a tener en cuenta en un reconocedor de patrones es
el tipo de parametrización a realizar sobre la señal de entrada.

En el caso de imágenes podrá usarse como vector de características la propia imagen


(mapa de bits) de forma que P=m. Otra forma es usar una serie de medidas efectuados
sobre la imagen en un proceso de extracción de características.

La parametrización proporciona innumerables ventajas entre las que cabe destacar


básicamente dos:

 Una reducción del número de datos necesarios a procesar, tamaño de los


modelos de los locutores.

 La transformación a un nuevo espacio de características en el cual es más fácil


discriminar entre locutores.

Página 45
Instituto Politécnico Nacional

Adicionalmente la separabilidad entre las clases no depende únicamente de su


distribución en el espacio de la señal, sino que viene condicionada por el tipo de
clasificador a utilizar.

Selección de características.
La posibilidad de mantener un sistema de reconocimiento de patrones al eliminar
algunas de las componentes de los vectores de características. Esta estrategia
corresponde a la introducción de un bloque selector de características entre los bloques
extractores de características.

Además de la mejora de la tasas de reconocimiento, la reducción de la dimensionalidad


lleva asociada una disminución del coste computacional, cantidad de memoria necesaria
para almacenar los modelos de cada una de la clases, etc. Sin embargo, debe presentarse
especial atención a la evaluación de la consistencia en los resultados. Para ello, basta
aplicarlos a otra base de datos o condiciones de desajunte. Si la mejora no se mantiene,
indica que el procedimiento realizado está adaptado a las condiciones y datos de la
prueba, por lo que no supone una mejora real. En este sentido es importante ser
cuidadoso a la hora de desarrollar un sistema de reconocimiento, de forma que se
utilicen señales de entrada diferentes a las usadas para evaluar los resultados, puesto que
ésta será la situación normal de funcionamiento en su entorno real.

Para aliviar el coste computacional existen algoritmos de búsqueda. Se trata de


algoritmos subóptimos, puesto que es posible que existan interacciones entre las
distintas dimensiones, de tal manera que una determinada dirección únicamente resulta
útil en combinación con otra.

A continuación se describen algunos algoritmos de selección de características.

 SELECCIÓN SECUENCIAL HACIA DELANTE


Consiste en evaluar cada uno de los componentes por separado y elegir la que
proporciona el mejor resultado. A partir de la primera, se va añadiendo una
nueva dimensión en cada una de las sucesivas iteraciones del algoritmo, de entre
las dimensiones restantes no seleccionadas todavía. El criterio para seleccionarla
será el de obtener el máximo incremento en la tasa de clasificación.

 ELIMINACIÓN SECUENCIAL HACIA ATRÁS.


A diferencia del anterior se parte de todas las dimensiones y se va eliminando
una de cada iteración, hasta llegar al número de componentes deseadas. El
algoritmo de eliminación proporciona mejores resultados, esto es debido a que
conserva mejor aquellos conjuntos de características que individualmente no
proporcionan una gran capacidad discriminativa, pero de forma conjunta sí.

 REDES DE DIMENSIONALIDAD MEDIANTE REDES NEURONALES.


Para reducir la dimensión de los vectores de características es posible utilizar
una red neuronal. Durante el proceso de entrenamiento, se presentarán a la red
neuronal los vectores de características y se forzará el aprendizaje a la salida del
mismo vector de entrada. Cuando la red neuronal ha sido entrenada, se presentan
a la entrada los vectores a comprimir, y se obtiene la salida de la capa oculta
intermedia.

Página 46
Instituto Politécnico Nacional

 CLASIFICACIÓN BASADA EN CREAR FRONTERAS DE DECISIÓN.


Consiste en crear fronteras de decisión entre clases, a partir de la optimización
de un determinado criterio de de error. Algunos clasificadores que pertenecen a
este método pueden aproximarse de forma asintótica al clasificador Bayesiano.

Durante el entrenamiento de este tipo de clasificadores, se minimiza un


determinado criterio de error, como por ejemplo el error cuadrático medio entre
los resultados proporcionados por el clasificador y los resultados deseados a la
salida del clasificador.

Página 47
Instituto Politécnico Nacional

CAPÍTULO 6
REDES NEURONALES

DEFINICIÓN DE RED NEURONAL


Algunas de las definiciones sobre las redes neuronales son:

1) Una nueva forma de computación, inspirada en modelos biológicos.

2) Un modelo matemático compuesto por un gran número de elementos procesales


organizados en niveles.

3) Un sistema de computación compuesto por un gran número de elementos


simples, elementos de procesos muy interconectados, los cuales procesan
información por medio de su estado dinámico como respuesta a entradas
externas.

4) Redes neuronales artificiales son redes interconectadas masivamente en paralelo


de elementos simples (usualmente adaptativos) y con organización jerárquica,
las cuales intentan interactuar con los objetos del mundo real del mismo modo
que lo hace el sistema nervioso biológico.

Ventajas que ofrecen las redes neuronales


Debido a su constitución y a sus fundamentos, las redes neuronales artificiales presentan
un gran número de características semejantes a las del cerebro. Por ejemplo, son
capaces de aprender de la experiencia, de generalizar de casos anteriores a nuevos
casos, de abstraer características esenciales a partir de entradas que representan
información irrelevante, etc. Esto hace que ofrezcan numerosas ventajas y que este tipo
de tecnología se esté aplicando en múltiples áreas. Entre las ventajas se incluyen:

 Aprendizaje Adaptativo. Capacidad de aprender a realizar tareas basadas en un


entrenamiento o en una experiencia inicial.

 Auto-organización. Una red neuronal puede crear su propia organización o


representación de la información que recibe mediante una etapa de aprendizaje.

 Tolerancia a fallos. La destrucción parcial de una red conduce a una degradación


de su estructura; sin embargo, algunas capacidades de la red se pueden retener,
incluso sufriendo un gran daño.

 Operación en tiempo real. Los cómputos neuronales pueden ser realizados en


paralelo; para esto se diseñan y fabrican máquinas con hardware especial para
obtener esta capacidad.

 Fácil inserción dentro de la tecnología existente. Se pueden obtener chips


especializados para redes neuronales que mejoran su capacidad en ciertas tareas.
Ello facilitará la integración modular en los sistemas existentes.

Página 48
Instituto Politécnico Nacional

ELEMENTOS BÁSICOS DE LAS REDES NEURONALES


En la Figura 4.1, se muestra un esquema de una red neuronal:

Figura 4.1: ejemplo de una red neuronal totalmente conectada.

La misma está constituida por neuronas interconectadas y arregladas en tres capas (esto
último puede variar). Los datos ingresan por medio de la “capa de entrada”, pasan a
través de la “capa oculta” y salen por la “capa de salida”. Cabe mencionar que la capa
oculta puede estar constituida por varias capas.

Antes de comenzar el estudio sobre las redes neuronales, se debe aprender algo sobre
las neuronas y de cómo ellas son utilizadas por una red neuronal. En la Figura 4.2 se
compara una neurona biológica con una neurona artificial. En la misma se pueden
observar las similitudes entre ambas (tienen entradas, utilizan pesos y generan salidas).

Figura 4.2: comparación entre una neurona biológica (izquierda) y una artificial
(derecha).

Mientras una neurona es muy pequeña en sí misma, cuando se combinan cientos, miles
o millones de ellas pueden resolver problemas muy complejos. Por ejemplo el cerebro
humano se compone de billones de tales neuronas.

Función de entrada (input function)


La neurona trata a muchos valores de entrada como si fueran uno solo; esto recibe el
nombre de entrada global. Por lo tanto, ahora nos enfrentamos al problema de cómo se
pueden combinar estas simples entradas dentro de la entrada global, .
Esto se logra a través de la función de entrada, la cual se calcula a partir del vector
entrada. La función de entrada puede describirse como sigue:

Página 49
Instituto Politécnico Nacional

donde: * representa al operador apropiado (por ejemplo: máximo, sumatoria,


productoria, etc.), n al número de entradas a la neurona y al peso.

Los valores de entrada se multiplican por los pesos anteriormente ingresados a la


neurona. Por consiguiente, los pesos que generalmente no están restringidos cambian la
medida de influencia que tienen los valores de entrada. Es decir, que permiten que un
gran valor de entrada tenga solamente una pequeña influencia, si estos son lo
suficientemente pequeños.

Figura 4.3: ejemplo de una neurona con 2 entradas y 1 salida.

La nomenclatura utilizada en la Figura 4.3 es la siguiente: = entrada número 1 a la


neurona ; = peso correspondiente a ; = entrada número 2 a la neurona ;
= peso correspondiente a ;y = salida de la neurona . El conjunto de todas
las n entradas ini = es comúnmente llamado “vector entrada”.

Algunas de las funciones de entrada más comúnmente utilizadas y conocidas son:

1) Sumatoria de las entradas pesadas: es la suma de todos los valores de entrada a


la neurona, multiplicados por sus correspondientes pesos.

con j = 1, 2, …, n

2) Producto de las entradas pesadas: es el producto de todos los valores de entrada


a la neurona, multiplicados por sus correspondientes pesos.

con j = 1, 2, …, n

3) Máximo de las entradas pesadas: solamente toma en consideración el valor de


entrada más fuerte, previamente multiplicado por su peso correspondiente.

con j = 1, 2, …, n

Página 50
Instituto Politécnico Nacional

Función de activación (activation function)


Una neurona biológica puede estar activa (excitada) o inactiva (no excitada); es decir,
que tiene un “estado de activación”. Las neuronas artificiales también tienen diferentes
estados de activación; algunas de ellas solamente dos, al igual que las biológicas, pero
otras pueden tomar cualquier valor dentro de un conjunto determinado.

La función activación calcula el estado de actividad de una neurona; transformando la


entrada global (menos el umbral, ) en un valor (estado) de activación, cuyo rango
normalmente va de (0 a 1) o de (–1 a 1). Esto es así, porque una neurona puede estar
totalmente inactiva (0 o –1) o activa (1).

La función activación, es una función de la entrada global ( ) menos el umbral ( ).


Las funciones de activación más comúnmente utilizadas se detallan a continuación:

1) Función lineal:

Con Figura 4.4: función de activación lineal.

Los valores de salida obtenidos por medio de esta función de activación serán:
a·( - ), cuando el argumento de ( - ) esté comprendido dentro del rango (-
1/a, 1/a). Por encima o por debajo de esta zona se fija la salida en 1 o –1,
respectivamente. Cuando a = 1 (siendo que la misma afecta la pendiente de la gráfica),
la salida es igual a la entrada.

2) Función sigmoidea:

Con

Figura 4.5: función de activación sigmoidea.

Los valores de salida que proporciona esta función están comprendidos dentro de un
rango que va de 0 a 1. Al modificar el valor de g se ve afectada la pendiente de la
función de activación.

Página 51
Instituto Politécnico Nacional

3) Función tangente hiperbólica:

Con

Figura 4.5: función de activación tangente


hiperbólica.

Los valores de salida de la función tangente hiperbólica están comprendidos dentro de


un rango que va de -1 a 1. Al modificar el valor de g se ve afectada la pendiente de la
función de activación.

Para explicar porque se utilizan estas funciones de activación se suele emplear la


analogía a la aceleración de un automóvil. Cuando un auto inicia su movimiento
necesita una potencia elevada para comenzar a acelerar. Pero al ir tomando velocidad,
este demanda un menor incremento de dicha potencia para mantener la aceleración. Al
llegar a altas velocidades, nuevamente un amplio incremento en la potencia es necesario
para obtener una pequeña ganancia de velocidad. En resumen, en ambos extremos del
rango de aceleración de un automóvil se demanda una mayor potencia para la
aceleración que en la mitad de dicho rango.

Función de salida (output function).


El último componente que una neurona necesita es la función de salida. El valor
resultante de esta función es la salida de la neurona i ( ); por ende, la función de
salida determina que valor se transfiere a las neuronas vinculadas. Si la función de
activación está por debajo de un umbral determinado, ninguna salida se pasa a la
neurona subsiguiente. Normalmente, no cualquier valor es permitido como una entrada
para una neurona, por lo tanto, los valores de salida están comprendidos en el rango [0,
1] o [-1, 1]. También pueden ser binarios {0, 1} o {-1, 1}.

Dos de las funciones de salida más comunes son:


 Ninguna: este es el tipo de función más sencillo, tal que la salida es la misma
que la entrada. Es también llamada función identidad.

 Binaria:

MECANISMOS DE APRENDIZAJE.
Una red neuronal debe aprender a calcular la salida correcta para cada constelación
(arreglo o vector) de entrada en el conjunto de ejemplos. Este proceso de aprendizaje se
denomina: proceso de entrenamiento o acondicionamiento. El conjunto de datos (o

Página 52
Instituto Politécnico Nacional

conjunto de ejemplos) sobre el cual este proceso se basa es, por ende, llamado: conjunto
de datos de entrenamiento.
Si la topología de la red y las diferentes funciones de cada neurona (entrada, activación
y salida) no pueden cambiar durante el aprendizaje, mientras que los pesos sobre cada
una de las conexiones si pueden hacerlo; el aprendizaje de una red neuronal significa:
adaptación de los pesos.

En otras palabras el aprendizaje es el proceso por el cual una red neuronal modifica sus
pesos en respuesta a una información de entrada. Los cambios que se producen durante
el mismo se reducen a la destrucción, modificación y creación de conexiones entre las
neuronas. En los sistemas biológicos existe una continua destrucción y creación de
conexiones entre las neuronas. En los modelos de redes neuronales artificiales, la
creación de una nueva conexión implica que el peso de la misma pasa a tener un valor
distinto de cero. De la misma manera, una conexión se destruye cuando su peso pasa a
ser cero.

Durante el proceso de aprendizaje, los pesos de las conexiones de la red sufren


modificaciones, por lo tanto, se puede afirmar que este proceso ha terminado (la red ha
aprendido) cuando los valores de los pesos permanecen estables (d /dt = 0).

Un aspecto importante respecto al aprendizaje de las redes neuronales es el conocer


cómo se modifican los valores de los pesos, es decir, cuáles son los criterios que se
siguen para cambiar el valor asignado a las conexiones cuando se pretende que la red
aprenda una nueva información.

Hay dos métodos de aprendizaje importantes que pueden distinguirse:

a) Aprendizaje supervisado.
b) Aprendizaje no supervisado.

Otro criterio que se puede utilizar para diferenciar las reglas de aprendizaje se basa en
considerar si la red puede aprender durante su funcionamiento habitual o si el
aprendizaje supone la desconexión de la red, es decir, su inhabilitación hasta que el
proceso termine. En el primer caso, se trataría de un aprendizaje on line, mientras que el
segundo es lo que se conoce como off line.

Cuando el aprendizaje es off line, se distingue entre una fase de aprendizaje o


entrenamiento y una fase de operación o funcionamiento, existiendo un conjunto de
datos de entrenamiento y un conjunto de datos de test o prueba, que serán utilizados en
la correspondiente fase. Además, los pesos de las conexiones permanecen fijos después
que termina la etapa de entrenamiento de la red. Debido precisamente a su carácter
estático, estos sistemas no presentan problemas de estabilidad en su funcionamiento.
Una generalización de la fórmula o regla para decir los cambios en los pesos es la
siguiente:

Peso Nuevo = Peso Viejo + Cambio de Peso

Matemáticamente esto es:

Página 53
Instituto Politécnico Nacional

donde t hace referencia a la etapa de aprendizaje,


al peso nuevo y al peso viejo.

Aprendizaje supervisado.
El aprendizaje supervisado se caracteriza porque el proceso de aprendizaje se realiza
mediante un entrenamiento controlado por un agente externo (supervisor, maestro) que
determina la respuesta que debería generar la red a partir de una entrada determinada. El
supervisor controla la salida de la red y en caso de que ésta no coincida con la deseada,
se procederá a modificar los pesos de las conexiones, con el fin de conseguir que la
salida obtenida se aproxime a la deseada.

En este tipo de aprendizaje se suelen considerar, a su vez, tres formas de llevarlo a cabo,
que dan lugar a los siguientes aprendizajes supervisados:

1) Aprendizaje por corrección de error.


2) Aprendizaje por refuerzo.
3) Aprendizaje estocástico.

Aprendizaje por corrección de error.


Consiste en ajustar los pesos de las conexiones de la red en función de la diferencia
entre los valores deseados y los obtenidos a la salida de la red, es decir, en función del
error cometido en la salida.

Un ejemplo de este tipo de algoritmos lo constituye la regla de aprendizaje del


Perceptron, utilizada en el entrenamiento de la red del mismo nombre que desarrolló
Rosenblatt en 1958 [Rosenblatt 58]. Esta es una regla muy simple, para cada neurona en
la capa de salida se le calcula la desviación a la salida objetivo como el error, . El cual
luego se utiliza para cambiar los pesos sobre la conexión de la neurona precedente. El
cambio de los pesos por medio de la regla de aprendizaje del Perceptron se realiza
según la siguiente regla:

donde: es la salida deseada/objetivo de la neurona de salida la


desviación objetivo de la neurona y el aprendizaje.

La salida de la neurona ( ) se utiliza, porque este valor influye en la entrada


global y, por ende, en la activación y luego en la salida de la neurona . Esto es
semejante a un “efecto en cadena”. Ver Figura 5.2

Figura 5.2: influencia de la salida de la neurona en la entrada de la neurona .

Página 54
Instituto Politécnico Nacional

Otro algoritmo muy conocido y que pertenece a esta clasificación es la regla de


aprendizaje Delta o regla del mínimo error cuadrado (LMS Error: Least Mean Squared
Error), que también utiliza la desviación a la salida objetivo, pero toma en consideración
a todas las neuronas predecesoras que tiene la neurona de salida. Esto permite
cuantificar el error global cometido en cualquier momento durante el proceso de
entrenamiento de la red, lo cual es importante, ya que cuanto más información se tenga
sobre el error cometido, más rápido se puede aprender. Luego el error calculado ( ) es
igualmente repartido entre las conexiones de las neuronas predecesoras.

Por último se debe mencionar la regla de aprendizaje de propagación hacia atrás o de


backpropagation, también conocido como regla LMS multicapa, la cual es una
generalización de la regla de aprendizaje Delta. Esta es la primer regla de aprendizaje
que permitió realizar cambios sobre los pesos en las conexiones de la capa oculta.

Aprendizaje por refuerzo.


Se trata de un aprendizaje supervisado, más lento que el anterior, que se basa en la idea
de no disponer de un ejemplo completo del comportamiento deseado, es decir, de no
indicar durante el entrenamiento exactamente la salida que se desea que proporcione la
red ante una determinada entrada.

En el aprendizaje por refuerzo la función del supervisor se reduce a indicar mediante


una señal de refuerzo si la salida obtenida en la red se ajusta a la deseada (éxito = +1 o
fracaso = -1), y en función de ello se ajustan los pesos basándose en un mecanismo de
probabilidades. Se podría decir que en este tipo de aprendizaje la función del supervisor
se asemeja más a la de un crítico (que opina sobre la respuesta de la red) que a la de un
maestro (que indica a la red la respuesta concreta que debe generar), como ocurría en el
caso de supervisión por corrección del error.

Aprendizaje estocástico.
Consiste básicamente en realizar cambios aleatorios en los valores de los pesos de las
conexiones de la red y evaluar su efecto a partir del objetivo deseado y de distribuciones
de probabilidad.

En el aprendizaje estocástico se suele hacer una analogía en términos termodinámicos,


asociando a la red neuronal con un sólido físico que tiene cierto estado energético. En el
caso de la red, la energía de la misma representaría el grado de estabilidad de la red, de
tal forma que el estado de mínima energía correspondería a una situación en la que los
pesos de las conexiones consiguen que su funcionamiento sea el que más se ajusta al
objetivo deseado.

Según lo anterior, el aprendizaje consistiría en realizar un cambio aleatorio de los


valores de los pesos y determinar la energía de la red (habitualmente la función energía
es una función de Liapunov). Si la energía es menor después del cambio, es decir, si el
comportamiento de la red se acerca al deseado, se acepta el cambio; si, por el contrario,
la energía no es menor, se aceptaría el cambio en función de una determinada y
preestablecida distribución de probabilidades.

Página 55
Instituto Politécnico Nacional

Aprendizaje no supervisado.
Las redes con aprendizaje no supervisado (también conocido como autosupervisado) no
requieren influencia externa para ajustar los pesos de las conexiones entre sus neuronas.
La red no recibe ninguna información por parte del entorno que le indique si la salida
generada en respuesta a una determinada entrada es o no correcta.

Estas redes deben encontrar las características, regularidades, correlaciones o categorías


que se puedan establecer entre los datos que se presenten en su entrada.

Existen varias posibilidades en cuanto a la interpretación de la salida de estas redes, que


dependen de su estructura y del algoritmo de aprendizaje empleado.

En algunos casos, la salida representa el grado de familiaridad o similitud entre la


información que se le está presentando en la entrada y las informaciones que se le han
mostrado hasta entonces (en el pasado). En otro caso, podría realizar una clusterización
(clustering) o establecimiento de categorías, indicando la red a la salida a qué categoría
pertenece la información presentada a la entrada, siendo la propia red quien debe
encontrar las categorías apropiadas a partir de las correlaciones entre las informaciones
presentadas.

En cuanto a los algoritmos de aprendizaje no supervisado, en general se suelen


considerar dos tipos, que dan lugar a los siguientes aprendizajes:

1) Aprendizaje hebbiano.
2) Aprendizaje competitivo y comparativo.

Aprendizaje hebbiano.
Esta regla de aprendizaje es la base de muchas otras, la cual pretende medir la
familiaridad o extraer características de los datos de entrada. El fundamento es una
suposición bastante simple: si dos neuronas y toman el mismo estado
simultáneamente (ambas activas o ambas inactivas), el peso de la conexión entre ambas
se incrementa.

Las entradas y salidas permitidas a la neurona son: {-1, 1} o {0, 1} (neuronasbinarias).


Esto puede explicarse porque la regla de aprendizaje de Hebb se originó a partir de la
neurona biológica clásica, que solamente puede tener dos estados: activa o inactiva.

Aprendizaje competitivo y comparativo.


Se orienta a la clusterización o clasificación de los datos de entrada. Como característica
principal del aprendizaje competitivo se puede decir que, si un patrón nuevo se
determina 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. Si el patrón de
entrada se determinó que no pertenece a ninguna de las clases reconocidas
anteriormente, entonces la estructura y los pesos de la red neuronal serán ajustados para
reconocer la nueva clase.

Página 56
Instituto Politécnico Nacional

TOPOLOGÍA DE LAS REDES NEURONALES


La topología o arquitectura de una red neuronal consiste en la organización y
disposición de las neuronas en la misma, formando capas o agrupaciones de neuronas
más o menos alejadas de la entrada y salida de dicha red. En este sentido, los parámetros
fundamentales de la red son: el número de capas, el número de neuronas por capa, el
grado de conectividad y el tipo de conexiones entre neuronas.

Redes monocapa.
En las redes monocapa, se establecen conexiones entre las neuronas que pertenecen a la
única capa que constituye la red. Las redes monocapas se utilizan generalmente en
tareas relacionadas con lo que se conoce como autoasociación (regenerar información
de entrada que se presenta a la red de forma incompleta o distorsionada).

Redes multicapa.
Las redes multicapas son aquellas que disponen de un conjunto de neuronas agrupadas
en varios (2, 3, etc.) niveles o capas. En estos casos, una forma para distinguir la capa a
la que pertenece una neurona, consistiría en fijarse en el origen de las señales que recibe
a la entrada y el destino de la señal de salida. Normalmente, todas las neuronas de una
capa reciben señales de entrada desde otra capa anterior (la cual está más cerca a la
entrada de la red), y envían señales de salida a una capa posterior (que está más cerca a
la salida de la red). A estas conexiones se las denomina conexiones hacia adelante o
feedforward.

Sin embargo, en un gran número de estas redes también existe la posibilidad de conectar
la salida de las neuronas de capas posteriores a la entrada de capas anteriores; a estas
conexiones se las denomina conexiones hacia atrás o feedback.

Estas dos posibilidades permiten distinguir entre dos tipos de redes con múltiples capas:
las redes con conexiones hacia adelante o redes feedforward, y las redes que disponen
de conexiones tanto hacia adelante como hacia atrás o redes feedforward/feedback.

Conexión entre neuronas.


La conectividad entre los nodos de una red neuronal está relacionada con la forma en
que las salidas de las neuronas están canalizadas para convertirse en entradas de otras
neuronas. La señal de salida de un nodo puede ser una entrada de otro elemento de
proceso, o incluso ser una entrada de sí mismo (conexión autorrecurrente).

Cuando ninguna salida de las neuronas es entrada de neuronas del mismo nivel o de
niveles precedentes, la red se describe como de conexión hacia delante (ver Figura 4.1).
Cuando las salidas pueden ser conectadas como entradas de neuronas de niveles previos
o del mismo nivel, incluyéndose ellas mismas, la red es de conexión hacia atrás.

Las redes de propagación hacia atrás que tienen lazos cerrados son llamadas: sistemas
recurrentes.

Página 57
Instituto Politécnico Nacional

Redes de propagación hacia atrás (backpropagation).


El nombre de backpropagation resulta de la forma en que el error es propagado hacia
atrás a través de la red neuronal, en otras palabras el error se propaga hacia atrás desde
la capa de salida. Esto permite que los pesos sobre las conexiones de las neuronas
ubicadas en las capas ocultas cambien durante el entrenamiento.

El cambio de los pesos en las conexiones de las neuronas además de influir sobre la
entrada global, influye en la activación y por consiguiente en la salida de una neurona.
Por lo tanto, es de gran utilidad considerar las variaciones de la función activación al
modificarse el valor de los pesos. Esto se llama sensibilidad de la función activación, de
acuerdo al cambio en los pesos.

Estructura de la Red Hopfield.


La Red Hopfield es recurrente y completamente interconectada. Funciona como una
memoria asociativa no lineal, que puede almacenar internamente patrones presentados
de forma incompleta o con ruido. De esta forma puede ser usada como una herramienta
de optimización; también se han utilizado en aplicaciones de segmentación y
restauración de imágenes y optimización combinatoria.

La Red Hopfield consta de un número de neuronas simétrica e íntegramente conectadas,


como ya se mencionó anteriormente. Esto significa que si existe una conexión desde la
neurona a la neurona , también existe la conexión desde a ; ambas exhibendo
el mismo peso ( = ). Vale aclarar que la conexión de una neurona con sí misma
no está permitida.

El conjunto permitido de valores de entrada y salida es {0, 1} (o en alguna oportunidad


{-1, 1}); o sea, es un conjunto binario. De esta manera todas las neuronas en una Red
Hopfield son binarias, tomando solamente uno de los dos estados posibles: activo (1) o
inactivo (-1 o 0).

Las Redes Hopfield se emplean para reconocer patrones. Después que el aprendizaje
haya llegado a su fin, la red neuronal debe ser capaz de dar una salida correcta para cada
patrón de entrada dado, aun cuando este sea ruidoso.

La clave del aprendizaje Hopfield es que si un patrón que tiene que ser aprendido se
conoce, los pesos sobre cada conexión de la red neuronal pueden ser calculados. En esta
circunstancia, solamente el estado de las neuronas cambia durante el proceso de
aprendizaje. Este cálculo garantiza que cada patrón aprendido corresponda a un mínimo
de la función energía.

Es importante entender que para este tipo de redes la definición de aprendizaje es


diferente al dado anteriormente, donde aprendizaje significaba simplemente la
adaptación de los pesos. En una Red Hopfield los pesos se pueden calcular y se
mantienen fijos durante el aprendizaje de los patrones. Solamente cambia el estado de
las neuronas.

Página 58
Instituto Politécnico Nacional

Para calcular el peso de una conexión cualquiera, (y por simetría para la conexión
), en una Red Hopfield se utiliza la siguiente ecuación:

siendo Q el número de patrones y la entrada a la neurona .

Generalmente es aconsejable trabajar con esta ecuación cuando los patrones que se han
de aprender no son muy semejantes unos a otros, y si el número de ceros y unos son
similares para todos los patrones. Con respecto al número de ceros y unos, el umbral de
cada neurona puede utilizarse para regular esto, distinguiéndose así dos casos posibles:

a) Si hay más 0s que 1s el umbral tiene que disminuirse, porque que las neuronas
tienen una probabilidad más alta para hacerse inactivas que para hacerse activas.
b) Si hay más 1s que 0s el umbral tiene que incrementarse, porque las neuronas
tienen una probabilidad más alta para hacerse activas que para hacerse inactivas.

PRINCIPALES APLICACIONES
Las redes neuronales pueden utilizarse en un gran número y variedad de aplicaciones,
tanto comerciales como militares.

Se pueden desarrollar redes neuronales en un periodo de tiempo razonable, con la


capacidad de realizar tareas concretas mejor que otras tecnologías. Cuando se
implementan mediante hardware (redes neuronales en chips VLSI), presentan una alta
tolerancia a fallos del sistema y proporcionan un alto grado de paralelismo en el
procesamiento de datos. Esto posibilita la inserción de redes neuronales de bajo coste en
sistemas existentes y recientemente desarrollados.

Hay muchos tipos diferentes de redes neuronales; cada uno de los cuales tiene una
aplicación particular más apropiada. Algunas aplicaciones comerciales son:

 Biología:
- Aprender más acerca del cerebro y otros sistemas.
- Obtención de modelos de la retina.
 Empresa:
- Evaluación de probabilidad de formaciones geológicas y petrolíferas.
- Identificación de candidatos para posiciones específicas.
- Explotación de bases de datos.
- Optimización de plazas y horarios en líneas de vuelo.
-Optimización del flujo del tránsito controlando convenientemente la
temporización de los semáforos.

Página 59
Instituto Politécnico Nacional

- Reconocimiento de caracteres escritos.


- Modelado de sistemas para automatización y control.
 Medio ambiente:
- Analizar tendencias y patrones.
- Previsión del tiempo.
 Finanzas:
- Previsión de la evolución de los precios.
- Valoración del riesgo de los créditos.
- Identificación de falsificaciones.
- Interpretación de firmas.
 Manufacturación:
- Robots automatizados y sistemas de control (visión artificial y sensores de
presión, temperatura, gas, etc.).
- Control de producción en líneas de procesos.
- Inspección de la calid ad.
 Medicina:
- Analizadores del habla para ayudar en la audición de sordos profundos.
- Diagnóstico y tratamiento a partir de síntomas y/o de datos analíticos
(electrocardiograma, encefalogramas, análisis sanguíneo, etc.).
- Monitorización en cirugías.
- Predicción de reacciones adversas en los medicamentos.
- Entendimiento de la causa de los ataques cardíacos.
 Militares:
- Clasificación de las señales de radar.
- Creación de armas inteligentes.
- Optimización del uso de recursos escasos.
- Reconocimiento y seguimiento en el tiro al blanco.

La mayoría de estas aplicaciones consisten en realizar un reconocimiento de patrones,


como ser: buscar un patrón en una serie de ejemplos, clasificar patrones, completar una
señal a partir de valores parciales o reconstruir el patrón correcto partiendo de uno
distorsionado. Sin embargo, está creciendo el uso de redes neuronales en distintos tipos
de sistemas de control.

Desde el punto de vista de los casos de aplicación, la ventaja de las redes neuronales
reside en el procesado paralelo, adaptativo y no lineal.

El dominio de aplicación de las redes neuronales también se lo puede clasificar de la


siguiente forma: asociación y clasificación, regeneración de patrones, regresión y
generalización, y optimización.

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
holográficas, asociativas o regenerativas.
Página 60
Instituto Politécnico Nacional

 Asociación: de especial interés son las dos clases de asociación:


autoasociación y heteroasociación. Como ya se mencionó en el apartado 6.8, el
problema de la autoasociación es recuperar un patrón enteramente, dada una
información parcial del patrón deseado. La heteroasociación es recuperar un
conjunto de patrones B, dado un patrón de ese conjunto. Los pesos en las redes
asociativas son a menudo predeterminados basados en la regla de Hebb.
Normalmente, la autocorrelación del conjunto de patrones almacenado
determina los pesos en las redes autoasociativas.
Por otro lado, la correlación cruzada de muchas parejas de patrones se usa para
determinar los pesos de la red de heteroasociación.

 Clasificación no Supervisada: para esta aplicación, los pesos sinápticos de la red


son entrenados por la regla de aprendizaje no supervisado, esto es, la red adapta
los pesos y verifica el resultado basándose únicamente en los patrones de
entrada.

 Clasificación Supervisada: esta clasificación adopta algunas formas del criterio


de interpolación o aproximación. En muchas aplicaciones de clasificación, por
ejemplo, reconocimiento de voz, los datos de entrenamiento consisten de pares
de patrones de entrada y salida. En este caso, es conveniente adoptar las redes
Supervisadas, como las bien conocidas y estudiadas redes de retropropagación.
Este tipo de redes son apropiadas para las aplicaciones que tienen una gran
cantidad de clases con límites de separación complejos.

Regeneración de patrones.
En muchos problemas de clasificación, una cuestión a solucionar es la recuperación de
información, esto es, recuperar el patrón original dada solamente una información
parcial. Hay dos clases de problemas: temporales y estáticos. El uso apropiado de la
información contextual es la llave para tener éxito en el reconocimiento.

Regeneración y generalización.
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 cuando ha sido
entrenado por un conjunto limitado de ejemplos.

Optimización.
Las Redes Neuronales son 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. Para algunas aplicaciones, la función de energía es fácilmente
deducible; pero en otras, sin embargo, se obtiene de ciertos criterios de coste y
limitaciones especiales.

Página 61
Instituto Politécnico Nacional

CAPÍTULO 7
EL AMBIENTE MATLAB

ADQUISICIÓN DE IMÁGENES, IMPORTACIÓN Y EXPORTACIÓN


Las herramientas de Matlab son un gran apoyo para las imágenes generadas por un
amplio rango de dispositivos, incluyendo cámaras digitales, satélites y sensores en el
aire, aparatos para imágenes médicas, microscopios, telescopios, y otros instrumentos
científicos. Es posible poder visualizar, analizar y procesar estas imágenes en algunos
tipos de datos, incluyendo simple o doble punto flotante y bits con signo o sin signo.
Existen algunos puntos importantes para importar o exportar imágenes dentro y fuera
del ambiente de MATLAB para su procesamiento. Las herramientas para la Adquisición
de Imágenes provee funciones para adquirís imágenes y video desde una PC compatible
hasta cámaras WEB.

Las Herramientas de Adquisición de


Imágenes nos permite conectar a un
amplio rango de hardware para la
adquisición de la imagen provisto por
diferentes marcas.

La base de datos permite el intercambio de imágenes entre MATLAB y un


ODBC/JBDC-compilador de base de datos. Con la herramienta “Visual Query Builder”
podemos ser capaces de almacenar imágenes sin la ayuda de saber o aprender SQL.
Obteniendo la habilidad de acesar, analizar y guardar las imágenes de una forma rápida
y sencilla dentro de MATLAB

Los soportes estándares de MATLAB para datos y video incluyen JPEG, TIFF, PNG,
HDF, HDF-EOS, FITS, Microsoft Excel, ASCII, y archivos binarios. Al igual que esto
seremos capaces de soportar formatos de imágenes multibanda como LANDSAT. Las
funciones de bajo nivel E/S nos permiten desarrollar rutinas para trabajar con cualquier
formato de dato.

Dentro del ambiente de Simulink, Los bloques para Video e Imagen soporta archivos
multimedia como son: AVI, MPEG, WMV, o cualquier tipo soportado por Windows
Media (en la plataforma de Windows únicamente). En lo que a procesamiento de
imágenes medicas se refiere, puede soportar formatos de archivos tales como DICOM.

Desarrollo de Algoritmos y Aplicaciones Utilizables


MATLAB es un producto con un amplio desarrollo en ambientes para la creación de
algoritmos y aplicaciones científicas y de ingeniería, nos provee de herramientas
poderosas para cada paso en el proceso. El alto nivel del lenguaje, el ambiente
interactivo para la programación, funciones matemáticas pre-construidas, editor y
depurador de herramientas, y opciones utilizables para contribuir a la reducción del
tiempo de desarrollo.

Página 62
Instituto Politécnico Nacional

Con MATLAB no se tienen que desarrollar algoritmos desde cero o trabajar con
interfaces complicadas para librerías externas, como es común con C y C++. Tú puedes
realizar algoritmos para el procesamiento de imágenes en MATLAB tal como se
expresan en su forma matemática. La mayor parte de algoritmos en el Toolbox de
procesamiento de imágenes son implementados dentro del lenguaje de MATLAB, lo
cual nos permite aprender de estos. En adición, nosotros podemos incorporar otros
algoritmos al toolbox de MathWorks, tal como Procesamiento de Señales, Wavelet,
Redes Neuronales y Estadística.

La construcción de algoritmos complejos y gráficos es sencilla con la herramienta


GUIDE (Graphical User Interface Development Environment), la cual nos permite
diseñar y modificar interfaces de usuario con una lista, menus pull-down, push buttons,
botones de radio y deslizadores, tanto en MATLAB como en controles de ActiveX.
Alternativamente, podemos crear la programación de GUIs haciendo uso de las
funciones de MATLAB.

Nosotros contamos con diferentes opciones para las aplicaciones. El compilador de


MATLAB permite la conversión automática del programa MATLAB a aplicaciones
auto-contenidas y componentes de software que forman parte del final de usuario. Las
aplicaciones y componentes creadas por medio del uso de los compiladores no requieren
correrse en MATLAB. El constructor MATLAB para COM permite una sencilla
conversión de los algoritmos de MATLAB a un Modelo de Objeto Común (COM) que
son accesibles para cualquier aplicación basada en COM.

GUIDE, interfaz grafica para el


usuario, permite diseños interactivos y
vistas graficas para la aplicación del
procesamiento de imágenes.

PRE- Y POST-PROCESAMIENTO DE IMÁGENES


El Toolbox de Procesamiento de Imágenes provee algoritmos estándares o de referencia
para las pre- y post- tareas de procesamiento que nos resolverán problemas frecuentes
en el sistema, tales como el ruido en la interface, el bajo rango dinámico, el mal
enfocamiento óptico, y la diferencia en la representación de color entre los dispositivos
de entrada y salida. El toolbox incluye:

 Algoritmo para el Realce de Imágenes, incluye ecualización del histograma,


tramo de decorrelación, y linear, mediano, o filtrado adaptivo.

Página 63
Instituto Politécnico Nacional

 Deblurring algorithms, incluye blind, Lucy-Richardson, Wiener, y filtros para la


regularización de la convolución, así como conversiones entre puntos de
propagación y funciones de transferencia ópticos.

 Transformación de Imágenes, incluyendo DCT, Radon, y fan-beam

 ICC-compliant color profile import and export

 Funciones de Conversión para Espacio de Colores para espacio de colores como


RGB, sRGB, YCrCb, XYZ, Lab, y HSV

Este ejemplo ilustra como la ecualización


del histograma y un filtro medio ajustan la
intensidad de una imagen. La imagen
original a la izquierda tiene un bajo
contraste, ruido sal y pimienta, hacienda
difícil visualizar los detalles. Los valores
de la intensidad de salida de la imagen a la
derecha son distribuidos a través del rango
y así el ruido es reducido.

TOOLBOX DE PROCESAMIENTO DE IMÁGENES


La estructura básica de datos en MATLAB es el arreglo, un conjunto ordenado para
elementos reales o complejos. Este objeto hace un complemento natural a la
representación de imágenes, conjunto ordenado de valores reales de color o intensidad.

La mayoría de las imágenes guardadas en MATLAB son arreglos en dos dimensiones


(como matrices), en el cual cada elemento de la matriz corresponde a un único pixel en
la imagen desplegada

Por ejemplo, en una imagen compuesta por 200 filas y 300 columnas de diferentes
puntos de colores podría ser guardada en MATLAB como una matriz de 200 por 300.
Algunas imágenes, como imágenes en color real, requieren un arreglo de tres
dimensiones, donde el primer plano en la tercera dimensión representa la intensidad del
pixel rojo, el segundo plano representa la intensidad del pixel verde, y el tercer plano
representa la intensidad del pixel azul. Esta convención realiza trabajos con imágenes en
MATLAB similar al trabajo con cualquier otro tipo de datos de matrices.

Coordenadas del pixel


Generalmente, el método más conveniente para expresar locaciones en una imagen es
usando las coordenadas del pixel. En este sistema de coordenadas, la imagen es tratada
como una cuadricula de elementos discretos, ordenadas de arriba abajo y de izquierda a
derecha, como se ilustra en la siguiente figura.

Página 64
Instituto Politécnico Nacional

Sistema de coordenadas del pixel.

Para las coordenadas del pixel, el primer componente r (la fila) se incrementa de forma
descendiente, mientras que el segundo componente c (la columna) se incrementa a la
derecha. Las coordenadas del pixel son valores completos y el rango varía entre 1 y la
longitud de las filas o columnas.

Esta es una correspondencia uno a uno entre las coordenadas del pixel y las coordenadas
de MATLAB usadas por la matriz. Esta correspondencia realiza la relación entre la
matriz de datos de imagen y la manera que la imagen es desplegada fácilmente para
entender. Por ejemplo, el dato para el pixel en la quita fila, segunda columna es
guardada en el elemento de la matriz [5,2].

Por ejemplo, el código MATLAB: I(2,15)

Regresa el valor del pixel de la fila 2, columna 15 de la imagen I.

Coordenadas espaciales
En el sistema de coordenadas del pixel, un pixel es tratado como una unidad discreta,
únicamente identificada por una simple par de coordenadas, como (5,2). Desde esta
perspectiva, una locación como lo es (5.3,2.2) no tiene significado alguno.

Para este momento, aunque, el uso de los pixeles se cree como un parche cuadrado. Para
esta perspectiva una localidad como lo es (5.3,2.2) es significativa, y es distinta de (5,2).
En este sistemas de coordenadas, locaciones en la imagen son posiciones en un plano, y
estas se describen en términos de x y y (no de r y c como en el sistema de coordenadas
del pixel). La siguiente figura ilustra el sistema de coordenadas espaciales usado para
las imágenes. Nótese que y incrementa hacia abajo.

Página 65
Instituto Politécnico Nacional

FUNCIONES BÁSICAS

Ayuda Realzada con DICOM


La función de dicomwrite puede ahora escribir datos en cualquier modalidad que pueda
ser leída por el dicomread. Nota, sin embargo, cuando se escriben datos en estas
modalidades, dicomwrite no verifica el dato o checa para considerar si la cantidad
correcta de datos se escribe.

El toolbox puede ahora leer y escribir metadatos privados, aunque cuando estos no esten
definidos en el diccionario de datos de DICOM. Cuando los metadatos privados no
están dentro del diccionario de datos, dicomread usa nombres genéricos para los campos
de los metadatos, más aun que los nombres descriptivos disponibles para las cualidades
definidas en el diccionario de los datos.

Puedes crear un diccionario encargado de los datos que contenga definiciones de tus
metadatos privados, usando la función dicomdict.

La función bwdist producelos resultados correctos para iamgenes muy grandes (tales
como 10000-a-5000).

La función dicomread provoca no usar mas el "Error usando nuevamente la forma" del
mensaje cuando leemos un archivo DICOM que contiene los datos y recubrimientos del
multiframe almacenados en los datos del pixel en el metadato.

La función dicomwrite puede ahora manejar correctamente cualidades de los datos con
VMs multiple (multiplicidad del valor).

La función del dicomwrite ahora produce los resultados correctos para el tipo de la
compresión de RLE (codificación de la funcionar-longitud) cuando el número de bits
por pixel es mayor que 8.

La función de im2col, cuando es llamada con el sintaxis im2col (1: N, [1 N]), ahora
vuelve un vector columna.

La función del imview, cuando es llamada con el imview del sintaxis (I, []), donde está
una imagen I constante, produce no mayor a un mensaje de alerta sobre un polinomio
gravemente condicionado.

La función del montage exhibe muestra una fila en blanco adicional al exhibir ciertos
múltiplos de imágenes.

La función poly2mask no posee errores grandes al intentar cerrar ciertos poligonos,


específicamente polígonos donde el último elemento del vector X no empareja al primer
elemento, x(1) ~= x(final), y el último elemento del vector Y empareja el primero, y(1)
== y(final), o viceversa.

La función del stretchlim ahora utiliza más compartimientos para alcanzar mejores
resultados para las imágenes de la entrada de la clase uint16 o dobles.

Página 66
Instituto Politécnico Nacional

Datos de Lectura y Escritura con la Compresión Sin Perdida JPEG


El toolbox ahora soporta lectura y escritura de datos que han sido comprimidos usando
la compresión sin perdida JPEG. Con la compresión sin perdida, se puede recuperar la
imagen original de su forma comprimida. La compresión sin perdida, sin embargo,
alcanza cocientes más bajos de la compresión que susu contrapartes, compresión lossy.

Usando las funciones imread o dicomread, es posible leer datos que han sido
comprimidos usando la compresión sin perdida JPEG.

Usando las funciones imwrite o dicomwrite, se pueden escribir datos a un archivo


usando la compresión sin perdida JPEG. Para la función imwrite, se puede especificar el
parámetro para el modo con el valor „sin perdida‟. Para la función dicomwrite, se
especifica el paramétro para el modo de compresión con el valor 'JPEG sin perdida'.

Leyendo los perfiles ICC encontrados en archivos TIFF


iccread puede leer perfiles ICC que se encuentran dentro de un archivo TIFF, si el
archivo TIFF contiene alguno. Los perfiles ICC contienen información que el sistema
para el administrador de color necesita para traducir datos de color entre los
dispositivos.

Para determinar si un archivo TIFF contiene un perfil ICC, hacemos uso de la función
imfinfo para recuperar la información acerca del archivo. Si los datos vueltos contienen
el campo ICCProfileOffset, el archivo contiene un perfil encajado ICC.

Leyendo y Escribiendo Datos de Color L*a*b*


La función imread puede leer datos de color usando el espacio de color de L*a*b* a
partir de un archivo TIFF. Los archivos TIFF pueden contener valores L*a*b* que son
en 8-bit or 16-bit codificaciones para CIELAB o en 8-bit o 16-bit codificaciones para
ICCLAB.

Si un archivo contiene 8-bit o 16-bit de datos de CIELAB, imread automáticamente


convierte el dato en uno de 8-bit or 16-bit codificado en ICCLAB. El dato de 8-bit o 16-
bit CIELAB no puede ser representado como un arreglo en MATLAB puesto que
contiene una combinación de valores con o sin signo.

La función imwrite puede escribir datos L*a*b* a un archivo usando la codificación de


8-bit o 16-bit de CIELAB o la codificación 8-bit o 16-bit de ICCLAB. Se puede
especificar el valor de la codificación del parámetro ColorSpace.

Arreglos de applycform
La función applycform no aplicaba algunos perfiles correctamente cuando la entrada de
color estaba en el espacio de color XYZ. Especificamente, los perfiles que contenían
una tabla de búsqueda de 8-bit o 16-bit que contenían una matríz de no-identidad "E" no
eran procesados correctamente por applycform.

La función applycform hace un correcto manejo de los perfiles Matríz/TRC que


contienen un solo factor gamma de la corrección. Previamente, las conversiones
siguientes e inversas fueron invertidas.

Página 67
Instituto Politécnico Nacional

Representando Imágenes Binarias


El toolbox regresa imágenes binarias como arreglos lógicos, haciendo uso del Nuevo
tipo de dato lógico.

Cambiando a funciones existentes

Función Descripción del cambio


circshift Mueve dentro de MATLAB
freqz2 Verifica la parte real en adición de la parte imaginaria
getnhood Regresa a un arreglo lógico
gray2ind Mayor eficiencia en el uso de memoria
Imfill Nueva sintaxis para escala de grises que no requiere el argumento
„holes‟. Esta opción se selecciona automáticamente.
imlincomb Acepta más de dos imágenes para entrada y es posible especificar la
clase de salida
immovie Parpadeo durante la creación de la película eliminada.
imtransform Interpolación linear y bicubica es más rápida.
ordfilt2 Usa un algoritmo diferente para imágenes binaria que improvisa
velocidad en el procesamiento para estas imágenes
roifilt2 Mayor eficiencia. La operación es únicamente para la región de interés,
no para toda la imagen.

Cambiando el tipo de datos de salida de imágenes binarias


Todas las funciones del Toolbox de procesamiento de imagenes que regresan una
imagen binaria ahora retornan una imagen binaria de clase lógica. En lanzamientos
previos, estas funciones regresaban imágenes binaria como una clase numérica con
banderas lógicas. El toolbox de procesamiento de imágenes usa la existencia de
banderas lógicas para identificar imágenes binarias.

Si la aplicación verifica el tipo de datos de las imágenes binarias regresado por la


función del Toolbox de procesamiento de imágenes, será necesario cambiar el código.
Nota: La clase lógica no es una clase numérica en MATLAB.

ANÁLISIS DE IMÁGENES
El Toolbox de Procesamiento de Imágenes provee un comprensible grupo de algoritmos
de referencia-estándar y herramientas graficas para las tareas del análisis de imágenes,
incluyendo:

 Funciones Estadísticas, tales como calcular la mala imagen o la desviación


estándar, desplegando el histograma de la imagen, y trazando un perfil de los
valores de su intensidad.

 Algoritmos de borde-detección, incluyendo Sobel, Prewitt, Roberts, Canny, y


Laplaciano de método Gaussiano.

Página 68
Instituto Politécnico Nacional

 Algoritmos de segmentación de imagen, incluyendo thresholding automático,


método de borde-base, y método de morfología-base tales como la
transformación de watershed

 Operadores Morfologicos, tal como dilatación, erosión, inundar-llenar, y


conectividad del pixel.

 Transformación Hough para detectar líneas y extraer segmentos de líneas


desde una imagen

 Funciones de medición, para la medición de las propiedades de las imágenes,


tales como el área de una región especifica, centro de masa, caja de limitación,
aspereza superficial y variación de color.

Una típica sesión usando MATLAB y las herramientas del Procesador de Imágenes
para el análisis de componentes conectados a una imagen con un fondo de una
intensidad no uniforme.

Visualización de Imágenes
El Toolbox de procesamiento de imágenes provee un ambiente integrado para la
exploración y despliegue de imágenes interactivas. Es posible cargar una imagen de un
archivo o desde el workspace de MATLAB, ajustar su contraste, examinar una región
de pixeles, ver la información de la imagen, haciendo unos del zoom, y seguir su
localización en una imagen grande usando la ventana de descripción. El ambiente de la
exhibición de la imagen es modular y abre, permitiendo modificar las herramientas para
proveer y adicionar lo necesario.

Corrigiendo la Iluminación No Uniforme


Haciendo uso de la imagen de una huella digtal, se ilustrara un ejemplo de cómo realzar
una imagen para corregir la iluminación no uniforme, entonces se hará uso de esta
imagen para identificar individualmente sus propiedades.

Página 69
Instituto Politécnico Nacional

Paso 1: Leyendo la imagen

I = imread('huella.png');
imshow(I)

Paso 2: Usando la abertura morfológica para estimar el fondo

Se hace uso de la función IMOPEN para estimar la iluminación del fondo.

background = imopen(I,strel('disk',15));
% Despliega la aproximación del fondo como una superficie
figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]);
set(gca,'ydir','reverse');

250

200

150

100

50

0
0

10 40
35
30
20 25
20
30 15
10
5
40 0

Página 70
Instituto Politécnico Nacional

Paso 3: Substrayendo el fondo de la imagen original

Desde que la imagen y el fondo son de clase uint8, se usa la función IMSUBTRACT
para substraer el fondo.

I2 = imsubtract(I,background);
imshow(I2)

Paso 4: Incrementando el contraste de la imagen

I3 = imadjust(I2);
imshow(I3);

Paso 5: Umbral de la imagen

Se crea una nueva imagen binaria por el umbral de ajuste de imagen.

level = graythresh(I3);
bw = im2bw(I3,level);
imshow(bw)

Página 71
Instituto Politécnico Nacional

Paso 6: Etiquetando objetos de la imagen

La función BWLABEL etiqueta todo componente conectado a la imagen binaria. La


precisión de los resultados depende de: el tamaño del objeto, la precisión de la
aproximación del fondo, si el parámetro de conectividad es el 4 u 8, si existen o no
objetos en contacto (en este caso esos serán etiquetados como un solo objeto).

[labeled,numObjects] = bwlabel(bw,4); % 4-conexiones

numObjects % Cuenta todos los distintos objetos de la imagen.

Paso 7: Examinando las etiquetas de la matriz

Cada objeto distinto es etiquetado con la misma unidad de valor.

rect = [105 125 10 10];


grain = imcrop(labeled,rect)

grain =

0 0 0 39 39 39 39 39 39 39 39
39 39 39 39 39 39 39 39 39 39 39
39 39 39 39 39 39 39 39 39 39 39
39 39 39 39 39 39 39 39 39 39 39
39 39 39 0 0 39 0 39 39 39 39
39 39 39 0 0 39 39 39 39 39 39
39 39 39 0 39 39 39 39 39 39 39
39 39 0 39 39 39 39 39 39 39 39
39 39 39 39 39 39 39 39 39 39 39
0 39 39 39 39 39 39 39 39 39 39
39 39 39 39 39 39 0 0 0 0 0

Paso 8: Observando todas las etiquetas de la matriz

Un buen camino para ver la matriz de etiquetas es desplegar la imagen indexada como
un pseudo-color. En la imagen de pseudo-color, el número que identifica cada objeto en
el mapa de la matriz de etiquetas tiene un color diferente asociado a la matriz de
colormap. Se usa LABEL2RGB para elegir colormap, el color de fondo, y como los
objetos en el mapa de matriz de etiquetas para los colores en el colormap.

RGB_label = label2rgb(labeled, @spring, 'c', 'shuffle');


imshow(RGB_label)

Página 72
Instituto Politécnico Nacional

Paso 9: Midiendo las propiedades de los objetos de la imagen

El comando REGIONPROPS mide los objetos o propiedades de la región en una


imagen y los retorna en arreglo de estructuras. Cuando se aplica a una imagen con
componentes etiquetados, este crea un elemento de estructura para cada componente.
Usando regionprops para crear un arreglo de estructura que contenta algunas
propiedades básicas para la imagen etiquetada.

graindata = regionprops(labeled,'basic')
graindata =
graindata =

193x1 struct array with fields:


Area
Centroid
BoundingBox

% Para buscar el área de los componentes etiquetados con 50s, se usa una notación en
punto para accesar al campo de área de los elementos 50 en el arreglo de estructura
graidata.
graindata(50).Area
ans =

203

Paso 10: Propiedades estadísticas de los objetos de la imagen

Creando un nuevo vector allgrains el cual contiene las medidas de cada objeto
allgrains = [graindata.Area];
max_area = max(allgrains) % Buscando el valor máximo del área para todos los
objetos.
max_area =

26399

Página 73
Instituto Politécnico Nacional

biggrain = find(allgrains==max_area) % Buscando el numero de objetos que se


encuentran en esta área.
biggrain =

39

mean(allgrains) % Buscando el valor para el área de los objetos.


ans =

200.2383

Paso 11: Creando un histograma para el área de grises

nbins = 20;
figure,hist(allgrains,nbins)

200

180

160

140

120

100

80

60

40

20

0
0 0.5 1 1.5 2 2.5 3
4
x 10

AMBIENTE GUI

Con los datos obtenidos se creo un ambiente gráfico para que el usuario tuviera la
posibilidad de hacer uso de este programa a través de un menú, dentro de este se listan
las posibles acciones a realizar, desde la simple visualización de la imagen hasta la
comparación con una base datos haciendo uso de una red neuronal. Los resultados de
muestras a continuación:

Página 74
Instituto Politécnico Nacional

 Pantalla de bienvenida

 Pantalla de menú

Página 75
Instituto Politécnico Nacional

 Seleccionar imagen para el reconocimiento

 Visualización de la imagen

Página 76
Instituto Politécnico Nacional

 Fondo de la imagen

 Imagen binarizada

Página 77
Instituto Politécnico Nacional

 Histograma de área de grises

 Visualizar filtro Gabor

Página 78
Instituto Politécnico Nacional

 Mejoramiento de la imagen

 Campo de orientación

Página 79
Instituto Politécnico Nacional

 Comparación de la imagen

Si la huella se encuentra dentro de la base de datos:

En caso contrario:

Página 80
Instituto Politécnico Nacional

 Terminar simulación

Página 81
Instituto Politécnico Nacional

JUSTIFICACIÓN ECONÓMICA

Existen varios sistemas existentes para el reconocimiento de huellas pero son realmente
costosos. Para la realización de este proyecto sólo fue necesario contar con una
computadora de escritorio, el software de matlab y nuestro trabajo intelectual, por la
realización del proyecto no genero un costo directo.

Si consideramos que actualmente en cualquier lugar contamos con una computadora de


escritorio sólo sería necesario adquirir los siguientes elementos:

ELEMENTOS NECESARIO PARA EL DESARROLLO DEL COSTO


PROTOTIPO

ESCÁNER PARA LECTURA DE HUELLA DACTILAR $500.00

LICENCIA DE MATLAB $3500.00

COSTO TOTAL $4000.00

Si agregamos $1000.00 como ganancias que se generaría por el trabajo empleado,


tendríamos a la venta un sistema de control de acceso dactilar, similar a los existentes
actualmente.

COSTO DE UN SISTEMA A LA VENTA COSTO DEL SISTEMA


ACUTUALMENTE PROPUESTO

1100 € 35 €

$ 16500.00 $5000.00

Por lo que podemos observar el costo de nuestro sistema es mucho menor a los
existentes actualmente, esto nos permitiría que fuera más fácil de adquirir y ayudaría a
implementar sistemas de acceso más seguros.

Página 82
Instituto Politécnico Nacional

TRABAJO A FUTURO

Para el trabajo a futuro sería adecuado realizar un escáner para la lectura de las huellas
dactilares, así como también realizar una mejora al software y poder hacerlo más
amigable a los usuarios. Además que este mismo software nos permitiría realizar la
identificación también con el iris o la palma de la mano.

Una implementación seria tanto para los sistemas de seguridad como para el empleo de
la solución de crímenes en las agencias de investigaciones.

Página 83
Instituto Politécnico Nacional

CONCLUSIONES

La importancia actual de tener mejores sistemas de seguridad, nos ha llevado a buscar


nuevas alternativas. El control de seguridad empleando técnicas biométricas es un
sistema cada día más usado y seguro, las ventajas que ofrecen estos sistemas es que
están basados en características propias del individuo y cada individuo cuenta con
características especificas que lo hacen ser único. Este sistema no recurren al uso de
claves personalizadas, tarjetas, etc., los cuales son fácilmente de olvidar o violables.

El primero paso a realizar es adquirir las imágenes biométricas, para así poder realizar
el análisis de ella y poder extraer las características necesarias para realizar el control
adecuado. Para el caso de este trabajo tomamos una base de datos existente para así
poder minimizar los costos del proyecto, dichas bases de datos se encuentran
disponibles para que se continúen las investigaciones para proponer nuevos software,
además que en este trabajo nos enfocamos al desarrollo de un nuevo software
específicamente.

Cuando se realiza la adquisición de la imagen esta puede presentar varios problemas en


cuanto a su contraste, brillo o puede estar movida, por lo cuál es necesario realizar un
procesamiento de la imagen, lo que nos permitirá manipular y poder corregir dichas
imperfecciones y realizar mejoras a esta misma.

Para el procesamiento digital de imágenes utilizamos el toolbox de procesamiento


digital de imágenes de matlab, ya que es fácil de utilizar y cuenta con las herramientas
necesarias para el procesamiento de la imagen.

Una vez que ya realizamos la mejora de la imagen, se realizar la extracción de las


características de cada una de las imágenes tomadas, para que se puedan tomar los
parámetros que se van a utilizar para la evaluación dentro del sistema. Para el caso del
análisis de la huella digital es necesario considerar las identificaciones de las líneas y de
las terminaciones existentes de cada uno.

Una vez que se tiene procesada la imagen y se tienen adquiridas las características
propias de cada individuo, utilizamos una red neuronal para realizar la comparación con
nuestra base de datos, el cuál debe de tener almacenado los diferentes patrones de cada
imagen. Se decidió utilizar una red neuronal porque nos permitía realizar una
comparación muy aproximada de los datos existentes en nuestro sistema además de
tener un menor rango de error de aproximadamente un 3%. La red neuronal que
utilizamos fue una red estática, debido a que esta ya fue entrenada para obtener los
valores que utilizaremos los cuales estarán contenidos en una base de datos (sistema)
específico.

Página 84
Instituto Politécnico Nacional

GLOSARIO DE TERMINOS EN INGLES

*Arch: Arco

* Rigde Ending: Final Cresta

* Rigde Bifurcation: Bifurcación de la Cresta

*Tented Arch: Arco Pronunciado

*Right Loop: Bucle hacia la Derecha

*Left Loop: Bucle hacia la Izquierda

*Twin Loop: Doble Bucle

* Whorlt: Remolino

*fingercode: Código de la huella

*Smart Card: Tarjeta Inteligente

*Hardware:Dispositivos

*Software: Programa

*Scanner: Escaner

* Precise Biometrics: Biometría Precisa

* inkless

* off-line: Fuera de Línea

* Region of Interest: Región de Interés

* enhancement: Aumento

* morphological thinning: Adelgazamiento Morfológico

* Hit-miss

* Skeleton: Esqueleto

* End points: Fin de Señales

* Feature extraction: Representación de la Extracción.

*test: Prueba

* matching: Emparejar

Página 85
Instituto Politécnico Nacional

* Live Recognition :Reconocimiento en Vida

* Liveness Check

* False Contouring: Contorno Falso

Página 86
Instituto Politécnico Nacional

MEDIOS DE INFORMACION

 Redes Neuronales: Conceptos fundamentales y aplicaciones a control


automático. Edgar Nelson Sánchez Camperos, Alma Yolanda Alanis García. Ed.
Prentice Hall. Madrid, España. 2006.

 Neural Networks a Comprehensive fundation. Simon Hyking. Ed. Hamilton


Printing Company. United Status of America. 1994.

 Tecnologías Biométricas aplicadas a la seguridad. Marino Tapiador Mateos,


Juan A. Sigüenza Pizano. Ed. Alfaomega. México DF. Septiembre 2005.

 Redes de Neuronas Artificiales: Un enfoque Práctico. Pedro Isasi Viñuela, Inés


Gálvan León. Ed. Pearson Prentice Hall. Madrid, España. 2004.

 Tratamiento Digital de Imágenes. González, R.C. , Woods, R. E. Ed.Addison-


Wesley Publishing Co, Reading. Washington. !996.

Página 87
Instituto Politécnico Nacional

APENDICE
DESARROLLO DE LA APLICACIÓN

function presentacion

clear,clc,cla,close all

figdiag=figure('Units','Normalized','Position',[0.0725 0.0725 0.57 0.57], …

'Number','off','Name','Comunicaciones y Electrónica', ...

'Menubar','none','color',[0 0 0]);

axes('Units','Normalized','Position',[0 0 1 1]);

[x,map]=imread('imagen.jpg','jpg');

image(x),colormap(map),axis off,hold on

text(220,50,'Procesamiento Digital de','Fontname','Arial', ...

'Fontsize',20,'Fontangle','Italic','Fontweight','Bold','color',[0 1 1]);

text(50,110,'Imágenes Biométricas Aplicado al Control','Fontname', ...

'Arial','Fontsize',20,'Fontangle','Italic','Fontweight','Bold', 'color',[0 1 1]);

text(210,170,'de Sistemas de Seguridad','Fontname','Arial', ...

'Fontsize',20,'Fontangle','Italic','Fontweight','Bold','color',[0 1 1]);

text(50,280,'Presentan:','Fontname','Comic Sans MS','Fontangle', ...

'Italic','Fontweight','Bold','Fontsize',14,'color',[1 1 1]);

text(120,330,'Lozada Méndez Cynthia Arlette','Fontname','Comic Sans MS', ...

'Fontangle','Italic','Fontweight','Bold','Fontsize',14,'color',[1 1 1]);

text(120,380,'Luis Pineda Loyda Florencia','Fontname','Comic Sans MS', ...

'Fontangle','Italic','Fontweight','Bold','Fontsize',14,'color',[1 1 1]);

botok=uicontrol('Style','pushbutton', ...

'Units','normalized', ...

'Position',[.84 .03 .12 .05], ...

'String','CONTINUAR',...

'Callback','clear all; close all;clc; proyecto;');

Página 88
Instituto Politécnico Nacional

function varargout = proyecto(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @proyecto_OpeningFcn, ...

'gui_OutputFcn', @proyecto_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

function proyecto_OpeningFcn(hObject, eventdata, handles, varargin)

background = imread('escudo.jpg');

imshow(background);

background = imread('escudo1.jpg');

imshow(background);

handles.output = hObject;

function varargout = proyecto_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

Página 89
Instituto Politécnico Nacional

function pushbutton10_Callback(hObject, eventdata, handles)

function pushbutton21_Callback(hObject, eventdata, handles)

function pushbutton04_Callback(hObject, eventdata, handles)

function pushbutton05_Callback(hObject, eventdata, handles)

I = imread(handles.direccion);

I2 = imsubtract(I,handles.background);

I3 = imadjust(I2);

level = graythresh(I3);

bw = im2bw(I3,level);

imshow(bw)

handles.bw=bw;

function pushbutton24_Callback(hObject, eventdata, handles)

function pushbutton07_Callback(hObject, eventdata, handles)

graindata = regionprops(handles.labeled,'basic')

graindata(50).Area

allgrains = [graindata.Area];

max_area = max(allgrains) % Buscando el valor máximo del área para todos los granos.

biggrain = find(allgrains==max_area)

mean(allgrains

nbins = 20;

hist(allgrains,nbins)

Página 90
Instituto Politécnico Nacional

function pushbutton08_Callback(hObject, eventdata, handles)

I = imread(handles.direccion);

Iad = imadjust(I);

imshow(Iad);

function pushbutton09_Callback(hObject, eventdata, handles)

I=imread('handles.direccion');

I2=imread('110_4.tif');

I3=[I I2];

i=0;

if I3(:,1:300)==I

imshow(I)

end

for j=1:512

for i=1:256

if I3[j,i]==I

imshow(I3);

else

input('NO ENCONTRADO');

end

end

end

function pushbutton02_Callback(hObject, eventdata, handles)

I = imread(handles.direccion);

imshow(I);

Página 91
Instituto Politécnico Nacional

function pushbutton29_Callback(hObject, eventdata, handles)

function pushbutton06_Callback(hObject, eventdata, handles)

[labeled,numObjects] = bwlabel(handles.bw,4);

handles.labeled=labeled;

numObjects

rect = [105 125 10 10];

grain = imcrop(labeled,rect)

RGB_label = label2rgb(labeled, @spring, 'c', 'shuffle');

imshow(RGB_label);

function axes2_ButtonDownFcn(hObject, eventdata, handles)

function close_pushbutton_Callback(hObject, eventdata, handles)

pos_size = get(handles.figure1,'Position');

user_response = final('Title','Confirm Close');

switch user_response

case {'No'}

case 'Si'

delete(handles.figure1)

end

function pushbutton01_Callback(hObject, eventdata, handles)

[FileName Path]=uigetfile({'*.jpg;*.bmp;*.tif'},'Abrir Imagen');

if isequal(FileName,0)

return

Página 92
Instituto Politécnico Nacional

else

imag=imread(strcat(Path,FileName));

end

handles.direccion=strcat(Path,FileName);

function pushbutton03_Callback(hObject, eventdata, handles)

I = imread(handles.direccion);

background = imopen(I,strel('disk',15));

handles.background=background;

guidata(hObject,handles)

axes(handles.axes2)

axis off;

surf(double(background(1:8:end,1:8:end))),zlim([0 255]);

set(gca,'ydir','reverse');

Página 93

También podría gustarte