INSTITUTO POLITÉCNICO NACIONAL -...

95
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA TESIS Pro Pro Pro Procesamiento Digital de Imágenes cesamiento Digital de Imágenes cesamiento Digital de Imágenes cesamiento Digital de Imágenes Biométricas Aplicado al Control de Biométricas Aplicado al Control de Biométricas Aplicado al Control de Biométricas Aplicado al Control de Sistemas de Seguridad Sistemas de Seguridad Sistemas de Seguridad 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

Transcript of INSTITUTO POLITÉCNICO NACIONAL -...

Page 1: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

INSTITUTO POLITÉCNICO NACIONAL

ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA

TESIS

ProProProProcesamiento Digital de Imágenes cesamiento Digital de Imágenes cesamiento Digital de Imágenes cesamiento Digital de Imágenes

Biométricas Aplicado al Control de Biométricas Aplicado al Control de Biométricas Aplicado al Control de Biométricas Aplicado al Control de

Sistemas de SeguridadSistemas de SeguridadSistemas de SeguridadSistemas 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

Page 2: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

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

Page 3: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 1

ÍNDICE

INTRODUCCIÓN

OBJETIVOS

CAPÍTULO 1.- PLANTEAMIENTO DEL PROBLEMA

• ¿POR QUÉ LA BIOMETRÍA?

• ¿POR QUÉ PROCESAMIENTO DIGITAL DE IMÁGENES?

• ¿POR QUÉ UTILIZAR MATLAB?

• ¿POR QUÉ REDES NEURONALES?

CAPÍTULO 2.- BIOMETRÍA

• ¿QUÉ ES LA BIOMETRÍA?

• EL CUERPO HUMANO Y LA BIOMETRÍA

• TIPOS Y PROCESOS BIOMÉTRICOS CLAVE

• TECNOLOGÍAS BIOMÉTRICAS

CAPÍTULO 3.- HUELLA DACTILAR

• INTRODUCCIÓN

• LA DACTILOSCOPIA. ANTECEDENTES HISTÓRICOS

• CARACTERIZACIÓN Y CLASIFICACIÓN DE LAS HUELLAS

DACTILARES

• ETAPA DE CLASIFICACIÓN

• DISPOSITIVO DE ADQUISICIÓN

• RECONOCIMIENTO DE HUELLAS DACTILARES

• ADQUISICIÓN DIGITAL DE LA HUELLA

• PREPROCESADO DE LA IMAGEN

• ADELGAZAMIENTO (THINNING)

• DEPURACIÓN

• EXTRACCIÓN DE CARACTERÍSTICAS

• ETAPA DE RECONOCIMIENTO

• CARACTERÍSTICAS DEL SISTEMA

• MÉTODOS DE ATAQUE Y DEFENSA DEL SISTEMA

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

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

• EJEMPLOS DE CAMPOS QUE UTILIZAN PROCESAMIENTO

DIGITAL DE IMÁGENES

3

4

5

5

6

6

7

8

8

10

11

12

13

13

13

14

17

18

18

20

20

23

24

25

25

28

28

30

30

31

Page 4: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 2

• PASOS FUNDAMENTALES PARA EL PROCESAMIENTO

DIGITAL DE IMÁGENES

• MODELO SENCILLO DE LA FORMACIÓN DE IMÁGENES

• MUESTREO DE IMÁGENES Y CUANTIFICACIÓN

CAPÍTULO 5.- RECONOCIMIENTO DE PATRONES

• INTRODUCCIÓN AL RECONOCIMIENTO DE PATRONES

CAPÍTULO 6.- REDES NEURONALES

• DEFINICIÓN DE RED NEURONAL

• ELEMENTOS BÁSICOS DE LAS REDES NEURONALES

• MECANISMOS DE APRENDIZAJE

• TOPOLOGÍA DE LAS REDES NEURONALES

• PRINCIPALES APLICACIONES

CAPÍTULO 7.- EL AMBIENTE MATLAB

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

EXPORTACIÓN

• PRE- Y POST-PROCESAMIENTO DE IMÁGENES

• TOOLBOX DE PROCESAMIENTO DE IMÁGENES

• FUNCIONES BÁSICAS

• ANÁLISIS DE IMÁGENES

• AMBIENTE GUI

JUSTIFICACIÓN ECONÓMICA

TRABAJO A FUTURO

CONCLUSIONES

GLOSARIOS DE TERMINOS EN INGLÉS

MEDIOS DE INFORMACIÓN

APENDICE (DESARROLLO DE LA APLICACIÓN)

31

31

32

42

42

48

48

49

52

57

59

62

62

63

64

66

68

74

82

83

84

85

87

88

Page 5: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 3

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.

Page 6: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 4

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.

Page 7: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 5

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.

Page 8: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 6

¿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.

Page 9: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 7

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.

Page 10: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 8

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.

2.- Algo que el usuario tiene.

3.- Algo que el usuario es.

(P. e. una clave secreta)

(P. e. una tarjeta personal)

(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.

Page 11: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 9

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.

Page 12: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 10

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.

Page 13: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 11

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.

Page 14: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 12

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.

Page 15: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 13

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

Page 16: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 14

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).

Page 17: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 15

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.

Page 18: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 16

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.

Page 19: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 17

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.

Page 20: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 18

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.

Page 21: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 19

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.

Page 22: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 20

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.

Page 23: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 21

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.

Page 24: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 22

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:

Rvu

avgpvup),(

)),((

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.

Page 25: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 23

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.

)()( III Bo

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.

Page 26: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 24

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.

Page 27: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 25

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

01

i iN ( un

único vecino), mientras que responderá a una bifurcación de cresta si obedece a la

expresión 27

0

i

iN ( 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.

Page 28: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 26

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:

refi

refi

refi

y

x

ai

ai

ai

yy

xx

sen

sen

Y

X

100

0cos

0cos

Page 29: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 27

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.

Page 30: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 28

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.

Page 31: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 29

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.

Page 32: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 30

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.

Page 33: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 31

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

Page 34: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 32

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.

Page 35: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 33

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.

Page 36: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 34

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.

Page 37: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 35

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.

Page 38: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 36

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.

Page 39: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 37

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.

Page 40: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 38

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.

Page 41: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 39

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.

Page 42: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 40

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.

Page 43: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 41

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.

Page 44: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 42

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.

Page 45: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 43

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.

Page 46: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 44

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.

CAPTACIÓN

(Sensor/transductor)

PREPROCESADOS

(Mejora)

SEGMENTACIÓN

EXTRACCIÓN DE

CARACTERÍSTICAS

CLASIFICADOR

MUNDO

REAL

DESCRIPCIÓN

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.

Page 47: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 45

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.

Page 48: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 46

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.

Page 49: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 47

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.

Page 50: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 48

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.

Page 51: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 49

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:

Page 52: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 50

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

Page 53: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 51

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.

Page 54: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 52

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

Page 55: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 53

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:

Page 56: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 54

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 .

Page 57: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 55

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.

Page 58: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 56

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.

Page 59: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 57

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.

Page 60: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 58

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.

Page 61: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 59

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.

Page 62: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 60

- 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.

Page 63: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 61

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.

.

Page 64: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 62

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.

Page 65: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 63

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.

Page 66: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 64

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.

Page 67: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 65

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.

Page 68: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 66

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.

Page 69: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 67

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.

Page 70: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 68

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.

Page 71: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 69

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.

Page 72: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 70

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');

05

1015

2025

3035

40

0

10

20

30

40

0

50

100

150

200

250

Page 73: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 71

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)

Page 74: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 72

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)

Page 75: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 73

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

Page 76: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 74

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)

0 0.5 1 1.5 2 2.5 3

x 104

0

20

40

60

80

100

120

140

160

180

200

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:

Page 77: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 75

Pantalla de bienvenida

Pantalla de menú

Page 78: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 76

Seleccionar imagen para el reconocimiento

Visualización de la imagen

Page 79: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 77

Fondo de la imagen

Imagen binarizada

Page 80: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 78

Histograma de área de grises

Visualizar filtro Gabor

Page 81: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 79

Mejoramiento de la imagen

Campo de orientación

Page 82: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 80

Comparación de la imagen

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

En caso contrario:

Page 83: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 81

Terminar simulación

Page 84: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 82

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

PROTOTIPO

COSTO

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.

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.

COSTO DE UN SISTEMA A LA VENTA

ACUTUALMENTE

COSTO DEL SISTEMA

PROPUESTO

1100 €

$ 16500.00

35 €

$5000.00

Page 85: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 83

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.

Page 86: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 84

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.

Page 87: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 85

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

Page 88: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 86

* Live Recognition :Reconocimiento en Vida

* Liveness Check

* False Contouring: Contorno Falso

Page 89: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 87

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.

Page 90: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 88

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;');

Page 91: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 89

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;

Page 92: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 90

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)

Page 93: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 91

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);

Page 94: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 92

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

Page 95: INSTITUTO POLITÉCNICO NACIONAL - tesis.ipn.mxtesis.ipn.mx/jspui/bitstream/123456789/5821/1/PROCESAMIENTODIG.pdf · • ¿POR QUÉ UTILIZAR MATLAB? ... personalidades ajenas, generen

Instituto Politécnico Nacional

Página 93

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');