tesis de grado “reconocimiento de...

135
UNIVERSIDAD MAYOR DE SAN ANDRÉS FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA TESIS DE GRADO “RECONOCIMIENTO DE PATRONES DE IMPRESIONES NASALES EN CANES USANDO REDES NEURONALES” PARA OPTAR AL TÍTULO DE LICENCIATURA EN INFORMÁTICA MENCIÓN INGENIERÍA DE SISTEMAS INFORMÁTICOS POSTULANTE : Gonzalo Édgar Chacón Alípaz DOCENTE TUTOR : Lic. Mario Loayza Molina M. Sc. DOCENTE REVISOR : Lic. Lucio Torrico Díaz LA PAZ – BOLIVIA 2010

Upload: nguyenhanh

Post on 29-Sep-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDAD MAYOR DE SAN ANDRÉS

FACULTAD DE CIENCIAS PURAS Y NATURALES CARRERA DE INFORMÁTICA

TESIS DE GRADO

“RECONOCIMIENTO DE PATRONES DE IMPRESIONES NASALES EN CANES USANDO REDES NEURONALES”

PARA OPTAR AL TÍTULO DE LICENCIATURA EN INFORMÁTICA MENCIÓN INGENIERÍA DE SISTEMAS INFORMÁTICOS

POSTULANTE : Gonzalo Édgar Chacón Alípaz

DOCENTE TUTOR : Lic. Mario Loayza Molina M. Sc.

DOCENTE REVISOR : Lic. Lucio Torrico Díaz

LA PAZ – BOLIVIA 2010

i

“Mírame a los ojos, está bien si tienes miedo.

Yo también lo tengo. Pero tenemos miedo por

diferentes razones. Yo tengo miedo de lo

que no me convertiré y tú tienes miedo de lo

que podría convertirme. Mírame, no voy a

dejarme a mi mismo acabar donde empecé.

No voy a dejarme a mi mismo terminar

donde me inicié. Yo se lo que hay dentro de

mí incluso si tu no lo puedes ver aún. Mírame

a los ojos, yo tengo algo más importante que

el valor, tengo paciencia. Yo me convertiré

en lo que sé que soy.”

Traducción del monólogo “Look me in the

Eyes” (Mírame a los Ojos) de Michael

Jordan

ii

AGRADECIMIENTOS

Agradezco en primer lugar a mis padres Raúl y Norah por todo el apoyo brindado

durante todo este tiempo, es gracias a ellos que tuve la dicha de terminar mis estudios.

También agradezco a la Carrera de Informática de la Universidad Mayor de San

Andrés por la formación brindada a mi persona durante estos años, en especial a sus

docentes, quienes me impartieron sus conocimientos y vivencias. Gracias a los

conocimientos adquiridos en esta Carrera este trabajo pudo ser llevado a cabo.

Un agradecimiento especial al Lic. Mario Loayza, por su apoyo, comprensión y

disponibilidad como Docente Tutor a lo largo de la elaboración y culminación de la

presente Tesis.

A mi Docente Revisor el Lic. Lucio Torrico, por el seguimiento, motivación,

recomendaciones oportunas y especialmente por el tiempo dedicado y paciencia para

revisar el presente trabajo además por haberme iniciado en el fascinante mundo de la

Inteligencia Artificial.

A mis amigos Gary y María Luisa por su apoyo y ayuda al momento de recabar

información y conseguir los materiales necesarios.

También le doy las gracias a todas las personas que me permitieron incluir a sus

mascotas en el sistema: amigos, conocidos, conocidos de conocidos y todas las personas

que lo hicieron sin conocerme y que prefirieron no dar sus nombres.

Finalmente no puede faltar un agradecimiento a todos los canes que entraron al

sistema, ya que sin ellos este trabajo simplemente no existiría.

e-mail: [email protected]

iii

RESUMEN

Las Redes Neuronales Artificiales son un paradigma de la Inteligencia Artificial que

trata de simular una Red Neuronal Biológica; este paradigma está inspirado en la forma

cómo funciona el sistema nervioso de los seres humanos y animales. Las RNA están

formadas por neuronas, las cuales están agrupadas en capas las cuales de acuerdo a la

función que desempeñan pueden ser de entrada, salida u ocultas.

A lo largo de la historia ha habido diversos usos para las RNA, uno de los más

importantes es el reconocimiento de patrones. El reconocimiento de los rasgos físicos de los

seres humanos se denomina biometría; sin embargo no existen antecedentes sólidos de un

estudio donde el reconocimiento sea aplicado a canes.

Actualmente en nuestra sociedad no existe ningún tipo de registro de canes, algunos

problemas acarreados por esta carencia es el abandono indiscriminado de estos animales y

el extravió, captura y posterior eliminación de aquellos que incluso tengan dueños debido a

la falta de un método de identificación.

Este trabajo nace de la idea de que todas las narices caninas tienen patrones únicos de

igual manera a que los humanos tienen huellas dactilares únicas. Es en base a esto que se

realizará un prototipo (software) el cual será capaz de identificar a un can tomando como

“huella” los patrones nasales extraídos de una fotografía del animal el cual previamente

será registrado en una base de datos.

El prototipo elaborado se encargará de identificar las muestras previamente procesadas

mediante el uso de una RNA, la cual tendrá la capacidad de aprender a reconocerlas

conforme se vayan ingresando nuevos registros en la base de datos.

Al final del trabajo se evaluará el desempeño del prototipo de software realizando

varias pruebas y comparando el resultado obtenido con el resultado esperado.

iv

ÍNDICE

Página

CAPÍTULO I

INTRODUCCIÓN …………………………………………................................................ 1

1.1 ANTECEDENTES………….............................................................................. 2

1.2 EL PLANTEAMIENTO DEL PROBLEMA………………...………………… 3

1.2.1 Planteamiento del problema………………………………………….. 3

1.2.2 Formulación del problema………………………………………….. 4

1.2.3 Sistematización del problema……………………………………….. 4

1.3 OBJETIVOS…………………………………………..………………………... 4

1.3.1 Objetivo general……………………………………………………. 4

1.3.2 Objetivos específicos…………………………………………………. 5

1.4 JUSTIFICACIÓN……………………………………..………………………5

1.4.1 Justificación Teórica………………………………………………… 5

1.4.2 Justificación Práctica…………………………………………………5

1.4.2 Justificación Científica…………………………………………..…… 6

1.4.3 Justificación Social…………………………………………………… 6

1.5 HIPÓTESIS………………………………..…………..……………………… 6

CAPÍTULO II

MARCO DE REFERENCIA…………………………..………………………………... 7

2.1 REDES NEURONALES ARTIFICIALES…...……………………………...… 7

2.1.1 Introducción……………………………………………….………….. 7

2.1.2 Redes Neuronales Biológicas…………..……………..……………… 8

2.1.3 Definición…………………………………………………………… 10

2.1.4 Características generales…………………………………………… 10

2.1.5 Funcionamiento………………………………………………...…… 11

2.1.6 Tipos de entrenamiento…………………………………………...… 12

2.1.6.1 Entrenamiento supervisado………………………………... 12

v

2.1.6.1 Entrenamiento no supervisado…….………………………13

2.1.7 Validación…………………………………………………………… 14

2.1.8 Estructura…………………………………………………………… 14

2.1.8.1 La neurona………………………………………………… 15

2.1.8.2 Capas de neuronas………………………………………… 17

2.1.9 Reconocimiento de patrones………………………………………… 20

2.1.9.1 Auto-asociación…………………………………………… 20

2.1.10 Cálculo del error…………………………………………………… 21

2.1.10.1 Cálculo del error en un entrenamiento supervisado……… 21

2.1.10.2 Cálculo del error en un entrenamiento no supervisado...… 22

2.1.11 Tipos de redes…..………………………………….………………. 23

2.1.11.1 Percetrón……..……………………………...…………… 23

2.1.11.2 Backpropagation……………………………….………… 25

2.1.11.3 Modelo Hopfield……………………………….………… 26

2.1.11.4 Modelo Kohonen………………………………………… 27

2.1.12 Diseño y programación de una RNA………………………….…… 29

2.1.13 Algoritmo de entrenamiento…………………..…………………… 30

2.2 EL PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE……..… 33

2.3 EL LENGUAJE UNIFICADO DE MODELADO…………………………. 36

2.3.1 Elementos……………………………………………….………….. 37

2.3.2 Relaciones……………………………..……………..……………… 39

2.3.3 Diagramas…………………………………………………………… 40

CAPÍTULO III

PROCESAMIENTO DE IMÁGENES……………………..…………………………….45

3.1 DESCRIPCIÓN GENERAL………………………………………………… 45

3.2 ADQUISICIÓN DE LA IMAGEN…………………………………………… 46

3.2.1 Imágenes de Intensidad………………………………….………….. 46

3.2.2 Imágenes de Color………….…………..……………..…………… 47

3.3 TRATAMIENTO DE IMÁGENES…………………………….…..……..… 48

3.3.1 Extracción de características…….…………………………………. 48

vi

3.3.1.1 Detección de bordes...………………………...…………… 48

3.3.2 Binarización………………………………..………………………... 50

3.4 INTERPRETACIÓN DE LA IMAGEN COMO DÍGITOS BINARIOS…..… 51

CAPÍTULO IV

FUNCIONAMIENTO DE LA RED DE KOHONEN…………………………………….53

4.1 DEFINICIÓN DE LA RED NEURONAL DE KOHONEN………………... 53

4.2 COMO CONOCE UNA RED DE KOHONEN……………………….……… 53

4.2.1 Estructura de una red neuronal de Kohonen…………….………….. 53

4.2.2 Normalización de la entrada…………..……………..……………… 55

4.2.3 Cálculo de la salida de cada neurona…..……………..…………… 56

4.2.4 Mapeo a bipolar……………….………..……………..…………… 56

4.2.5 Escogiendo al ganador……….………..……………..……………… 57

4.2.6 Aprendizaje de una red de Kohonen.…..……………..…………… 57

4.2.7 Tasa de aprendizaje.…………………………………..…………… 59

4.2.8 Ajuste de los pesos……………………..……………..…………… 59

4.2.9 Cálculo el error……………………..……………..……………… 61

4.3 IMPLEMENTACION DE LA RED NEURONAL DE KOHONEN……..… 61

CAPÍTULO V

DISEÑO DEL SOFTWARE……………………………………………………………….62

5.1 DESCRIPCIÓN GENERAL………………………….……………………... 62

5.2 DEFINICIÓN DE LA HUELLA USADA……………………………………. 65

5.3 PROCESAMIENTO PREVIO……………………….……………………... 66

5.4 DISEÑO DEL PROTOTIPO………………………………………………… 72

5.4.1 Diagrama de Casos de Uso……………………………….…………. 72

5.4.2 Diagrama de Clases……….……….…………………….………….. 73

5.4.3 Diagrama de Actividades……….………………………….……… 79

5.4.4 Diagramas de Secuencia…….………………………….…………… 80

5.4.5 Diagrama Entidad-Relación………...………………………….…… 81

5.5 VENTANA PRINCIPAL DEL PROTOTIPO……………………...………… 82

vii

5.6 BINARIZACIÓN DE LA HUELLA……………………………………….… 83

5.7 REGISTRO DE UN CAN EN LA BASE DE DATOS……………..……..… 87

5.8 BÚSQUEDA DE UN CAN…………………………………………..……..… 89

5.9 RECONOCIMIENTO DE UN CAN…………………………….…..……..… 91

5.9.1 Creación de la red neuronal……………………………….………… 92

5.9.2 Entrenamiento de red neuronal………………………….………….. 94

5.9.3 Reconocimiento de la muestra………………………….………….. 94

CAPÍTULO VI

EVALUACIÓN DEL PROTOTIPO……………………………………………………. 96

6.1 DETERMINACIÓN DE LOS CASOS DE PRUEBA...….…………………... 98

6.2 EVALUACIÓN DE LOS CASOS DE PRUEBA…….……………………... 97

6.3 EVALUACIÓN DE LOS RESULTADOS……………………………………98

6.3.1 Definición las hipótesis H0 y H1………………….…………………. 98

6.3.2 Determinación de la región critica…………………………………. 98

6.3.3 Cálculo del estadístico de la prueba………………………………… 99

6.3.4 Toma de decisión…………………………………………………. 100

6.3.5 Conclusión…………………………………………………………. 100

CAPÍTULO VII

CONCLUSIONES Y RECOMENDACIONES…………………………………………. 101

7.1 CONCLUSIONES……………………………………..….…………………. 101

7.2 RECOMENDACIONES……………………………..….…………………... 103

GLOSARIO………………………………………..…………………………………….. 104

BIBLIOGRAFÍA…………………………………..……………………………………. 106

ANEXOS………………………………………………………………………………. 107

ANEXO 1 FUNCIONES DE ACTIVACIÓN MÁS COMUNES………………. 108

ANEXO 2 DETERMINACIÓN DE LA NEURONA GANADORA…………… 109

viii

ANEXO 3 HILOS EN EL MÉTODO DE ENTRENAMIENTO……………….. 112

ANEXO 4 CONSULTAS A LA BASE DE DATOS MEDIANTE SQL……….. 113

ANEXO 5 TABLA DE RESULTADOS DE LAS PRUEBAS………...……….. 116

ANEXO 6 PRUEBAS DE HIPÓTESIS ESTADÍSTICAS…………………...…. 117

ANEXO 7 SELECCIÓN DE UN ÁREA REDUCIDA DE ESTUDIO...……….. 122

ANEXO 8 CARNET DE REGISTRO DE UN CAN…………………...……….. 123

ix

ÍNDICE DE FIGURAS

Página

Figura 2.1: Estructura de una neurona biológica………………………………………….…8

Figura 2.2: Señal digital………………………………………………………………..……9

Figura 2.3: Salida de una neurona………………………………………………………...…9

Figura 2.4: Tres neuronas (y1, yi, yn) conectadas a otra (aj) …………………………...…12

Figura 2.5: Gráfica de la función TANH…………………………………………………..16

Figura 2.6: Red neuronal con una capa oculta…………………………………………..…17

Figura 2.7: Gráfica de la función sigmoidal……………………………………………..…18

Figura 2.8: Gráfica de la tangente hiperbólica…………………………………………..…19

Figura 2.9: Patrón reconocido por la red neuronal…………………………………………20

Figura 2.10: Reconocimiento fallido…………………………………………………….…21

Figura 2.11: Modelo de un Perceptrón……………………………………………………24

Figura 2.12: Modelo de una red tipo Backpropagation………………………………….…26

Figura 2.13: Modelo de Hopfield………………………………………………………..…27

Figura 2.14: Modelo de red neuronal Kohonen……………………………………………28

Figura 2.15: Ejemplo de uso de la regla de Hebb…………………………………….……32

Figura 2.16: Ciclo de desarrollo del RUP……………………………………………….…34

Figura 2.17: Diagramas de UML categorizados jerárquicamente……………………….…41

Figura 3.1: Binarización de una huella……………………………………………..………51

Figura 3.2: Imagen de 7x5 píxeles convertida en valores binarios 1s y 0s………………52

Figura 4.1: Estructura de una red de Kohonen………………………………………..……54

Figura 4.2: Diagrama de flujo que especifica el aprendizaje de una red de Kohonen……58

Figura 5.1: Lector biométrico para las huellas dactilares…………………………………62

Figura 5.2: Posición y distancia ideales para sacar una buena foto de la nariz del can...… 63

Figura 5.3: Fotografía no apta para procesamiento……………………………………...…64

Figura 5.4: Cámara Sony Cybershot de 10.1 mega píxeles usada…………………………64

x

Figura 5.5: Puntos característicos de una huella digital……………………………………65

Figura 5.6: Fotografía tomada originalmente y huella extraída……………………………66

Figura 5.7: Ventana principal de Photoshop 7.0…………………………………………67

Figura 5.8: Transformación libre de una imagen…………………………………………68

Figura 5.9: Foto ajustada el formato preestablecido………………………………………68

Figura 5.10: Aplicación del filtro de bordes añadidos……………………………………69

Figura 5.11: Bordes extraídos de la fotografía…………………………………………..…70

Figura 5.12: Selección del área de estudio…………………………………………………70

Figura 5.13: Huella de la nariz del can lista para ser procesada por el prototipo……….…71

Figura 5.14: Guardado de la imagen JPG……………………………………………….…71

Figura 5.15: Modelo de casos de uso del prototipo………………………………………72

Figura 5.16: Diagrama de clases del prototipo……………………………………………..73

Figura 5.17: La clase BinarizarImagen………………………………………………….…74

Figura 5.18: La clase FormCan……………………………………………………….……75

Figura 5.19: La clase ReconocerImagen…………………………………………………76

Figura 5.20: Las clases CanInfo y CanDAO…………………………………………….…77

Figura 5.21: Las clases Red, RedKohonen y SetEntrenamiento…………………………78

Figura 5.22: Diagrama de actividades…………………………………………………...…79

Figura 5.23: Diagrama de secuencia para el proceso de binarización……………………80

Figura 5.24: Diagrama de secuencia para el proceso de registro…………………………81

Figura 5.25: Diagrama Entidad-Relación de la base de datos……………………………82

Figura 5.26: Ventana principal del prototipo………………………………………………83

Figura 5.27: Muestra de la binarización un sector de una huella…………………………83

Figura 5.28: Ventana principal del módulo de binarización………………………….……84

Figura 5.29: Imagen de la huella mostrada en el primer panel……………………….……84

Figura 5.30: Huella binarizada mostrada en el segundo panel……………………………..85

Figura 5.31: Botones usados para especificar el destino y guardar el archivo TXT………86

Figura 5.32: Archivo TXT resultante de la binarización de una huella……………………86

Figura 5.33: Ventana principal del módulo de registro………………………………….…87

Figura 5.34: Opciones para elegir edad aproximada o fecha de nacimiento……………….87

Figura 5.35: Fotografía del can mostrada en el primer panel………………………………88

xi

Figura 5.36: Nariz del can mostrada en el segundo panel……………………………….…88

Figura 5.37: Registro añadido en la base de datos…………………………………………89

Figura 5.38: Ventana principal del módulo de búsqueda…………………………………89

Figura 5.39: Campo de texto para escribir el nombre a buscar y botón de búsqueda……90

Figura 5.40: Despliegue del resultado de una búsqueda…………………………………90

Figura 5.41: Ventana principal del módulo de reconocimiento……………………………91

Figura 5.42: Huella previamente binarizada mostrada en el panel principal………………92

Figura 5.43: Botones para creación de la red, entrenamiento y reconocimiento…………92

Figura 5.44: Dimensiones de una huella previamente binarizada………………………….93

Figura 5.45: Mensaje que indica la creación de la red de Kohonen………………………..93

Figura 5.46: Mensaje que indica el fin del entrenamiento de la red de Kohonen…….……94

Figura 5.47: Despliegue del resultado del reconocimiento……………………………...…95

Figura 6.1: Región critica para la hipótesis……………………………………………...…98

Figura 6.2: Distribución de zc y z0 en el gráfico para la toma de decisión……..…………100

Figura A.1: Diagrama del ejemplo de red neuronal………………………………………109

Figura A.2: Cuadro de decisión……………………………………………...……………117

Figura A.3: Región critica y región de aceptación………………………………………118

Figura A.4: Tipos de gráfica según la hipótesis………………………………..…………118

Figura A.5: Región reducida de la huella para ahorrar recursos…………………………122

Figura A.6: Medidas geométricas de la huella………….……………………...…………122

Figura A.7: Vista frontal del carnet de registro del can……………….………………… 123