UNIVERSIDAD TECNOLÓGICA...

163
a

Transcript of UNIVERSIDAD TECNOLÓGICA...

Page 1: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

a

Page 2: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

b

UNIVERSIDAD TECNOLÓGICA EQUINOCCIAL

FACULTAD DE CIENCIAS DE LA INGENÍERIA

CARRERA DE INFORMÁTICA Y CIENCIAS DE LA

COMPUTACIÓN

PROTOTIPO QUE PERMITA EL ABRIR Y CERRAR UNA PUERTA

POR MEDIO DE LA VOZ UTILIZANDO REDES NEURONALES

TRABAJO PREVIO A LA OBTENCIÓN DE TÍTULO DE INGENÍERA EN

INFORMÁTICA Y CIENCIAS DE LA COMPUTACIÓN

LUCÍA ALEXANDRA CAHUATIJO CACHAGO

DIRECTOR: ING. RODRIGO PROAÑO

Quito, Julio, 2013

Page 3: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

c

© Universidad Tecnológica Equinoccial. 2013

Reservados todos los derechos de reproducción

Page 4: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

d

DECLARACIÓN

Yo, Lucía Alexandra Cahuatijo Cachago, declaro que el trabajo aquí descrito es

de mi autoría; que no ha sido previamente presentado para ningún grado o

calificación profesional; y, que he consultado las referencias bibliográficas que

se incluyen en este documento.

La Universidad Tecnológica Equinoccial puede hacer uso de los derechos

correspondientes a este trabajo, según lo establecido por la Ley de Propiedad

Intelectual, por su Reglamento y por la normativa institucional vigente.

_______________________________

Srta. Lucía Alexandra Cahuatijo Cachago

C.I. 171913611-9

Page 5: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

e

CERTIFICACIÓN

Certifico que el presente trabajo que lleva por título “Prototipo que permita el

abrir y cerrar una puerta por medio de la voz utilizando redes neuronales”,

que, para aspirar al título de Ingeniera Informática y Ciencias de la

Computación fue desarrollado por Lucía Alexandra Cahuatijo Cachago, bajo

mi dirección y supervisión, en la Facultad de Ciencias de la Ingeniería; y cumple

con las condiciones requeridas por el reglamento de Trabajos de Titulación

artículos 18 y 25.

_________________________

Ing. Rodrigo Proaño

DIRECTOR DEL TRABAJO

C.I. 170854904-1

Page 6: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

f

AGRADECIMIENTO

Antes que todo le agradezco a Dios por estar siempre conmigo y fortalecerme

en los momentos más difíciles, agradezco a la vida por haberme dado la

oportunidad de nacer en un lugar donde aún existe un contacto directo con la

naturaleza.

A mis padres por el gran sentido de responsabilidad y profesionalismo que

siempre tratan de formar en mí y a mis hermanos por ser la razón de ser mejor

cada día; ellos son mi familia, mis hermanos en Cristo y la mayor bendición que

Dios me supo brindar, todo lo que estoy logrando se lo debo a su amor y sus

oraciones.

“Mira que te mando para que te esfuerces y seas valiente, no temas ni

desmayes….”

Josué 1:9

Un agradecimiento muy especial a mis amigas y por siempre compañeritas

Lore, Verito, Cris, Majo, Lupita, a quienes quiero mucho y aprecio a “full”. A mi

director Rodrigo Proaño y a cada docente que formó parte de mi instrucción

universitaria quienes con su apoyo incondicional me han sabido orientar e

instruir, muchas gracias por compartir parte de sus conocimientos y

experiencias.

Pero por sobre todo me agradezco a mí mismo, porque sé que no pierdo la fé ni

la esperanza para conseguir mis metas a pesar de que en mi bolsillo siempre

ha reinado el vacío.

“Gracias Totales”

Page 7: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

g

DEDICATORIA

Quiero dedicar este escrito e investigación a toda mi familia, de manera muy

especial a mis padres José Cahuatijo y Marcelina Cachago por su amor,

comprensión y apoyo que cada día me brindan.

Dedico también a todos mis hermanos Pablo, Adriana, Diana y Paquita por la

confianza que tienen en mi y porque siempre apoyan mis decisiones,…

finalmente ¡ Como olvidar a mi sobrinita Anahí !, también la incluyo en esta

dedicatoria como una parte muy importante.

Ésta es mi familia la cuál fue, es y será siempre mi fuente de inspiración para

muchos proyectos y metas por cumplir.

Page 8: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

i

ÍNDICE DE CONTENIDOS

PÁGINA

RESUMEN ix

SUMMARY x

1. INTRODUCCIÓN 1

1.1. OBJETIVO GENERAL 4

1.2. OBJETIVOS ESPECÍFICOS 4

1.3. ESTADO DEL ARTE 4

2. MARCO TEÓRICO 8

2.1. TEORÍA DEL SONIDO 9

2.1.1. CARACTERÍSTICAS FUNDAMENTALES DE LAS ONDAS

SONORAS 10

2.1.1.1. La Frecuencia 10

2.1.1.2. La Amplitud 11

2.1.1.3. Periodo 12

2.1.2. PRODUCCIÓN DEL SONIDO DE VOZ 12

2.1.3. FORMATOS DE ARCHIVOS DE SONIDO 13

2.1.3.1. Formato Wave 14

2.1.4. REPRESENTACIÓN DE LA SEÑAL DE SONIDO 15

2.1.4.1. Sonido Analógico 15

2.1.4.2. Sonido Digital 16

2.2. PROCESAMIENTO DEL SONIDO 17

2.2.1. CUADRO DE FUNCIONAMIENTO DE UNA TARJETA DE

SONIDO 19

2.2.2. MUESTREO 23

2.2.2.1. Tamaño o formato de la muestra 21

2.2.3. CUANTIFICACIÓN 24

2.2.3.1. Tipos de cuantificación 25

Page 9: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

ii

2.2.4. CODIFICACIÓN 26

2.3. REDES NEURONALES ARTIFICIALES – RNA 26

2.3.1. RED NEURONAL BIOLÓGICA 27

2.3.2. ¿QUÉ ES UNA RED NEURONAL ARTIFICIAL? 28

2.3.3. ARQUITECTURA DE UNA RED NEURONAL ARTIFICIAL 31

2.3.4. MODELO DE REDES NEURONALES 31

2.3.4.1. El aprendizaje supervisado 32

2.3.4.2. El aprendizaje no supervisado 32

2.3.5. PERCEPTRÓN SIMPLE 32

2.3.6. REGLA DELTA –LMS 34

2.3.7. RED BACKPROPAGATION 34

2.3.7.1. Regla de aprendizaje del backpropagation 37

2.3.8. CUADRO COMPARATIVO 40

2.3.9. ¿POR QUÉ EMPLEAMOS LAS REDES NEURONALES? 42

2.3.9.1. Ventajas de las redes neuronales 42

2.3.9.2. Desventajas de las redes neuronales 44

2.4. RECONOCIMIENTO DE VOZ 45

2.4.1. PRE-PROCESAMIENTO DEL SONIDO (VOZ) 46

2.4.1.1. Normalización 46

2.4.2. EXTRACCIÓN DE CARACTERÍSTICAS 47

2.4.2.1. Momentos invariantes de HU 48

2.4.3. ENTRENAMIENTO 49

2.4.4. RECONOCIMIENTO 49

2.5. CIRCUITO ELECTRICO 50

2.5.1. MICROCONTROLADOR PIC18F4550 50

2.5.2. ENCAPSULADO DE PIC18F4550 53

2.5.2.1. Cuadro Operativo del PIC18F4550 54

2.5.3. SERVOMOTORES 57

3. METODOLOGÍA 59

3.1. METODOLOGÍA PROPUESTA 61

Page 10: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

iii

3.1.1. PLANIFICACIÓN - DESCRIPCIÓN DEL SISTEMA 65

3.1.1.1. Captura del Comando de voz 66

3.1.1.2. Procesamiento de la voz 67

3.1.1.3. Entrenamiento y Reconocimiento 69

3.1.1.4. Requerimientos de Herramientas de Software 69

3.1.1.5. Requerimiento de Hardware 72

3.1.2. ANALISIS DE RIESGOS 72

3.1.3. INGENIERIA 73

3.1.4. EVALUACION 73

3.1.4.1. Método de prueba “Caja Negra” 74

4. ANÁLISIS DE RESULTADOS 76

4.1. PLANIFICACIÓN 77

4.1.1. FACTIBILIDAD DEL SISTEMA 77

4.1.1.1. Factibilidad Técnica 77

4.1.1.2. Factibilidad Económica 78

4.1.2. CASOS DE USO DEL SISTEMA 78

4.2. ANALISIS DE RIESGOS 88

4.3. INGENIERIA 89

4.3.1. DIAGRAMA GENERAL DE PROCESOS 90

4.3.2. DISEÑO DE LA BASE DE DATOS 91

4.3.3. DIAGRAMA DE CLASES Y CODIGO FUENTE 96

4.4. EVALUACION 115

5. CONCLUSIONES Y RECOMENDACIONES 119

5.1.1. CONCLUSIONES 120

5.1.2. RECOMENDACIONES 121

GLOSARIO 123

BIBLIOGRAFÍA 126

ANEXOS 129

Page 11: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

iv

ÍNDICE DE FIGURAS

PÁGINA

Figura 1. Ondas de Sonidos emitidas por un Diapasón 9

Figura 2. Ondas de mayor y menor frecuencia 10

Figura 3. Ondas de menor y mayor amplitud 11

Figura 4. Periodo de una onda sonora 12

Figura 5. Sistema vocal Humano 13

Figura 6. Formato de Controles del Sistema LAC 14

Figura 7. Sonido Analógico-Grabación 16

Figura 8. Señal Digitalizada 17

Figura 9. Diagrama de una Tarjeta de Sonido 18

Figura 10. Neurona Biológica 27

Figura 11. Estructura del cerebro humano 28

Figura 12. Neurona Artificial 29

Figura 13. Diagrama de la Arquitectura de la RNA 31

Figura 14. Perceptrón Simple 33

Figura 15. Arquitectura de una Red Backpropagation 36

Figura 16. Arquitectura de una red Backpropagation en un reconocedor de

voz 39

Figura 17. Invariantes Propuestas por HU 49

Figura 18. Pines del Microcontrolador PIC18F4550 53

Figura 19. Servomotor 58

Figura 20. Modelo Espiral 62

Figura 21. Diagrama General del Sistema 65

Figura 22. Frecuencia de Muestreo del Sistema LAC. 66

Figura 23. Tamaño de muestra del Sistema LAC. 67

Figura 24. Ingreso de datos a la neurona del Sistema LAC. 68

Figura 25. Estructura de Filtrado de la señal 69

Page 12: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

v

Figura 26. Diagrama de Actores del Sistema 79

Figura 27. Casos de Uso Procesamiento- Reconocimiento 80

Figura 28. Diagrama de Secuencias Procesamiento - Reconocimiento 81

Figura 29. Diagrama de Flujo de Inf. Procesamiento - Reconocimiento 82

Figura 30. Casos de Uso Entrenamiento RNA 83

Figura 31. Diagrama de Secuencia – Entrenamiento RNA 84

Figura 32. Flujo de Información – Entrenamiento RNA 85

Figura 33. Flujo de Información – Reconocimiento de la Señal 86

Figura 34. Diagrama de bloques – Circuito Eléctrico 87

Figura 35. Diagrama General de Procesos del Sistema 90

Figura 36. Diagrama de Base de Datos 92

Figura 37. Diagrama de clases – Generar Señal 97

Figura 38. Código Fuente de la Clase Generar Señal 98

Figura 39. Diagrama de clases – AudioFrame 99

Figura 40. Código Fuente de la Clase AudioFrame 100

Figura 41. Diagrama de Clases – Entrenamiento 104

Figura 42. Código Fuente de la Clase Entrenamiento 105

Figura 43. Diagrama de Clases – Neurona 106

Figura 44. Código Fuente de la Clase Neurona 107

Figura 45. Diagrama de Clases – Configuración 108

Figura 46. Código Fuente de la Clase Configuración 109

Figura 47. Ingreso de muestras a la base de datos del Sistema LAC. 110

Figura 48. Reconocimiento en forma manual del Sistema LAC. 111

Figura 49. Diagrama de Clases – Conexión USB 112

Figura 50. Código Fuente de la Clase Conexión USB 113

Figura 51. Diagrama de Clases General del Sistema 114

Figura 52. Gráfica de error 117

Figura 53. Procesamiento de la señal 118

Figura 54. Ventana principal de instalación del firmware 134

Figura 55. Ventana que indica que no existe el dispositivo instalado 135

Page 13: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

vi

Figura 56. Ventana de direccionamiento de la carpeta del driver para la

respectiva instalación. 135

Figura 57. Ventanas del proceso de instalación del firmware 136

Figura 58. Ventana que indica que el dispositivo ha sido instalado 137

Figura 59. Ventana de Bienvenida al sistema LAC. 139

Figura 60. Ventana principal del sistema LAC. 140

Figura 61. Menú del Sistema LAC. 141

Figura 62. Ventana de configuración de la Red Neuronal 141

Figura 63. Ventana de configuración USB del Sistema LAC. 142

Figura 64. Ventana de configuración SQL del Sistema LAC. 143

Figura 65. Opción cerrar el sistema LAC. 143

Figura 66. Ventana de ingreso de muestras a la Neurona 144

Figura 67. Características de la señal de audio y la grafica de la señal 144

Figura 68. Ingreso de muestras a la BBDD del sistema LAC. 145

Figura 69. Guardar muestras en la BBDD del sistema LAC. 146

Figura 70. Ingreso exitoso de la muestra en la BBDD 146

Figura 71. Ventana con datos de autor del Sistema LAC. 147

Page 14: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

vii

ÍNDICE DE TABLAS

PÁGINA

Tabla 1. Funcionamiento de una Tarjeta de Sonido 19

Tabla 2. Cuadro Comparativo de información 40

Tabla 3. Características internas del Microcontrolador USB PIC18F4550 53

Tabla 4. Cuadro Operativo del Microcontrolador PIC18F4550 54

Tabla 5. Etapas del Modelo Espiral 62

Tabla 6. Cuadro de las Características del Archivo del Ejemplo 68

Tabla 7. Presupuesto de realización del prototipo 78

Tabla 8. Tabla de Riesgos del Sistema 88

Tabla 9. Diagrama de entidades 93

Tabla 10. Tabla de Atributos de la Base de Datos 94

Tabla 11. Atributos de la entidad Neurona 95

Tabla 12. Atributos de la entidad Configuración 96

Tabla 13. Muestras para el vector de características 102

Tabla 14. Cuadro de entrada a las neuronas 103

Tabla 15. Cuadro de pruebas con diferentes Usuarios 116

Page 15: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

viii

ÍNDICE DE ANEXOS

PÁGINA

ANEXO 1

Instrucciones 130

ANEXO 2

Instalación del Firmware para conectar PIC18F4550 a la PC vía USB 133

ANEXOS 3

Manual de Usuario 138

Page 16: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

ix

RESUMEN

Este proyecto se basó principalmente en el entrenamiento por medio de Redes

Neuronales Artificiales de los comandos emitidos por un usuario para abrir o

cerrar una puerta, por ende para para el tratamiento de la voz se utilizó una

placa de procesamiento digital de sonido con la finalidad de adquirir los valores

característicos de la voz, donde se identificaron los puntos y segmentos

(frames) que influyen al momento de pronunciar una palabra.

Para automatizar el proceso de reconocimiento de la palabra emitida se utilizó

la red neuronal Backpropagation como motor de inferencia.

Page 17: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

x

SUMMARY

This project relies primarily on training through ANN of commands issued by

user to open or close a door, for the processing techniques have been used

digital sound processing plate for the acquisition of values characteristic of the

voice, where have been identified the points and segments (frames) that

influence the moment to pronounce a word.

To automate the recognition process was used a Backpropagation neuronal

network inference engine.

Page 18: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

1

INTRODUCCIÓN

Page 19: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

2

1. INTRODUCCIÓN

La neuro-computación es una aportación más al objetivo de crear sistemas

inteligentes, considerando como tales a máquinas capaces de llevar a cabo el

reconocimiento de palabras que en sí es una de las características asociadas a

la inteligencia humana. En las últimas décadas, los avances en este campo han

sido desafiantes; en particular el desarrollo de las Redes Neuronales Artificiales

(RNA) basados en el reconocimiento de patrones ha llegado a romper muchas

de la limitaciones que hace años atrás eran obstáculo. El reconocimiento ha ido

basándose en la medición de propiedades fisiológicas del cuerpo humano como

son las huellas digitales, el iris del ojo y también palabras. Cabe recalcar que el

reconocimiento de las palabras se diferencia del resto, en que la voz no tiene

alguna característica que pueda ser considerada como única y en que la

representación matemática de las señales de voz es considerada como un

proceso aleatorio, lo cual modifica drásticamente el problema de

reconocimiento, pues las huellas digitales o el iris del ojo, son considerados en

general como patrones gráficos fijos, al igual que otros como la forma de la cara

o la de las manos, etc.

La voz es parte integral de nuestras vidas. Las personas con capacidades

físicas y mentalmente normales e incluso con capacidades disminuidas como

los invidentes, utilizan la voz como el principal medio de comunicación ya que el

habla puede comunicar necesidades inmediatas.

Entonces por qué no desarrollar un sistema que interactúe por medio de la voz

y permita “abrir” o “cerrar” una puerta, dirigido a las personas anteriormente

mencionadas, brindándoles de esta manera mayor eficiencia de funcionalidad

en puertas automáticas y aprovechando al máximo las ventajas de

comunicación más rápida y agradable para los nuevos usuarios que cada día

los utilizan, haciendo de este prototipo una herramienta fuerte y adaptable a una

Page 20: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

3

necesidad cotidiana, por lo que se opta desarrollar un sistema que por medio

de la palabra “abrir” o “cerrar” ejecute los comandos mencionados y abra o

cierre una puerta de manera automática.

Para el desarrollo de este proyecto se establecen los siguientes alcances:

* Se trabajará con API que se adapten al microprocesador PIC 18F4550

que se va a utilizar y al algoritmo de entrenamiento de la Red Neuronal.

* Las tonalidades de voz que una persona puede emitir son diferentes

dependiendo el estado de ánimo, por lo que se empleará como si fuesen

muestras distintas.

* Se hará un análisis de los modelos que exponen las redes neuronales

artificiales (RNA), se identificará cuál de estos modelos propuestos se

ajusta con las expectativas que debe alcanzar el proyecto. El modelo a

estudiar es Backpropagation.

* Se realizará un procesamiento de señales de audio utilizando librerías

propias de C# y estrategias algorítmicas de mejoramiento de señales.

* La aplicación consta de procesos tal como: captura de datos,

entrenamiento de la red, reconocimiento de patrones, ejecución de

comandos.

* Este proyecto contará con una base de datos externa para el

almacenamiento de las diferentes muestras.

* El sistema será una aplicación de escritorio con interfaz simple.

Page 21: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

4

1.1. OBJETIVO GENERAL

Desarrollar un prototipo que por medio de la voz permita abrir o cerrar

una puerta de manera automática, con la utilización de redes

neuronales.

1.2. OBJETIVOS ESPECÍFICOS

* Investigar diferentes herramientas de desarrollo con la finalidad

de determinar la más adecuada para la elaboración de este

proyecto.

* Analizar la tecnología de Redes Neuronales Artificiales (RNA) y

su aplicación general al reconocimiento de patrones en especial

al reconocimiento de patrones de señales de voz.

* Escoger uno de los modelos de Redes Neuronales Artificiales

(RNA) que sea acorde al proyecto para el reconocimiento de

patrones de una señal de voz digitalizada con un buen nivel de

certeza y con un potencial de mejoramiento. Entre estos se

encuentra el modelo Backpropagation (Retropropagación).

* Desarrollar un sistema que interprete y ejecute cada uno de los

comandos pronunciados (“abrir”, “cerrar”).

* Realizar pruebas de validación al sistema utilizando el método de

prueba de “caja negra”, para asegurar un correcto

funcionamiento.

1.3. ESTADO DEL ARTE

Al desarrollar aplicaciones con sistemas inteligentes tal como lo es un

reconocedor de voz se debe tomar en cuenta que los mismos no están

exentos de errores, por lo que las interfaces de estas aplicaciones que

Page 22: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

5

comienzan a tener éxito se caracterizan por ser simples, es decir de uso

simple para el usuario, se debe considerar que el sistema a desarrollar

debe tener la capacidad de reconocer las palabras añadidas al

vocabulario. A la hora de desarrollar un sistema reconocedor de voz, el

programador debe tomar en cuenta las siguientes inquietudes:

¿Cuál es el grado de exactitud del sistema que espera el

usuario?

¿Es adecuado el grado de exactitud del sistema de reconocedor

a utilizar con relación a las expectativas del usuario?

¿Es realmente beneficioso, costo y satisfacción del usuario, el

uso de un sistema de reconocedor comparado con otras

tecnologías alternativas?

El campo de aplicaciones de los sistemas reconocedores de voz es muy

amplio, pero básicamente existen tres áreas donde el volumen de uso va

creciendo exponencialmente tal como: servicios de telecomunicación,

sistemas de control, sistemas de entrada de datos y acceso a base de

datos. Normalmente se utilizan para tareas bien definidas y con un

vocabulario y sintaxis bastante restringida lo que permite que:

* La unidad elemental de reconocimiento suele ser la palabra.

* Solamente un grupo reducido de palabras tienen que ser

reconocidas en un instante de tiempo.

* Normalmente es aceptable el estilo de habla mediante palabras

aisladas

Bajo estas clausulas actualmente pueden encontrarse en el mercado

varios software de reconocimiento de voz con mucha trayectoria, es

Page 23: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

6

decir que trabajan con tasas de reconocimiento superiores al 98% con

palabras aisladas.

Una de las aplicaciones más inmediatas de los sistemas de

reconocimiento como interfaz hombre-máquina es la ayuda a

discapacitados físicos, mediante comandos orales se pueden controlar

muchas de las funciones cotidianas, tenemos como ejemplos en fase de

experimentación, la silla de ruedas controlada por medio de la voz,

camas hospitalarias, la activación oral de aparatos y sistemas

domésticos, entre otros. La activación por medio de la voz de aparatos y

sistemas domésticos, incluida dentro del campo de la domótica, tiene

como objetivo el controlar a estos mediante comandos orales a través

de un sistema de diálogo, los sistemas de reconocimiento utilizados en

este tipo de aplicaciones suelen ser de palabras aisladas, de modo que

se entrena el sistema con la voz del usuario.

Un sueño que comienza a ser realidad es la máquina de escribir oral, es

decir, un sistema de conversión de voz a texto con un vocabulario muy

grande ( > 5000 palabras) que puede transcribir habla natural sin

restricciones a texto. Este tipo de reconocedores de voz se están

desarrollado en la actualidad y ya se pueden encontrar en explotación

comercial alguna de ellos. Ejemplos de los mismos son los sistemas

comercializados por Dragon Systems e IBM, que permite reconocer un

vocabulario de hasta 60000 palabras trabajando sobre un PC, utilizando

un sistema de adaptación al usuario de modo que no es necesario un

entrenamiento del mismo. El sistema aprende de forma interactiva el

estilo de habla del usuario y reconoce palabras aisladas con

separaciones entre palabras de un cuarto de segundo. Con este

sistema se puede llegar a crear un texto a una velocidad de hasta 120

palabras por minuto. Actualmente se pueden adquirir en el mercado

Page 24: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

7

productos como teléfonos, juguetes, radio cassete de auto, teléfonos

móviles para autos, grabadores de vídeo, agendas personales que

incorporan un sistema sencillo de reconocimiento de voz para controlar

las funciones más elementales de dichos productos, el desarrollo de los

mismos se basan en cálculos matemáticos de markov y cálculo de

los coeficientes cepstrales de Mel , por ende el costo de cada uno es

bastante competitivo, dependiendo del sistema operativo, sus API’s

están disponibles en cada una de las plataformas realizadas.

Con el auge de Internet, han aparecido ya navegadores que incorporan

tecnologías del habla. En concreto existen navegadores que permiten

realizar la navegación por voz, solo hace falta pronunciar los enlaces y

permiten igualmente una interacción con el usuario utilizando un

conversor texto - voz. Un ejemplo es el navegador WebConversa.

El estudio e integración de las redes neuronales es importante para el

desarrollo de esta aplicación por lo que se basa en el reconocimiento de

patrones y de esta manera se obtiene un aprendizaje continuo, por

medio de este estudio abrimos paso a una parte del estudio de la

domótica dando como resultado sistemas inteligentes, el reconocedor

LAC a diferencia del resto de aplicaciones se basa en la implementación

de redes neuronales conjuntamente con el microcontrolador

PIC18F4550, sistemas que como mencionamos anteriormente están en

fase de experimentación y prueba, para salir al mercado actual.

Page 25: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

8

MARCO TEÓRICO

Page 26: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

9

2. MARCO TEÓRICO

El mundo está rodeado de sonidos de diferentes intensidades y procedencias,

los mismos que estimulan el sentido del oído humano. A continuación se

expone todos aquellos parámetros de importancia en la propagación,

transmisión y recepción del sonido en un computador, seguido de su respectivo

procesamiento digital y del proceso de reconocimiento de patrones de señales,

de manera que nos permita aclarar cualquier duda futura.

2.1. TEORIA DEL SONIDO

“El sonido es una vibración que se propaga a través del aire, gracias a que las

moléculas del aire transmiten la vibración hasta que llega a nuestros oídos”

(Artículo Jalejos, 2011). Esta vibración propagada en el aire se denomina

perturbación y cuando se produce una perturbación se originan ondas sonoras

longitudinales que se desplazan en un medio elástico. Dicho desplazamiento

tiene una velocidad de propagación que al igual que el sonido tiene una

velocidad de transmisión a través del aire de aproximadamente 340 m/s,

dependiendo de factores tales como la presión atmosférica, temperatura, etc.

La siguiente gráfica nos muestra las vibraciones físicas emitidas al golpear un

diapasón.

Figura 1. Onda de Sonido emitida por un Diapasón (Artículo Jalejos, 2011).

Page 27: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

10

2.1.1. CARACTERÍSTICAS FUNDAMENTALES DE LAS ONDAS SONORAS

Cuando se escucha un sonido procedente de un instrumento musical se

puede apreciar varias de sus características, se nota si el sonido es fuerte

o débil. Existe una serie de características que permiten identificar y

diferenciar unos sonidos de otros. Entre las principales para el desarrollo de

este proyecto, se resume en las siguientes:

La Frecuencia

“Es el número de oscilaciones que una onda efectúa en un determinado

intervalo de tiempo” (Artículo Jalejos, 2011). La unidad con la cual se mide

la frecuencia se llama hertzios (Hz) y equivale a un ciclo por segundo. El

tono de un sonido está directamente relacionado con la frecuencia, siendo

el tono una característica perceptiva que se capta en los sonidos periódicos

donde se determina si el sonido es más agudo (vibraciones muy rápidas) o

más grave (vibraciones lentas).

Figura 2. Ondas de mayor y menor Frecuencia (Artículo Jalejos, 2011).

El oído humano es capaz de percibir sonidos entre 20 Hz y 20 KHz, éste

margen auditivo varía según la edad de las personas y otros factores. Las

Page 28: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

11

frecuencias en un alto nivel pueden ocasionar daños en el oído por

exposición a ruidos muy fuertes, por lo que se debe tomar precauciones.

La Amplitud

Es la distancia entre las posiciones extremas (altura de la onda) es decir

por encima y por debajo de la línea central de la onda de sonido. Esta

línea es llamada también cero grados y equivale a “silencio”.

La amplitud significa la intensidad o volumen del sonido, si las amplitudes

son pequeñas se obtiene como resultado sonidos leves pero si las

amplitudes son grandes los sonidos serán fuertes o intensos.

Figura 3. Ondas de menor y mayor Amplitud (Artículo Jalejos, 2011)

La amplitud se mide habitualmente en decibeles (dB). El umbral de

audición varía entre 0 dB y 130 dB, cabe recalcar que los sonidos

superiores a 110 dB producen sensación dolorosa y la permanente

exposición a altos niveles de amplitud provoca la disminución de la

capacidad auditiva.

Page 29: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

12

La amplitud que se utiliza en este proyecto dependerá de los datos

tomados de la grafica que se forma al pronunciar el comando.

Periodo

Es un parámetro directamente relacionado con la frecuencia. “El periodo

define el tiempo que tarda la onda sonora en completar un ciclo de su

recorrido.” (Artículo Jalejos, 2011). El periodo se mide en segundos.

Figura 4. Periodo de una onda sonora (Artículo Jalejos, 2011).

2.1.2. PRODUCCIÓN DEL SONIDO DE VOZ

Se puede decir que la producción y emisión de los sonidos verbales se

debe a la acción o funcionamiento secuenciado y sincronizado de los

siguientes elementos:

* Una corriente de aire o fuente de energía, la cual es producida

por los pulmones y los músculos respiratorios.

* Un órgano vibrador, constituido por las cuerdas vocales que se

encuentran en la laringe.

Page 30: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

13

* Una caja de resonancia, conformada por la boca, la nariz y la

garganta.

* Articuladores, conformados por los labios, dientes, paladar

duro, velo del paladar y la mandíbula.

En la Figura 5., se aprecia el sistema vocal humano con sus elementos:

Figura 5. Sistema vocal Humano (GA, 2003)

El proceso empieza en los pulmones con la respiración del aire, el mismo

que al llegar a las cuerdas vocales genera en ellas un movimiento

vibratorio, produciéndose la voz en su tono fundamental; luego sufre una

modificación en la caja de resonancia de la nariz, la boca y garganta, en

la que se amplifica y se forma el timbre de voz, finalmente los

articuladores se encargan de moldear esa columna sonora,

transformándola en sonidos como fonemas, sílabas y palabras.

2.1.3. FORMATOS DE ARCHIVOS DE SONIDO

Históricamente, cada modelo de computador o programa definió su

propio formato para almacenar la información de sonido. Algunos de

Page 31: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

14

estos formatos han perdurado y se han convertido en los más empleados

actualmente como por ejemplo los archivos con formatos .au, .voc, .wav,

.mp3, .midi, .ra, etc.

Formato WAVE

Wave (onda) es un formato de archivo originario de Microsoft Windows

3.1 (1995). Tiene normalmente la extensión (.wav), y se refiere a la forma

que tiene la representación gráfica del sonido. Este formato trata de

almacenar las muestras una tras otra indicando la frecuencia de

muestreo, sin ningún tipo de compresión de datos y con cuantificación

uniforme.

Los usuarios de Windows prefieren utilizar este formato para el

almacenamiento de sonidos por su flexibilidad para el tratamiento digital

del sonido por ende se puede manipular su grabación en distintas

frecuencias de muestreo además recalca la calidad y tamaño tal como

11,02 KHz, 22,05 KHz o 44,1 KHz.

Figura 6. Formato de Controles

(Pantalla capturada del sistema Reconocedor LAC)

Page 32: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

15

2.1.4. REPRESENTACIÓN DE LA SEÑAL DE SONIDO

Una señal de sonido puede estar representada principalmente de forma

análoga o digital:

Sonido Analógico

“El Sonido Analógico es aquel que se almacena, procesa y reproduce

gracias a circuitos electrónicos y otros dispositivos de carácter analógico,

así tenemos por ejemplo la cinta magnética (en casette o en

bobina).”(Jordá Puig, Sergi, 1997).

El procesamiento del sonido analógico funciona de la siguiente manera:

las ondas producidas por la voz corresponden a un sonido analógico es

decir a una onda sinusoidal continua compuesta por varias ondas con

distintas frecuencias, las mismas que son captadas por un micrófono,

éste convierte la vibración de las ondas emitidas en una señal eléctrica

que viaja por un cable hasta el aparato grabador.

El frecuente uso conlleva a un desgaste del material al igual que la

duplicación del sonido en formato analógico siempre genera una pérdida

de calidad. Es más, si se realizan sucesivas copias o duplicaciones, se

producen pérdidas de calidad cada vez mayores.

En la Figura 7., se observa gráficamente este proceso:

Page 33: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

16

Figura 7. Sonido Analógico – Grabación, (Jordá Puig, Sergi, 1997).

Sonido Digital

“Al sonido digital se lo almacena, procesa y reproduce en soportes

digitales, en forma de datos numéricos es decir con datos binarios (1,0).

Existen varios dispositivos de almacenamiento de sonido digital tales

como: CD-Audio, CD-ROM, DVD, discos duros, disquettes, incluso la

cinta de vídeo, etc.”(Sergi Jordá, 2003).

La captación del sonido por el micrófono es igual que en el caso

analógico, pero la señal eléctrica u onda emitida, esta vez es procesada

por medio de un convertidor analógico-digital para la obtención de datos

numéricos (binarios). Esta tarea es realizada varias veces por segundo

generando lo que se llama Muestreo Digital del Sonido (sampling).

Page 34: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

17

Figura 8. Señal Digitalizada. (Sergi Jordá, 2003).

2.2. PROCESAMIENTO DIGITAL DEL SONIDO

El procesamiento digital es un área que ha venido desarrollándose en los

últimos años gracias a la fabricación de circuitos integrados con gran potencial

tecnológico, lo que ha permitido un significativo logro en aplicaciones como las

telecomunicaciones, imágenes, audio, etc.

“El principio fundamental de la señal digital consiste en discretizar las señales

sonoras continuas (como las captadas por un micrófono) para convertirlas en

secuencias de números.” (Chion, Michel, 1999). Para trabajar con sonidos en la

computadora hay que transformar los sonidos en datos digitales utilizando una

placa de sonido. En la actualidad hay muchas maneras de digitalizar una señal

así como por ejemplo utilizando un conversor A/D (Análogo/Digital – de 16 o 32

bits), una grabadora digital o un software que tenga este propósito.

Para tener una idea más clara, en la Figura 9., se presenta el funcionamiento

de una tarjeta de sonido la misma que puede ser de tipo PCI, ISA, PCMCIA,

USB:

Page 35: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

18

3 1 2 4 6 8 5 7

Figura 9. Diagrama de una Tarjeta de Sonido (Sergi Jordá, 2003).

Page 36: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

19

2.2.1. CUADRO DE FUNCIONAMIENTO DE UNA TARJETA DE SONIDO

Tabla 1. Funcionamiento de una Tarjeta de Sonido (Sergi Jordá, 2003).

N° Parte NOMBRE FUNCIÓN OBSERVACIONES

1

Buffer

(RAM)

La función del buffer es

almacenar temporalmente los

datos que viajan entre la

máquina y la tarjeta. Por

ejemplo, si la CPU no envía

un dato a tiempo, la tarjeta

puede seguir reproduciendo

lo que tiene en el buffer; si lo

datos llegan demasiado

rápido, se van guardando.

Lo mismo pasa en

sentido inverso.

Muchos ordenadores

realizan la transmisión

por DMA (Acceso

directo a la memoria).

Esto permite

transportar los datos

entre la tarjeta y la

memoria directamente,

sin la intervención de la

CPU, lo cual le ahorra

trabajo.

2

DSP

Procesador de señal digital,

es un pequeño

microprocesador que efectúa

cálculos y tratamientos sobre

la señal de sonido, liberando

así a la CPU de ese trabajo.

Entre las tareas que realiza

se incluye compresión (en la

grabación) y descompresión

(en la reproducción) de la

señal digital.

También puede

introducir efectos

acústicos tales como

coros, reverberación,

etc., a base de

algoritmos.

Page 37: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

20

Tabla 1. A continuación...

3

ADC

Conversor

analógico‐digital, se encarga

de transformar la señal de

sonido analógica en su

equivalente digital.

Esto se lleva a cabo mediante

tres fases: muestreo,

cuantificación y codificación.

Este proceso de

muestreo vamos a

llevar a cabo en este

proyecto para

transformar una señal

de voz analógica a una

señal de voz digital.

4

DAC

Conversor digital-analógico

su misión es reconstruir una

señal analógica a partir de su

versión digital.

El circuito genera un nivel de

tensión de salida de acuerdo

con los valores que recibe, y

lo mantiene hasta que llega el

siguiente.

En consecuencia se produce

una señal escalonada, pero

con la suficiente frecuencia

de muestreo puede reproducir

fielmente la original.

En este caso el

proyecto no llevará a

cabo este paso ya que

no va responder a un

comando con una

señal de voz sino con

un comando de

ejecución.

Page 38: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

21

Tabla 1. A continuación...

5

Sintetizador

FM

La síntesis por modulación

de frecuencias implementa

uno de los métodos para

sintetizar sonido a partir de

información simbólica (MIDI).

Con esto se pueden

conseguir formas de onda

complejas con múltiples

armónicos, que es lo que

define el timbre.

El tono y volumen del

sonido deseado los

determinan la

frecuencia y la amplitud

de la onda.

Da más flexibilidad y

por tanto más

expresividad a la

generación de ondas, a

la vez que permite

someter la señal a

tratamiento digital.

6

Sintetizador

Tabla de

Onda

La síntesis mediante tabla

de ondas es un método

alternativo al FM. En vez de

generar sonido de la nada,

utiliza muestras grabadas de

los sonidos de instrumentos

reales. Estas muestras están

almacenadas en formato

digital en una memoria ROM

incorporada, aunque también

pueden estar en memoria

principal y ser modificables.

Alternativamente, este

proceso puede ser

llevado a cabo

enteramente por

software, ejecutado por

la CPU con muestras

almacenadas en disco

y un algoritmo

apropiado (códec de

audio).

Page 39: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

22

Tabla 1. A continuación...

Este componente puede tener

una salida analógica o digital,

aunque es preferible la

segunda.

En general el sonido

resultante es de mayor

calidad que el de la síntesis

FM.

Esta técnica es muy

utilizada porque

permite abaratar el

costo de la tarjeta.

7

Mezclador

El mezclador tiene como

finalidad recibir múltiples

entradas, combinarlas

adecuadamente, y

encaminarlas hacia las

salidas.

Tanto las entradas

como las salidas

pueden proceder de la

tarjeta o del exterior.

El mezclador suele

trabajar con señales

analógicas, aunque

también puede manejar

digitales (S/PDIF).

8

Conectores

Los Conectores son los

elementos físicos en los que

deben conectarse los

dispositivos externos, los

cuáles pueden ser de entrada

o de salida.

Los conectores más

utilizados para las

tarjetas de sonido a

nivel de usuario son los

mini jack al ser los más

económicos.

Page 40: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

23

Con el diagrama anterior y el cuadro de funcionamiento de la tarjeta de

sonido se puede aclarar la manera de digitalizar una señal análoga, por

ende para obtener la digitalización de un sonido es necesario seguir los

siguientes pasos:

* muestreo (sampling),

* cuantificación y

* codificación.

2.2.2. MUESTREO

La palabra muestreo es equivalente del término inglés sampling, se

concreta en la toma de valores binarios de una señal continua en

sucesivos instantes de tiempo (segundos).

El teorema de Nyquist-Shannon dice: “La frecuencia de muestreo

mínima requerida para realizar una grabación digital de calidad, debe ser

igual al doble de la frecuencia de audio de la señal analógica que se

pretenda digitalizar o grabar.” (Thomas D. Kite, 2001).

Un muestreo de conversión analógica - digital implica la pérdida de

alguna información originalmente existente en la señal. Para evitar este

problema, es preciso que la información perdida sea inaudible, lo cual se

soluciona eligiendo la frecuencia de muestreo de modo tal que el ancho

de banda resultante incluya todas las señales audibles. Esto corresponde

a un máximo de 20 KHz (20000 muestras por segundo). La tasa de

muestreo debe ser entonces mayor de 40 KHz (40000 muestras por

segundo) y por razones prácticas se ha adoptado una tasa de muestreo

normalizada a 44100 Hz.

Page 41: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

24

A medida que aumenta la frecuencia de muestreo, aumenta la calidad del

sonido. Por ejemplo si se emite un comando de voz a una frecuencia de

8000 Hz es bueno para una voz masculina, pero no lo es para una voz

femenina, que tiene componentes con una frecuencia más alta. Una vez

finalizado el muestreo se debe proceder a la digitalización de la señal.

Tamaño ó formato de la Muestra

El tamaño de muestra es el componente de mayor influencia en la

calidad del sonido digital ya que representa el número de bytes

utilizados para almacenar cada muestra.

“Las tarjetas de sonido de 16 bits (2 bytes) ofrecen la posibilidad de elegir

entre un tamaño de muestra de audio digital de 8 bits (1 byte) o de 16

bits (2 bytes).” (V. Garcia – UCM, 1991).

2.2.3. CUANTIFICACIÓN En la cuantificación el rango total de la amplitud de la señal continua se

divide en número finito de sub-rangos, y las amplitudes de las ondas que

están en el mismo sub-rango se asignan al mismo valor de amplitud.

Para cuantificar una señal con K bits, el número de niveles (sub-rangos)

que garantiza la mayor eficiencia en el uso de las palabra en código

binario es 2K. Normalmente se usan sub-rangos del mismo tamaño, y K

suele tomar los valores 8 ó 16 bits (1 ó 2 bytes).

La diferencia entre el valor muestreado después de la cuantificación y el

valor original analógico se conoce como error de cuantificación.

Page 42: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

25

Tipos de Cuantificación

Para minimizar los efectos negativos del error de cuantificación, se

utilizan distintas técnicas de cuantificación:

1. Cuantificación uniforme o lineal: Se utiliza un bit rate constante. A

cada muestra se le asigna el valor inferior más próximo,

independientemente de lo que ocurra con las muestras adyacentes.

2. Cuantificación no uniforme o no lineal: Un cuantificador no

uniforme permite adaptarse a las variaciones de la señal por medio

de un análisis de la entropía de la señal analógica y se asignan

niveles de cuantificación de manera no uniforme de tal modo que se

asigne un mayor número de niveles para aquellos márgenes en que

la amplitud del voltaje cambia más rápidamente.

3. Cuantificación logarítmica: Se hace pasar la señal por un

compresor logarítmico antes de la cuantificación. Como en la señal

resultante la amplitud del voltaje sufre variaciones menos abruptas la

posibilidad de que se produzca un ruido de cuantificación grande

disminuye. Antes de reproducir la señal digital, esta tendrá que pasar

por un expansor.

4. Cuantificación vectorial: En lugar de cuantificar las muestras

obtenidas individualmente, se cuantifica por bloques de muestras.

Cada bloque de muestras será tratado como si se tratara de un

vector, de ahí, el nombre de esta tipología.

El cuantificador lineal es ideal para estudiar muestras de voz; dónde los

datos tienden a ser irregulares y variantes. Con estos datos se forma una

Page 43: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

26

matriz de puntos en la wave (forma) de la señal de voz que ingresa.

Estos datos nos sirven para extraer el vector de características de la

señal emitida por el usuario y de esta manera analizarla con el método

respectivo neuronal para su previo reconocimiento.

2.2.4. CODIFICACIÓN

La codificación consiste en asignar un código binario de K bits a cada

uno de los sub - rangos de la cuantificación. Existen múltiples formas de

realizar la codificación que presentan distintas soluciones a distintos

problemas, ya sean de recuperación de errores en la transmisión,

procesamiento matemático, entre otros.

“El número de niveles (N) determina la precisión del análisis y, por tanto,

el número de bits (b) necesarios para la presentación digital de cada

muestra:

Teniendo en cuenta la relación de Nyquist se puede determinar el flujo

de información, en bits por segundo. La codificación es el resultado del

proceso combinado de muestreo y cuantificación.” (Esparza Arellano

María Elena, Avalos Briseño Benito, 2003).

2.3. REDES NEURONALES ARTIFICIALES (RNA)

Las Redes Neuronales Artificiales (RNA) o Artificial Neural Networks (ANN) han

ido desarrollándose con el pasar del tiempo en la vida tecnológica

computacional hasta convertirse actualmente en un gran desafío en el proceso

de imitar la capacidad de aprendizaje humana.

Page 44: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

27

Se conoce que el cerebro humano es el mejor sistema de razonamiento,

aprendizaje e independencia, convirtiéndose de esta manera en una sofisticada

computadora de funcionamiento complejo, capaz de aprender sin necesidad de

que se le proporcione instrucciones ya que todo su conocimiento y aprendizaje

se basa en la experiencia y en un sentido común.

2.3.1. RED NEURONAL BIOLÓGICA

El punto de partida en el estudio del cerebro lo podríamos fijar por el

año 1888 cuando Santiago Ramón y Cajal demuestra que el sistema

nervioso en realidad estaba formado por una red de células individuales

llamadas neuronas, las mismas que se encontraban interconectadas

entre sí.

Figura 10. Neurona Biológica (Rodrigo Salas, 1987)

Santiago Ramón y Cajal estableció también que la información fluye en

la neurona desde la dendrita (canal de entrada de información), hacia el

axón (órgano de computo), atravesando el soma ó cuerpo (canal de

salida). La unión entre dos neuronas se llama sinapsis.

Page 45: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

28

2.3.2. ¿QUÉ ES UNA RED NEURONAL ARTIFICIAL?

Existen muchas definiciones sobre Redes Neuronales Artificiales, pero

entre ellas se puede mencionar las siguientes definiciones:

* “Una Red Neuronal Artificial es un ensamblaje de nodos

interconectados, cuya funcionalidad está basada en el

funcionamiento de la neurona humana. La capacidad de

procesamiento de la red es representada por las fuerzas de

conexión (pesos) entre los nodos, obtenidos por un proceso de

aprendizaje mediante un conjunto de patrones de

entrenamiento.” (Federico Carnevale, 2010).

* “Es una nueva forma de computación, inspirada en modelos

biológicos del ser humano en especial del sistema nervioso,

utilizando modelos matemáticos y estadísticos que solucionen

determinada tarea o función, emulando de esta manera el

funcionamiento del cerebro humano.” (Hilera, Martínez, 2010).

Figura 11. Estructura del cerebro humano (S. Y. Kung, 1993)

Page 46: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

29

En sí, las Redes Neuronales Artificiales vienen a ser un sistema

computacional que trata de imitar el comportamiento y funcionamiento

del cerebro humano, en particular del sistema nervioso, con la intención

de construir sistemas de procesamientos de la información paralelos,

distribuidos y adaptativos que puedan presentar un cierto

comportamiento “inteligente” y que tengan la habilidad de adaptarse a

un medio determinado y aprender del mismo, ayudando al ser humano

a resolver problemas complejos y ofreciendo soluciones robustas y de

fácil implementación.

En la Figura 12., se muestra una neurona artificial y sus componentes:

Figura 12. Neurona Artificial (Pedro Isasi Viñuela,

Inés Galván León, 2003)

Como se puede observar, una neurona artificial se parece a la célula

neuronal biológica. Además trabaja del mismo modo.

* Un conjunto de entradas jX y unos pesos sinápticos ( ijW , con j

= 1,…….., n.) que determinan el comportamiento de la neurona.

Page 47: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

30

Estas conexiones pueden ser excitadoras (presentan un signo

positivo), o inhibidoras (conexiones negativas).

* Una regla de propagación o función de red, definida a partir del

conjunto de entradas ( jX ) y los pesos sinápticos ( ijW ). Es decir

las entradas multiplicadas por el peso o valor de las conexiones.

* Una función de activación, la cual representa simultáneamente

la salida de la neurona y su estado de activación. Es quizás la

característica principal o definitoria de las neuronas, la que mejor

define el comportamiento de las mismas. Se usan diferentes

tipos de funciones desde simples funciones de umbral a

funciones no lineales, así tenemos por ejemplo:

* Función Escalón

* Función Lineal y Mixta

* Función Sigmoidal

* Función Gaussiana

* Una función de conexiones ponderadas, hacen el papel de las

conexiones sinápticas. El peso de las conexiones equivale a la

fuerza o efectividad de la sinapsis. La existencia de conexiones

determina si es posible que una unidad influya sobre otra, el valor

de los pesos y el signo de los mismos definen el tipo

(excitadoras/inhibidoras) y la intensidad de la influencia.

* Salida, calcula la salida de la neurona en función de la activación

de la misma, aunque normalmente se aplica el cálculo de la

función identidad y se toma como salida el valor de la activación.

Page 48: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

31

2.3.3. ARQUITECTURA DE UNA RED NEURONAL ARTIFICIAL

“Una vez establecido el comportamiento de una neurona artificial, se

conectan las neuronas entre sí con el fin de formar una red de

computación.” (La Muñoz Santa - 2002). La información dada a la red

neuronal, mediante su capa de entrada, es propagada capa tras capa

hasta la capa de salida, a través de ninguna, una o varias capas

ocultas. Esto también dependerá del algoritmo de aprendizaje.

Figura 13. Diagrama de la Arquitectura de la RNA (Pedro Isasi

Viñuela, Inés Galván León, 2003)

2.3.4. MODELOS DE REDES NEURONALES

Las redes neuronales se basan en dos tipos de aprendizaje: Supervisado

y No Supervisado.

Page 49: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

32

El Aprendizaje Supervisado

Maneja pares entrada – salida deseada. De esta manera, para una

determinada entrada se compara la salida obtenida por la red con la

deseada. El ajuste de los pesos está dirigido, por tanto, a minimizar en lo

posible la diferencia entre dichas salidas.

En el Aprendizaje no Supervisado

El planteamiento es totalmente diferente. Aunque a la red se le presentan

entradas para su entrenamiento (aprendizaje), no existen salidas

deseadas, sino que el sistema evoluciona de forma auto-organizada

hasta un estado considerado estable.

En el desarrollo de este proyecto se citan las redes basadas en el

Aprendizaje Supervisado tales como: Perceptrón Simple y Red

Backpropagation. Cabe recalcar que se toma el estudio del Perceptrón

Simple para comparar y ver las desventajas que esta red de

entrenamiento tiene al momento de estudiar el reconocimiento de

señales de voz frente a la red Backpropagation.

A continuación se realiza una breve descripción de las 2 redes

neuronales.

2.3.5. PERCEPTRÓN SIMPLE

“Es un modelo unidireccional, compuesto por dos capas de neuronas,

sensorial o de entrada y otra de salida.” (Iván Martínez Ortiz, 2012).

El perceptrón realiza primero una suma ponderada de las P

componentes del patrón de entrada. Si la suma ponderada de las

Page 50: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

33

variables de entrada es mayor a un cierto umbral, el perceptrón se activa

y la salida da 1.

Figura 14. Perceptrón Simple. (Iván Martínez Ortiz, 2012).

El entrenamiento de un perceptrón simple se puede resumir en los

siguientes pasos:

* Primero se inicializa la matriz de pesos y el valor del umbral. Por

lo general se asignan valores aleatorios a cada uno de los

pesos Wi (valor de los pesos) y al valor b (valor del umbral).

* Luego se presenta el primer patrón a la red, junto con la salida

esperada en forma de pares entrada/salida. La salida de la red

se calcula utilizando la siguiente fórmula.

Donde: f : puede ser la función escalón unitario (función de trasferencia)

W: son los pesos,

: son las entradas,

b: es el valor del umbral.

Page 51: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

34

* Cuando se tiene como resultado una salida incorrecta, es

necesario alterar el valor de los pesos, llevándolos hasta y así

aumentar las probabilidades de que la clasificación sea correcta.

2.3.6. REGLA DELTA – LMS

“Se conoce como Regla Delta porque se trata de minimizar una delta ó

diferencia entre el valor observado y el deseado en la salida de una red

neuronal.” (Hilera & Martínez, 1995).

La regla Delta o LMS (Least Mean Squared) constituye la forma en que

una red neuronal aprenderá, es decir, que varios criterios y reglas se

aplicaran para modificar los pesos de las conexiones y convergir su

aprendizaje.

En general, la red debe adaptar los pesos de sus conexiones a medida

que se ingrese los patrones de entrenamiento con sus respectivas

salidas; de manera que, por cada par de valores

( ) se realizará un ajuste

automático pequeño en los pesos hasta que sus salidas obtenidas sean

correctas ( ).

2.3.7. RED BACKPROPAGATION

“Las redes Backpropagation se llevan a cabo mediante la

generalización de la regla delta. Esta regla consiste en utilizar una

función de error asociada a la red, buscando el estado estable de

mínimo error a través del camino descendente de la superficie del error.

Por ello realimenta el error del sistema para realizar la modificación de

los pesos en un valor proporcional al gradiente decreciente de dicha

Page 52: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

35

función de error.” (José Manuel Quero Reboul, 2012).

La Arquitectura de la red Backpropagation presenta una arquitectura

multicapa, la misma que se caracteriza por presentar agrupaciones de

neuronas en capas de diferentes niveles, lo que indica que cada capa

se encuentra conformada por un conjunto de neuronas. A continuación

podemos diferenciar los tres tipos de capas:

* Capas de Entrada.- Es el primer nivel de la red neuronal compuesta

por neuronas que reciben las señales de la entrada de fuentes

externas a la red. En esta capa las neuronas reciben los valores de

patrones representados como vectores de datos que sirven de

entrada a la red neuronal, por ende en esta capa no se realiza

ningún tipo de operación.

* Capas Ocultas.- Puede haber una ó varias capas intermedias ó

internas que se encuentran entre las capas de entrada y las capas

de salida, no tienen contacto con el medio exterior. La principal

característica de estas capas es la de determinar el número de

neuronas que va a tener la topología de una red neuronal donde sus

elementos pueden tener diferentes conexiones.

* Capas de Salida.- Es el último nivel de la red neuronal, las

neuronas de esta capa son las encargadas de recibir la información

emitida por las neuronas de la(s) capa(s) oculta(s) y la transmite

como resultado al medio externo.

Page 53: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

36

Figura 15. Arquitectura de una Red Backpropagation.

(Verónica Mora, 2009).

El Entrenamiento de una red Backpropagation consiste en un

aprendizaje de un conjunto predefinido de pares de entrada/salida

utilizando un ciclo propagación/adaptación de dos fases que son:

Primera Fase

* Se toma los valores de entrada con sus respectivos valores de

salida.

* Luego se aplica un patrón inicial para estimular la primera capa

de neurona, la misma que se va propagando a través de las

capas hasta llegar a las neuronas de salida y obtener sus salidas.

* Esta salida se compara con la deseada y se calcula el error

generado. Este error se transmite hacia atrás y en la capa

intermedia se recibe el error al valor de la salida.

Page 54: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

37

* Este es un proceso que se repite para todas las capas. En base al

valor del error recibido, se reajustan los pesos de conexión de

cada neurona de manera que en la siguiente vez que se presente

el mismo patrón, la salida esté más cercana a la deseada, es

decir el error sea mínimo.

Segunda Fase

* El entrenamiento de la red Backpropagation es capaz de auto

adaptar los pesos de las neuronas de las capas intermedias para

aprender la relación que existe entre un conjunto de patrones

dados como ejemplo y sus salidas correspondientes.

* Los sistemas de aprendizaje tienen como característica la

capacidad de generalización. Tienen la facilidad de dar salidas

satisfactorias a entradas que el sistema no ha tenido nunca en la

fase de entrenamiento.

Regla de Aprendizaje del Backpropagation

El Algoritmo Backpropagation para redes multicapa es una

generalización del algoritmo LMS, los dos algoritmos se

encargan de actualizar el valor de los pesos y umbrales con base

en el error medio cuadrático. Esta red trabaja bajo un aprendizaje

supervisado por lo que necesita un programa de entrenamiento

que le defina el valor de salida y el valor de salida esperado, de

la siguiente manera:

dónde;

Page 55: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

38

: es una entrada a la red

: es la correspondiente salida deseada para el patrón

n-ésimo.

El algoritmo debe ajustar los parámetros correspondientes de la

red para minimizar el error medio cuadrático y optimizar el

resultado.

La deducción matemática de este procedimiento se realizará

para una red con una capa de entrada, una capa oculta y una

capa de salida y luego se generalizará para redes con más capas

ocultas. A continuación explicaremos la deducción matemática

del aprendizaje del Backpropagation.

Datos:

l : número de componentes del vector de entrada

m : numero de neuronas de la capa oculta

p : número de neuronas de la capa de salida

Para iniciar el entrenamiento se le presenta a la red un patrón de

entrenamiento, el mismo que tiene l componentes.

a =

Cuando se le presenta a la red un patrón de entrenamiento, este

se propaga a través de las conexiones existentes produciendo

una entrada neta n en cada una de las neuronas de la capa

Page 56: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

39

siguiente, para este procedimiento se utiliza la siguiente fórmula

matemática.

dónde;

: peso que une la componente i de la entrada con

la neurona j de la capa oculta.

: componente i del vector que contiene el

patrón de entrenamiento de componentes.

: umbral de la neurona j de la capa oculta.

Cada una de las neuronas de la capa oculta tiene como salida

que está dada:

Figura 16. Arquitectura de una red Backpropagation en un

Reconocedor de voz. (Verónica Mora, 2009).

Page 57: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

40

2.3.8. CUADRO COMPARATIVO ENTRE PERCEPTRON SIMPLE Y

BACKPROPAGATION

La Tabla 2., recalca las ventajas y desventajas de cada uno de los

modelos anteriormente mencionados, dando como resultado una

comparación de los mismos.

Tabla 2. Cuadro Comparativo de Información (Verónica Mora, 2009)

PERCEPTRON SIMPLE

BACKPROPAGATION

El perceptrón simple puede

utilizarse como clasificador, ya

que el algoritmo de

aprendizaje permite determinar

automáticamente los pesos

sinápticos que clasifican un

conjunto de patrones a partir

de un conjunto de ejemplos

etiquetados.

La idea central se encuentra en

calcular los errores para las

unidades de las capas ocultas a

partir de los errores de las

unidades de la capa de salida

siendo propagados capa tras

capa hacia la entrada.

Las fases de cálculo se basan

en una función de transferencia

lineal. La mayor desventaja de

este tipo de redes es su

incapacidad para solucionar

problemas que no sean

linealmente separables.

Cuenta con fases de cálculo

hacia adelante (Consiste en la

propagación de las señales de

entrada hacia la salida y en el

cálculo del error cometido

comparando la salida obtenida

con la deseada) y hacia atrás

(Este paso se inicia en la capa de

salida pasando las señales de

error hacia la capa de entrada

Page 58: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

41

Tabla 5. A continuación …

capa a capa, y calculando

recursivamente los gradientes

locales para cada neurona).

Tiene una función de

transferencia Hardlim con

salidas [1,0] o Hardlim con

salidas [1,-1].

Primera Capa.- Logsig cuando la

función es positiva y tansig cuando

se le permite a la función oscilar

entre valores tanto positivos como

negativos. Segunda Capa.- Utiliza

la función de transferencia purelim.

El algoritmo de aprendizaje del

perceptrón simple pertenece al

grupo de los algoritmos que se

fundamentan en la corrección

de errores. Los algoritmos de

este tipo ajustan los pesos de

manera proporcional a la

diferencia existente entre la

salida actual de la red

neuronal y la salida deseada,

con el objetivo de minimizar el

error actual de la red.

Es un método de aprendizaje

general que presenta como

ventaja principal el hecho de que

se puede aplicar a gran número de

problemas distintos,

proporcionando buenas soluciones

con no demasiado tiempo de

desarrollo.

Si la red se entrena mal, de

manera incorrecta o en tal

caso insuficientemente, las

salidas pueden ser imprecisas.

Una desventaja es que se debe

tomar experiencia al momento de

diseñar la arquitectura de las

capas ocultas para la red y su

buen desempeño.

Page 59: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

42

2.3.9. ¿PORQUÉ EMPLEAMOS LAS REDES NEURONALES EN EL

ESTUDIO DEL RECONOCIMIENTO DE PATRONES?

¿Qué es un patrón? Un patrón es una entidad a la que se le puede dar

un nombre y que está representada por un conjunto de propiedades

medidas y las relaciones entre ellas (vector de características). Por

ejemplo, en el reconocimiento de voz un patrón es una señal sonora

(comando) y su vector de características el conjunto de coeficientes

espectrales extraídos de ella (espectrograma).

Una Red Neuronal deriva una gran potencia computacional por su

estructura de cálculo muy independiente del modelo de red que se

implemente. Esta estructura le permite la resolución de problemas tales

como el reconocimiento de patrones que necesitarían gran cantidad de

tiempo en ordenadores.

Ventajas de las Redes Neuronales

Las Redes Neuronales presentan ventajas muy atractivas, debido a que

su arquitectura y conceptos se basan en ciertas características del

sistema nervioso y del cerebro, entre ellas el aprendizaje de experiencias

ó conocimiento adquirido.

Pero aparte de este hecho aparecen otras propiedades favorables para

ser usadas en el reconocimiento de patrones, entre ellas se pueden

mencionar:

* Son sistemas tolerantes a fallos: Hay dos aspectos distintos a la

tolerancia a fallos: primero, las redes pueden aprender a reconocer

patrones con ruido, distorsionados o incompletos, ésta es una

Page 60: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

43

tolerancia de fallos respecto a los datos. Segundo, las redes pueden

seguir realizando su función, con cierta degradación, aunque se

destruya parte de la red, ésta es una característica propia del

cerebro humano, se conoce que con el tiempo se van perdiendo

neuronas, pero esto no merma las capacidades del ser humano.

* Adaptabilidad: Una red neuronal tiene la capacidad de modificar los

parámetros de los que depende su funcionamiento de acuerdo con

los cambios que se produzcan en su entorno de trabajo (cambios

en las entradas, presencia de ruido, etc.).

Con respecto a la capacidad de adaptación hay que tener en cuenta

que ésta no puede ser tampoco excesivamente grande ya que

conduciría a tener un sistema inestable respondiendo a pequeñas

perturbaciones.

Se dice que es un sistema auto - adaptativo, por la capacidad que

presentan las neuronas artificiales para auto - ajustarse según el

conocimiento adquirido. Además que pueden estar en constante

cambio ya que pueden adaptarse a nuevas condiciones.

* Auto organización: Una red neuronal puede crear su propia

organización o representación de la información, a través de un

proceso de aprendizaje. Las Redes Neuronales almacenan la

información de manera distribuida para que todo el conocimiento se

extienda por cada una de las conexiones presentes en el modelo de

red neuronal obteniendo de esta manera una información

almacenada de forma redundante, lo que permite solucionar

problemas en los que la información prevista como entrada es

incompleta o no tan clara. Proveer una solución pese a las

diferentes condiciones de la información de entrada hace que la

Page 61: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

44

auto-organización sea una característica principal.

* Operación en Tiempo Real: Las redes neuronales llevan a cabo

un procesamiento paralelo, y si se aprovecha esta característica en

máquinas adecuadas, el procesamiento de reconocimiento de

patrones debe proporcionar respuestas en tiempo real.

Las Redes Neuronales no ejecutan instrucciones, responden en

paralelo a las entradas que se presentan en cada nivel en una red

neuronal; el conocimiento no se almacena en instrucciones, el poder

de la Red Neuronal está en su topología y en los pesos de las

conexiones entre neuronas.

Desventajas de las Redes Neuronales

“Las Redes Neuronales se caracteriza por ser sistemas no

programables” (P.Isasi – I.Galvan, 2004), es decir sistemas que no

requieren el desarrollo de algoritmos para la resolución de problemas ya

que la solución está en los mecanismos de aprendizaje basados en

ejemplos, pero en si presenta contrariedades tales como:

* Diseño de la Red Neuronal: Diseñar una Red Neuronal no es una

tarea sencilla por lo que es necesario capacitarse, ya que existen

varios factores que rigen el desempeño, rendimiento y

comportamiento de una Red Neuronal tales como la definición del

número de neuronas por nivel, el tipo de conexión, etc.

* Tiempo de Aprendizaje: El tiempo en que una Red Neuronal

aprenda no se puede conocer con anticipación ya que éste difiere del

modelo de la red neuronal utilizada y no se puede definir el número

Page 62: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

45

de iteraciones que deba tener el conjunto de ejemplos con la red

neuronal para un correcto entrenamiento.

2.4. RECONOCIMIENTO DE VOZ

En los Sistemas Neuronales Artificiales el reconocimiento de voz consiste en

comprobar si los datos ó información que se envía como parámetros de

entrada al sistema son identificados por medio del entrenamiento de la red

como datos válidos, determinando de esta manera si el resultado del

reconocimiento es la ejecución del comando esperado.

El reconocimiento de voz puede operar identificando sean palabras aisladas o

fonemas que implican mayor complejidad tal como reconocer frases.

Independientemente de la técnica que sea implementada, se utilizan siempre

dos conjuntos de datos:

* El primero es utilizado siempre para la etapa de aprendizaje, el cual

es llamado conjunto de entrenamiento. Se debe tratar de que los

patrones que integran este conjunto sean lo más diferente posible

entre sí, y que además representen al problema para poder tener un

buen porcentaje de generalización.

* El segundo conjunto de patrones, es llamado conjunto de prueba y es

utilizado en la etapa de reconocimiento.

Por último, para reconocer un comando de voz se debe realizar los siguientes

pasos generales:

1. Pre-procesamiento del sonido (voz)

Page 63: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

46

2. Extracción de características

3. Entrenamiento

4. Reconocimiento

2.4.1. PRE-PROCESAMIENTO DEL SONIDO (VOZ)

El objetivo de esta etapa es adicionar la señal de entrada para que esta

pueda ser procesada por la RNA. Las señales de voz de una persona

deben ser capturadas en sus diferentes tonalidades, es decir con

diferentes estados de ánimo, lo que conlleva a que cada muestra sea

diferente.

Normalización

“La normalización consiste en ajustar todos los parámetros a una

sola escala para que al momento de ser utilizados por la RNA no

causen problemas de estabilidad” (P.Isasi – I.Galvan, 2004), en

este caso la escala empleada se encuentra dada por los

parámetros de la función de activación de la RNA que es una

tangente bipolar sigmoidal y trabaja con valores de [-1,1], por lo

tanto cada comando de ingreso que ya está filtrado es

normalizado a esta escala.

El procedimiento a seguir es el siguiente:

* Se calcula la media (u) y la desviación estándar (σ) del vector

a[n].

* Se normalizan los datos según la relación:

Page 64: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

47

* Se calcula el máximo y el mínimo del vector , se divide

por el de mayor valor absoluto y los datos normalizados caen

dentro del intervalo [-1,1].

2.4.2. EXTRACCIÓN DE CARACTERÍSTICAS

La extracción de características permite la creación de un mapa mínimo

que describa una señal de audio y la relación de sus frames. A partir de

las relaciones existentes entre los frames se puede construir una

estructura que detalle la información contenida en una señal de audio.

En esta etapa se busca un método estadístico que describe algunas

características que pueden ser empleadas para describir

cuantitativamente regiones que hayan sido segmentadas en una señal.

Se entenderá por región aquel conjunto de frames que pertenezcan a

una misma zona de la señal normalizada. Las características que se

pueden extraer de una región se dividen en dos categorías:

* Características Geométricas

* Características Cromáticas.

Las características geométricas contienen información de forma,

posición, tamaño y orientación de la región y se usan comúnmente en el

reconocimiento de patrones.

En este proyecto se utilizará la extracción de características por medio

del estudio de los momentos invariantes de Hu.

Page 65: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

48

Momentos invariantes de Hu

En los últimos años se han utilizado los momentos invariantes de Hu

puesto que permiten caracterizar la geometría de una señal, objeto ó

imagen para permitir así su posterior reconocimiento.

“Los momentos de Hu presentan invarianza a transformaciones lineales

tales como traslaciones, rotaciones y cambios de escala.” (Gonzalez C,

Woods Richard, 2010). Esto quiere decir que dos regiones que tengan la

misma forma pero que sea de distinto tamaño y que estén ubicados en

posiciones y orientaciones distintas en la señal tendrán momentos de Hu

iguales.

Teóricamente para obtener los momentos invariantes a traslación,

cambio de escala y rotación se deben obtener funciones no lineales

cuando se combinan los momentos centrales normalizados, .

En 1962, Hu propuso los siete momentos invariantes que se definen a

partir de los momentos de orden dos y tres como se expone en la

Figura 17.,

Page 66: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

49

Figura 17. Invariantes propuestos por Hu.

Los momentos de Hu son útiles para realizar una descripción del

contorno de una imagen (rostro) ó señal de sonido (frames) para luego

crear un vector de características, cuyas componentes serán los

momentos de Hu.

2.4.3. ENTRENAMIENTO

Esta etapa tiene como característica principal la modificación de los

pesos de la red en cada una de las capas, de manera que coincida la

salida deseada por el usuario con la salida obtenida por la red ante la

presentación de un determinado patrón de entrada.

2.4.4. RECONOCIMIENTO

Se ha evaluado a la red neuronal y el respectivo entrenamiento de

manera que se encuentre con la respuesta u objetivo deseado, donde

Page 67: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

50

primeramente se probó con los mismos patrones de entrenamiento luego

se probó manualmente la ejecución del comando y finalmente se

experimentó con un comando real para el entrenamiento.

2.5. CIRCUITO ELECTRÓNICO

Así como la informática y ciencias de la computación han ido evolucionando así

también ha evolucionado la construcción y fabricación de los circuitos

electrónicos que toma como base a los circuitos integrados (CI) o chips.

El desarrollo de los circuitos integrados ha revolucionado los campos de las

comunicaciones, la gestión de la información y la informática. Han permitido

reducir el tamaño de los dispositivos y por ende la reducción de los costos de

fabricación y de mantenimiento de los sistemas. Al mismo tiempo, ofrecen

mayor velocidad y fiabilidad. Se han construido circuitos integrados a gran

escala que contienen varios centenares de miles de componentes en un solo

chip.

Los relojes digitales, las computadoras portátiles, los juegos electrónicos, etc.

son sistemas basados en microprocesadores.

2.5.1. MICROCONTROLADOR PIC 18F4550

Un Microcontrolador es un computador completo (microcontrolador +

E/S + memoria + otros periféricos), aunque de limitadas prestaciones,

que está contenido con el chip de un circuito integrado programable y

se destina a gobernar una sola tarea con el programa que recibe de su

memoria. Sus líneas de entrada/salida soportan la conexión de

sensores y actuadores a controlar desde el dispositivo.

Page 68: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

51

Esta familia de dispositivos PIC18 micro controladores son de alto

rendimiento computacional, económico, de alta resistencia, con un

programa flash mejorado de memoria y con la potencia sensible para

varias aplicaciones. Entre las aplicaciones se tiene el caso que este

proyecto refleja y es el estudio de los dispositivos de la familia

PIC18F4550 los mismos que incorporan un completo modelo de

comunicaciones “Serial Bus Universal” que es compatible con el puerto

USB de una computadora. Este módulo es compatible con la

comunicación de baja velocidad y alta velocidad para todas las

versiones y tipos de datos de transferencia.

También incorpora su propio chip transceptor y el regulador de voltaje y

soporta el uso de transceptores externos. Una de las claves para los

diseñadores de aplicaciones USB es la disponibilidad de soporte

firmware.

Las características principales del PIC 18F4550 son:

* Velocidad de operación de hasta 48 MHz.

* Posee una arquitectura RISC (Reduced Instruction Set

Computer) de 16 bits longitud de instrucciones y 8 bits de datos.

* Posee una memoria flash interna de programa de 32.768 bytes.

Almacena instrucciones y datos. Puede ser escrita/leída

mediante un programador externo o durante la ejecución del

programa mediante uso de punteros.

* Tiene una memoria RAM interna de datos (SRAM) de 2048

bytes en la que están incluidos los registros de función especial.

Almacena datos de forma temporal durante la ejecución del

programa y puede ser escrita/leída en tiempo de ejecución

Page 69: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

52

mediante diferentes instrucciones.

* Memoria EEPROM de datos no volátil de 256 bytes. Almacena

datos que se deben conservar aun en ausencia de energía

eléctrica y puede ser escrita/leída en tiempo de ejecución a

través de registros.

* Memoria de configuración en la que se incluyen bits de

configuración (12 bytes de memoria flash) y los registros de

identificación (2 bytes de memoria). Los 12 bytes de memoria

flash pueden ser configurados durante la programación del Chip

o durante la ejecución del programa. Las opciones que se

pueden configurar en estos bytes son las siguientes:

1. Opciones de oscilador.

2. Opciones de reset.

3. Opciones de watchdog o "perro-guardián", es un

concepto de protección usado para volver a reiniciar el

programa cuando éste se pierde o realiza una acción

no prevista.

4. Opciones de la circuitería de programación y

depuración.

5. Opciones de protección contra escritura de memoria de

programa y memoria EEPROM de datos.

* Este Chip dispone buses diferentes para el acceso a memoria

de programa y memoria de datos.

* Dispone de cinco puertos de E/S.

Page 70: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

53

Tabla 3. Resumen de las características internas del PIC18F4550

PARÁMETRO CARACTERISTICA

Tipo de Memoria de programa Flash

Memoria de Programa (KB) 32

CPU Velocidad (MIPS) 12

RAM Bytes 2048

EEPROM para datos (bytes) 256

Temporizadores 1x8 bits; 3x16 bits

Convertidores ADC 13 canales de 10 bits

Comparadores 2

USB (canal, velocidad, compatibilidad) 1, Full Speed, USB 2.0

Rango de temperatura (ºC) -40 a 85

Voltaje de Operación (V) 2 a 5.5 Vdc

Encapsulado 40 ines

2.5.2. ENCAPSULADO DE PIC 18F4550

Figura 18. Pines del Microcontrolador PIC18F4550

Page 71: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

54

Cuadro Operativo del Microcontralor PIC18F4550

Tabla 4. Cuadro Operativo del Microcontralor PIC18F4550

PUERTO # PINES Y NOMBRE FUNCIÓN

2 RA0/AN0 Entrada analógica (AN0)

3 RA1/AN1 Entrada analógica (AN1)

A

4 RA2/AN2/VREF- /

CVREF

Entrada analógica (AN2),bit de

configuración de la tensión de

referencia VREF-

5 RA3/AN3/

VREF+

Entrada analógica (AN3), bit de

configuración de la tensión de

referencia VREF+

6 RA4/T0CKI/

C1OUT/RCV

Entrada del reloj del temporizador 0

(T0CKI), salida de comparación

(C1OUT)

7 RA5/AN4/SS/

LVDIN/C2OUT

Entrada analógica (AN4), salida de

comparación (C2OUT), HLVDIN

entrada de detección de tensión

alta/baja

14 RA6/OSC2/CLK0

Entrada del oscilador principal

(OSC2), salida de señal del reloj

(CLK0)

13 OSC1/CLKI

Entrada del oscilador principal

(OSC1), salida de señal del reloj

(CLKI)

Page 72: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

55

Tabla 4. A

continuación …

33 RB0/AN12/INT0/

FLT0/SDI/ SDA

Entrada analógica (AN12),

interrupción externa 0 (INT0), entrada

de fallo del ECCP (FLT0), entrada de

datos del SPI (SDI), línea de datos

del PC (SDA).

34 RB1/AN10/INT1/

SCK/SCL

Entrada analógica (AN10),

interrupción externa 1 (INT1), línea de

reloj del SPI.

35 RB2/AN8/INT2/

VMO

Entrada analógica (AN8), interrupción

externa 2 (INT2), salida de datos del

USB (VCMO).

B

36 RB3/AN9/CCP2/

VPO

Entrada analógica (AN9), línea de E/S

del CCP2 (CCP2), salida de datos del

USB (VPO).

37 RB4/AN11/KBI0/

CSSPP

Entrada analógica (AN11),

interrupción por cambio en pin

(KBIO), salida del CS del SSP

(CSSP).

38 RB5/KBI1/PGM

Interrupción por cambio en pin (KBI1),

línea de programación (PGM).

39 RB6/KBI2/PGC

Interrupción por cambio en pin (KBI2),

línea de programación (PGC).

40 RB7/KBI3/PGD

Interrupción por cambio en pin (KBI3),

línea de programación (PGD).

Page 73: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

56

Tabla 4. A continuación …

15 RC0/T1OSO/

T1CKI

Salida del oscilador del Temp. 1

(T1OSO), entrada de contador del

Temp. 1 (T1CKI).

16 RC1/T1OSI/CCP2/

UOE

Entrada del oscilador del Temp. 1

(T1OSI), línea de E/S del CCP2

(CCP2), salida OE del transceiver del

USB (UOE).

17 RC2/CCP1/P1A

Línea de E/S del CCP1 (CCP1),

Salida PWM del ECCP1 (P1A).

23 RC4/D-/VM

Línea menos del bus USB (D-), línea

de entrada del USB (VM).

C

24 RC5/D+/VP

Línea más del bus USB (D+), línea de

entrada del USB (VP).

25 RC6/TX/CK

Salida de transmisión de EUSART

(TX), línea de reloj del EUSART (CK).

26 RC7/RX/DT/SDO

Línea de datos síncrona del EUSART

(DT), salida de datos del SPI (SDO).

D

19 RD0/SPP0 Línea de Datos del SPP (SPP0).

20 RD1/SPP1 Línea de Datos del SPP (SPP1).

21 RD2/SPP2 Línea de Datos del SPP (SPP2).

22 RD3/SPP3 Línea de Datos del SPP (SPP3).

27 RD4/SPP4 Línea de Datos del SPP (SPP4).

28 RD5/SPP5/P1B

Línea de Datos del SPP (SPP5),

Salida PWM del ECCP1 (P1B).

29 RD6/SPP6/P1C

Línea de Datos del SPP (SPP6),

Salida PWM del ECCP1 (P1C).

Page 74: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

57

Tabla 4. A continuación …

30 RD7/SPP7/P1D

Línea de Datos del SPP (SPP7),

Salida PWM del ECCP1 (P1D).

8 RE0/AN5/CK1SPP

Entrada analógica (AN5), Salida de

reloj 1 del SPP (CK1SPP).

E

9 RE1/AN6/CK2SPP

Entrada analógica (AN6), Salida de

reloj 2 del SPP (CK2SPP).

10 RE2/AN7/OESPP

Entrada analógica (AN7), Salida de

habilitación del SPP (OESPP).

1 RE3/MCLR/VPP

Línea de Reset Externo (MCLR),

Línea de programación (VPP).

18 VUSB Línea del firmware.

11 y 32 VDD Tensión de alimentación positiva.

12 y 31 VSS Tensión de alimentación positiva

2.5.3. SERVOMOTORES

“Un servomotor es un dispositivo pequeño que tiene un eje de

rendimiento controlado. Este puede ser llevado a posiciones angulares

específicas al enviar una señal codificada. Los servomotores llamados

también servos son sumamente útiles en robótica.” (Jiménez Córdova

Paúl Stalin, 2009).

En la Figura 19., se muestra el servomotor que vamos a utilizar para

este prototipo.

Page 75: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

58

Figura 19. Servomotor. (Stansson, Meli, Andrej, 2009).

El conector eléctrico del servo es una hembra de 3 contactos, con

ancho entre pines de 2,54 mm.

* Pin 1: GND (cable negro)

* Pin 2: VCC (cable rojo)

* Pin 3: Señal de control o consigna (cable blanco, amarillo,

naranja u otro color)

Para facilitar la conexión a los receptores de modelismo, los conectores

suelen llevar un rebaje en uno de los lados permitiendo conectarlo al

receptor RC de una única manera.

Page 76: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

59

METODOLOGÍA

Page 77: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

61

3. METODOLOGÍA

Una metodología de desarrollo de software es un conjunto de fases,

procedimientos, técnicas, herramientas, etc., aplicadas de forma simple y

efectiva en un proyecto de desarrollo de software, empezando desde su idea

inicial, desarrollo, funcionamiento y mantenimiento, hasta que el sistema deje

de utilizarse o prácticamente se transforme en otro sistema.

3.1. METODOLOGÍA PROPUESTA

Este proyecto se caracteriza por su amplio contexto investigativo por lo que una

de las metodologías que se acopla a este proceso de investigación es el

Modelo en Espiral.

El Modelo en Espiral basa su desarrollo ó ciclo de vida en sucesivas

iteraciones, es decir tan pronto como se completa una fase de desarrollo, otra

comienza y al principio de cada iteración ó fase se hace un análisis de riesgo.

Las actividades de este modelo son una espiral, cada bucle es una actividad.

Dentro del desarrollo de este modelo se realizan pruebas que proporcionan

nuevas versiones del proyecto es por esta razón que se considera al modelo en

espiral como una difusión del ciclo de vida prototipo, que busca en cada

evaluación o versión generada (giro de la espiral) llegar a la versión requerida

(objetivos propuestos).

“En el modelo espiral las primeras iteraciones realizan tareas muy generales

que se van ampliando a medida que se abarca los demás ciclos por lo que el

espiral se va abriendo a medida que avanzamos.” (Lic. Daniel Corcos, 2008).

Page 78: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

62

Figura 20. Modelo Espiral, (Sam Gunczler, 2008).

Los primeros ciclos involucran las tareas más importantes y los ciclos más

avanzados tareas de refinamiento hasta llegar al objetivo.

Como se puede observar en la Figura 20., este modelo consta de cuatro

etapas, la misma que a continuación se presenta en el siguiente cuadro:

Tabla 5. Etapas del Modelo Espiral, (Pressman, Roger S., 2005).

ETAPAS ASPECTOS A LOGRAR ACTIVIDADES

Planifica-

ción

Determinar los

requerimientos principales

para el desarrollo del

sistema analizando los

objetivos, el alcance la

factibilidad técnica y

económica.

Los objetivos, alcance y

factibilidad técnica y económica

se generan en base a una

investigación de software similar.

Page 79: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

63

Tabla 5. A continuación …

Análisis

de Riesgo

Plantear los riesgos más

importantes y resolver los

mismos. Eliminar los

aspectos que no son

compatibles ó que pueden

alterar las limitaciones u

objetivos establecidos.

Identificar riesgos para

establecer soluciones

potenciales.

Analizar las funciones del

sistema, desarrollando un

cuadro conceptual, para de esta

manera tener una idea más clara

de los requisitos que se va a

utilizar en el desarrollo del

sistema.

Ingenie-

ría

Desarrollar el sistema

según las condiciones,

requerimientos y objetivos

de las capas anteriores.

Realizar un diseño del sistema

en general, de la base de datos.

Analizar el flujo de información,

para el desarrollo de algoritmos

y crear el código fuente.

Evalua-

ción del

Cliente

Evaluar los resultados

obtenidos del sistema para

verificarlos y

posteriormente validarlos.

Crear los datos de prueba del

código fuente para analizarlos.

En cada modulo se debe realizar

las pruebas de validación de

software tales como las pruebas

de “caja negra”.

Generar los aspectos de mejora,

errores, defectos, ampliaciones.

Técnica de toma de decisiones y

evaluación de resultados.

Page 80: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

64

Cabe recalcar que el número de etapas puede variar o subdividirse. Este

modelo presenta ventajas y desventajas ante el desarrollo de un sistema, entre

las más importantes son las siguientes:

Ventajas

* Evita las dificultades que corresponden a otros modelos a través de un

manejo de riesgos.

* Trata de eliminar errores en una fase temprana, es decir en los primeros

inicios del sistema.

Desventajas

* Se necesita de investigación y experiencia para prever el riesgo, no

siendo una tarea fácil la resolución de dicho riesgo.

* No es aconsejable utilizarlo para proyectos que se rijan a un contrato.

* No es aplicable a proyectos sencillos donde el dominio de aplicación sea

conocido, si tuviéramos un caso de estos la alternativa sería atenuar en

algunos casos las etapas del espiral a fin de evitar problemas.

Page 81: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

65

3.1.1. PLANIFICACIÓN

Descripción General del Sistema

Autora: Lucía Cahuatijo.

DIAGRAMA GENERAL DEL SISTEMA

DE

TA

LL

ED

IAG

RA

MA

DATOS

REALES

SEÑAL EN FORMATO

ESPECIFICO

En el siguiente diagrama se puede ver en una forma mas detallada los procesos que

se realizan para el desarrollo de este sistema, primero tenemos la captura del

comando de voz con datos reales, posteriormente se realiza el procesamiento de la

señal capturada y por ultimo se realiza el reconocimiento de la misma para así

ejecutar el comando deseado.

USUARIO RECONOCIMIENTOPROCESAMIENTO

DE LA SEÑAL

CAPTURA DEL

COMANDO DE VOZ

VECTOR DE

CARACT.

EJECUCIÓN DEL COMANDO

Figura 21. Diagrama General del Sistema

El Sistema debe tener la capacidad de captar el comando de voz

de una secuencia de señales auditivas, para posteriormente

realizar el procesamiento de la misma, de la cual se obtendrá el

vector de características que será almacenado en la base de

datos, y que nos servirá para realizar el entrenamiento de la red

neuronal. El sistema realizará el procesamiento de la señal una

vez captada la misma.

Para que se ejecute el reconocimiento del comando de voz el

sistema debe captar la señal de la persona que se encuentra al

frente del computador, el mismo que va a utilizar el sistema.

Page 82: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

66

Por ejemplo, para tener una idea más clara de cómo el sistema

realizará el reconocimiento del comando de voz de una persona

vamos a dividir el sistema en tres partes, las cuales son:

* Captura del comando de voz (señal).- En la Captura del

Comando de Voz la captación de la señal debe ser a través de

un micrófono donde la persona debe ubicarse al frente del

computador y emitir el comando. La señal será procesada para

obtener el vector de características que se guardará en la base

de datos y que nos sirve para realizar el entrenamiento de la

red neuronal.

Este sistema contiene un panel el mismo que nos indica los

datos necesarios para realizar el respectivo muestreo es decir

para ingresar muestras a la base de datos, cabe recalcar que

estos datos están configurados por defecto en este sistema a

nivel de programación. Para este proyecto se ha adoptado por

defecto una frecuencia de muestreo igual a 44100 Hz:

Figura 22. Frecuencia de muestreo del sistema LAC.

Page 83: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

67

Para obtener mejor calidad de sonido, en este proyecto se

determinó un tamaño de muestra igual a 16 bits (2 bytes). Por

ende los valores definidos como estándar serán la toma de

44100 muestras por segundo, cada una se representará con 16

bits (tamaño de muestra), y en 2 canales independientes

(sonido estéreo).

Figura 23. Tamaño de Muestra utilizado en el sistema LAC.

* Procesamiento de la voz (señal).- Luego de haber captado

la señal de voz, se procede a realizar todo lo referente a

procesamiento de la señal de voz, en este caso se calculará

los momentos invariantes de Hu, para la obtención del vector

de características el mismo que luego se someterá al

entrenamiento de la red para su posterior reconocimiento y

ejecución del comando.

Primero se captura la señal registrando de esta manera los

patrones a reconocer, es recomendable grabar cada comando

con estados de ánimo diferentes. Los hablantes pueden ser

Page 84: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

68

mujeres, hombres, niños, niñas, adolescentes, etc. Aquellas

personas que van a utilizar con frecuencia el software.

Por ejemplo se escoge el comando a pronunciar “Abrir” el

mismo que nos permite abrir la puerta de la maqueta, la

hablante será Lucía de 28 años, este comando pronunciado

se tomará como patrón del entrenamiento de la red.

Figura 24. Sistema LAC - Ingreso de datos a la neurona.

Se empleó una frecuencia de muestreo de 44100 Hz, con la

finalidad de cumplir con el criterio de Nyquist que es mayor o

igual al doble de la frecuencia de muestreo.

Tabla 6. Cuadro de las Características del Archivo del Ejemplo

TIPO DE CONTROL VALOR

Tipo de Gráfica Lineal

Frecuencia de Muestreo 44100 Hz

Formato de Muestra 16 bits

Tipo de Canal Estéreo

Page 85: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

69

Se tomó una subseñal a(n) correspondiente a las bajas

frecuencias de la señal de voz donde se localiza la mayor

cantidad de energía de la misma, despreciándose la subseñal

b(n) que corresponde a las altas frecuencias ya que es dónde

se encuentra la mayor cantidad de ruido de la señal (ruido

ambiental). Obteniendo así una señal de voz filtrada con

respecto a la original. Posteriormente se normaliza la señal de

voz resultante, para finalmente extraer los coeficientes ó

valores de la señal que servirá para el diseño de los patrones

de entrenamiento de la RNA.

Figura 25. Estructura del filtrado de la señal

* Entrenamiento y reconocimiento.- Involucra el desarrollo de

algoritmos que sean capaces de realizar la comparación de

patrones de voz entre palabras pronunciadas y las palabras de

un diccionario predeterminado.

Requerimientos de Herramientas de Software

El sistema se va a desarrollar bajo el sistema operativo Windows

Vista Business y será desarrollado en C# utilizando la plataforma

Page 86: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

70

Visual Studio 2010. La base de datos que se utilizará es Microsoft

SQL Server 2005 y para el modelamiento de diagramas se

utilizará NetBeans.

* C# - Visual Studio 2010

C#.- Es un lenguaje de programación orientado a objetos el

mismo que se deriva de C/C++ utilizando el modelo de objetos

de la plataforma .NET. Este lenguaje de programación es

utilizado para la creación de servicios web, aplicaciones

cliente-servidor, aplicaciones de base de datos, etc.

En este proyecto se utiliza una clase programada en C#, para

transformar las señales de voz de entrada en datos que

puedan ser grabados en formato wave.

* SQL Server 2005

Microsoft SQL Server 2005 es un potente sistema de gestión

de base de datos basado en el modelo relacional, desarrollado

para servir a múltiples clientes mediante un estándar SQL

(Structured Query Languaje). Este motor de base de datos ha

sido probado en ambientes de gran concurrencia y

transaccionabilidad, demostrando gran eficiencia y eficacia

para receptar peticiones, procesar gran cantidad de

información y retornar la información requerida.

SQL Server tiene grandes ventajas entre las que podemos

destacar.

1. Ambiente gráfico y flexible de administración.

Page 87: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

71

2. Gestión de seguridad altamente fiable.

3. Escalabilidad.

4. Manejo de tareas programadas.

5. DTS (Data Transformation Services) herramienta

potente para la migración de información desde

fuentes heterogéneas.

6. Estabilidad comprobada.

Para instalar SQL Server 2005 no requiere ninguna

configuración en especial, solo se sigue las instrucciones y las

opciones por default que muestra el Wizard de este instalador.

* UML (Unified Modeling Languaje)

UML ó Lenguaje de Modelado Unificado no es una

metodología de desarrollo que defina procesos, sino que es un

estándar para notación y artefactos, siendo básicamente un

lenguaje que permite hacer la representación de la estructura,

funcionalidad e interoperabilidad de los diferentes

componentes de un sistema con una especificación orientada

a objetos.

Esta metodología permite diseñar de una manera

independientemente al lenguaje ó herramientas de desarrollo,

también permite mantener una sana separación entre el

diseño y la implementación de un sistema ya que cualquier

desarrollador, sea cual fuere el lenguaje de programación que

domine, con conocimiento UML tiene la capacidad de

entender la arquitectura descrita con el estándar.

Page 88: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

72

Requerimientos de Hardware

Para el desarrollo de un sistema con un objetivo de

reconocimiento sea el mismo de voz, audio ó video, es

importante tener una computadora mínimo Pentium 4, con

tarjeta de audio, ya que vamos a manejar datos de audio y

puerto de micrófono.

Se cree conveniente adquirir un micrófono solapero o de

diadema para la captura del comando de voz, ya que una de las

ventajas es la reducción de ruido y la distancia del micrófono es

constante tanto para la captura de datos (muestreo) como para

la respectiva consulta y ejecución del comando. Otra de las

ventajas es que se mantienen las cuerdas vocales lo más fijas

posibles para de esta manera no tener variación de frecuencia

en la señal de audio.

En la parte electrónica se usa un servo para posicionar el control

de movimiento de la puerta. El servo por defecto mantiene la

posición angular del engranaje pero cuando la señal codificada

cambia, la posición angular de los piñones cambia (la puerta

se cierra o se abre dependiendo del comando a ejecutar). El

servo que se utiliza en este proyecto es un normal o Standard

tal como el HS-300 de Hitec que tiene 3kg por cm. Cabe

recalcar que un servo no consume mucha energía.

3.1.2. ANÁLISIS DE RIESGOS

En esta fase se estudian todos los riesgos y se seleccionan una ó varias

alternativas propuestas para reducir ó eliminar los riesgos.

Page 89: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

73

Los riesgos estudiados para el desarrollo de este sistema se describen

en la fase de análisis de resultados de este escrito, los mismos que son

importantes ya que si no se toman en cuenta pueden afectar en el

desarrollo de este prototipo.

3.1.3. INGENIERÍA

En esta fase se desarrolla el prototipo según los requerimientos y

tomando en cuenta los riesgos. Se inicia con el estudio previo de los

procesos que va a tener el sistema, por lo que se diseña un cuadro con

los procesos principales, se diseña la base de datos, y se crea el código

fuente de las diferentes clases que van a integrar al mismo, así como

también se realiza el diseño del circuito integrado y la comunicación de

los diferentes elementos electrónicos a utilizarse.

Es importante tomar en cuenta que como programadores partimos de

una simple imagen mental del programa y comenzamos a codificar la

información recibida, pero si no contamos con una arquitectura o un

cuadro de procesos general del sistema que nos guie en la construcción

de la misma nos puede conllevar algunos inconvenientes, por ende es

muy importante establecer el trabajo en fases, según la metodología a

utilizar para llevar el desarrollo del prototipo completo de una manera

ordenada.

3.1.4. EVALUACIÓN

Para la validación del Software y Circuito Integrado y la verificación del

respectivo funcionamiento se ha implementado el método de prueba de

“caja negra” el mismo que se detalla a continuación:

Page 90: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

74

ENFOQUE DE PRUEBA DEL SISTEMA

PRUEBAS DE CAJA NEGRA

Pruebas sobre la interfaz del

Software (externo)

Método de prueba “Caja Negra”

Cuando se considera que un módulo está terminado se realizan

las pruebas sistemáticas, el objetivo de estas es buscar fallos a

través de un criterio específico, estos criterios se denominan

"pruebas de caja negra". “Estas pruebas se centrar en los

requisitos funcionales del sistema, lo que permite al desarrollador

selecciona las entradas válida e inválidas y determina la salida

correcta. No hay conocimiento de la estructura interna del

sistema.” (Jorge Hernan Abad Londoño, 2012).

En este tipo de pruebas el usuario que verifica el funcionamiento

del sistema se limita a ingresar los datos de entrada y estudiar la

salida ó respuesta del mismo, sin preocuparse de lo que pueda

estar haciendo internamente (código fuente), es decir el usuario se

enfocará en el caso del software en la revisión de la interfaz del

sistema, apariencia de los menús, control de las teclas, etc., en el

caso del circuito integrado el usuario se enfocará en el color del

led de encedido/apagado que se encuentra en la parte inferior de

la maqueta. Estas pruebas pretenden encontrar tipos de errores

tales como:

* Funciones incorrectas ó ausentes,

* Errores en la interfaz,

Page 91: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

75

* Errores en estructuras de datos o en accesos a bases de datos

externas,

* Errores de rendimiento,

* Errores de inicialización y de terminación.

Demostrando de esta manera un prototipo completo donde las

funciones del software y del circuito integrado son operativas, y los

datos de salida son correctos.

Page 92: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

76

ANÁLISIS DE RESULTADOS

Page 93: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

77

4. ANÁLISIS DE RESULTADOS

En esta fase se encontrará los resultados obtenidos durante el proceso de

investigación para el desarrollo de este Prototipo. Esta información se basa en

la metodología espiral.

4.1. PLANIFICACIÓN

4.1.1. FACTIBILIDAD DEL SISTEMA

* Factibilidad Técnica

Se dispone con los recursos informáticos necesarios, ya que se

cuenta con los elementos computacionales, sean estos de

software y hardware.

Descripción NO SI

Experiencia en la elaboración de Sistemas X

Experiencia en la elaboración de Sistemas

con RNA

X

Manejo de herramientas de software X

Experiencia con la metodología espiral X

Equipamiento necesario X

Cabe recalcar que se tiene conocimientos teóricos de

Inteligencia Artificial pero no se posee experiencia en la

elaboración ó desarrollo de los mismos. De igual manera con la

metodología que se está utilizando.

Page 94: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

78

* Factibilidad Económica

La inversión que se debe realizar para llevar a cabo el sistema,

no es mayor ya que se cuenta con el software, hardware

requerido, y el recurso humano.

Para el desarrollo del sistema se cuenta con una persona

responsable, la cual está encargada de realizar la planificación,

análisis de riesgos y el desarrollo de este sistema. Si se pone a

analizar el gasto que conlleva adquirir todas las herramientas

necesarias tanto de hardware como de software se detallaría

en un gasto aproximado a $ 4.297 dólares americanos como

se detalla en la Tabla 7.

Tabla 7. Presupuesto de realización del prototipo

4.1.2. CASOS DE USO DEL SISTEMA

Se presenta los siguientes casos de uso, en los diferentes

procesos de desarrollo del prototipo.

Presupuesto Aproximado

Descripción TOTAL

Herramientas de Desarrollo $ 547,00

Hardware $ 850,00

Recursos Humanos $ 2.800,00

Otros Insumos $ 100,00

TOTAL $ 4.297,00

Page 95: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

79

* Vista general de casos de uso y actores del Sistema

Autora : Lucía Cahuatijo.

CASOS DE USO – ACTORES DEL SISTEMA

DE

TA

LL

ED

IAG

RA

MA

Este es un sistema que no maneja usuarios, por ende el usuario administrador

es el que debe ingresar los datos por medio de la pronunciación del comando,

debe entrenar la red con los datos obtenidos, e interpretar los datos para que

con esto se lleve a cabo la ejecución del comando emitido.

Figura 26. Diagrama de Actores del Sistema

Page 96: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

80

* Caso de Uso Procesamiento – Reconocimiento

Autora: Lucia Cahuatijo.

CASOS DE USO – PROCESAMIENTO - RECONOCIMIENTO

DE

TA

LL

ED

IAG

RA

MA

<<uses>>

<<uses>>

En el diagrama Procesamiento – Reconocimiento podemos observar la

interacción entre el usuario y el sistema “Reconocedor LAC” , donde el Usuario

emite el comando de voz en el Sistema Reconocedor, el mismo que captura

el comando emitido por el Usuario. Este comando es procesado utilizando los

Momentos de HU. Una vez procesada la señal se reconoce el comando y

posteriormente este comando emite un 1 o 0 como señal al circuito para que

ejecute la acción correspondiente.

Figura 27. Casos de Uso Procesamiento- Reconocimiento

Page 97: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

81

* Diagrama de Secuencias Procesamiento –

Reconocimiento

Autora : Lucía Cahuatijo.

DIAGRAMA DE SECUENCIAS – PROCESAMIENTO - RECONOCIMIENTO

DE

TA

LL

ED

IAG

RA

MA

El usuario emite la pronunciación (Comando) el cual es captado por el

Reconocedor para su respectivo Procesamiento y Reconocimiento

Procesamiento

Vector de Características

Pronunciación

Entrenamiento

Acción

Figura 28. Diagrama de Secuencias Procesamiento -

Reconocimiento

Page 98: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

82

* Flujo de Información Procesamiento – Reconocimiento

Autora : Lucía Cahuatijo.

FLUJO DE INFORMACIÓN – PROCESAMIENTO - RECONOCIMIENTO

DE

TA

LL

ED

IAG

RA

MA

Se ingresa al Sistema e interactúa con la señal emitida, ejecutando el

procesamiento de voz y el Reconocimiento de la señal emitida.

CAPTURA COMANDO

OBTENER VECTOR DE

CARACTERISTICAS

TRATAMIENTO DE LA

SEÑAL

INGRESO AL

SISTEMA

DETECTA ONDAOBTENER

PATRONES

PRESENTA

RESULTADOS

SINO

COMUNICACIÓN

CIRCUITO

Figura 29. Diagrama de Flujo de Información Procesamiento –

Reconocimiento

Page 99: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

83

* Caso de Uso Entrenamiento RNA

Autora : Lucía Cahuatijo.

CASO DE USO – ENTRENAMIENTO DE LA RED NEURONAL

DE

TA

LL

ED

IAG

RA

MA

La red neuronal recibe la información que el usuario emite por medio del vector

característico de la onda, es decir los patrones de diseño. El Sistema entrena los

patrones recibidos por medio del calculo del error y actualiza los parámetros de

entrenamiento.

Figura 30. Casos de Uso Entrenamiento RNA

Page 100: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

84

* Diagrama de Secuencias Entrenamiento RNA

Autora : Lucía Cahuatijo.

DIAGRAMA DE SECUENCIA – ENTRENAMIENTO DE LA RED NEURONAL

DE

TA

LL

ED

IAG

RA

MA

El programador se encarga de realizar la fase de entrenamiento de la red

neuronal.

Backpropagation ()

Calcular error

Actualizar Pesos

Inicializar patrones de in/out

RNA entrenada - fin

Entrenamiento

RNA Configurada

Capa

Neurona

Patrones

entrenados

Cargar Patr.

Figura 31. Diagrama de Secuencia - Entrenamiento RNA

.

Page 101: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

85

* Flujo de Información Entrenamiento RNA

Autora : Lucía Cahuatijo.

FLUJO DE INFORMACIÓN – ENTRENAMIENTO DE LA RED NEURONAL

DE

TA

LL

ED

IAG

RA

MA

La RNA se encarga de entrenar los patrones calculando el error y Actualizando

los datos.

CARGAR PATRONES

ALMACENADOS

BACKPROPAGATION NEURONA

Calcular error

Actualización de datos

NO Condición de la red de

entrenamientoSIV

UE

LV

E A

EN

TR

EN

AR

Figura 32. Flujo de Información - Entrenamiento RNA

Page 102: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

86

* Flujo de Datos para el reconocimiento de la Señal

Autora: Lucía Cahuatijo.

FLUJO DE INFORMACIÓN PARA EL RECONOCIMIENTO DE LA SEÑAL

DE

TA

LL

ED

IAG

RA

MA

INICIO

CAPTURA DE LA SEÑAL

PROCESA LA SEÑAL

VALIDA

SEÑAL ?

OBTENER VECTOR DE

CARACTERISTICAS

INGRESAR EL VECTOR

A RNA

SALIDA

DESEADA ?

BASE DE DATOS

FIN

ERROR

ERROR

En el diagrama se muestra la captura de la señal, la misma que pasa por el

respectivo procesamiento, la señal se valida y en el caso de ser una señal válida

pasamos a obtener el vector de características caso contrario retrocedemos a

procesar nuevamente la señal, el vector de características ingresa a la RNA para

luego validar la salida deseada en caso de que la salida sea la esperada

procedemos a guardar estos datos en la Base de Datos, caso contrario se tiene

que capturar nuevamente la señal.

NO

SI

NO

SI

Figura 33. Flujo de Información - Reconocimiento de la Señal

Page 103: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

87

* Diagrama de Bloques - Circuito Electrónico

Autora: Lucía Cahuatijo.

DIAGRAMA DE BLOQUES - CIRCUITO ELECTRONICO

DE

TA

LL

ED

IAG

RA

MA

PROGRAMACIÓN

CONTROLADOR USB

PIC 18F4550

FUENTE DE

ALIMENTACIÓNSERVOMOTOR

PC

En el diagrama se muestra el circuito está conformado principalmente por el

Microcontrolador USB PIC18F4550 con el que se conectan todos los dispositivos.

Todos los circuitos, buses (datos y control), conexiones están completamente

implementados, cuyos conectores (jack hembra) quedaran listos para su conexión

en la placa electrónica.

GLCD

SENSOR DE

TEMPERATURA

Figura 34. Diagrama de Bloques - Circuito Electrónico.

Page 104: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

88

4.2. ANÁLISIS DE RIESGOS

Tabla 8. Tabla de Riesgos del Sistema

RIESGO

CONSECUENCIA

ALTERNATIVA

Requerimientos

mal elaborados.

Problemas durante y

después del proyecto.

Realizar un estudio previo y

analizar los procesos a

desarrollarse para tener un

panorama claro de lo que se

va a realizar y de los

requerimientos que se van a

utilizar.

Cuando el

comando

pronunciado es

bajo y/o

silencioso.

Señal Borrosa.

Volver a pedir los datos para

obtener datos válidos.

Desconocimiento

de las

Herramientas de

Software ó

Hardware.

Demora en los

procesos de

elaboración del

Sistema.

Capacitaciones, Investigación,

etc.

Entrenamiento

de la RNA.

Datos de entrada

errónea.

Capturar nuevamente el

Comando para los patrones.

Page 105: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

89

Tabla 8. A

contiuación …

No realizar bien

la Extracción de

Características.

Mal entrenamiento.

Escoger un buen método

estadístico.

Obtener datos

basura al

momento de

entrenar RNA.

Arquitectura de la

RNA no adecuada.

Tener una buena arquitectura

de RNA.

Error con la

conexión de la

base de datos.

Datos de ingreso

erróneos que hagan

que la BB.DD.

colapse.

Puede ocurrir por

problemas de

conexiones de red ó

falta de

mantenimiento.

Realizar pruebas de consulta a

la BBDD que garantice el

continuo funcionamiento y

mantenimiento de la red.

4.3. INGENIERÍA

Se parte del diagrama general del Sistema, para tener bases para el

desarrollo y codificación de las diferentes clases a utilizar. Y para la

construcción del diseño de la base de datos a utilizar con las diferentes

entidades que la constituyen.

Page 106: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

90

4.3.1. DIAGRAMA GENERAL DE PROCESOS DEL SISTEMA

Au

tora

: L

ucía

Ca

hu

atijo

.

DIAGRAMA DE PROCESOS DEL SISTEMA

RED NEURONALPROCESAR

SEÑALINTERFAZ DE USUARIOUSUARIO

PRONUNCIAR COMANDO

MONITOREO DE LA

SEÑAL

MOMENTOS

DE HU

BINARIZAR

DATOS

ALMACENAMIENTO DE CADA

PATRÓN EN LA BB.DD

GENERAR EL TAMAÑO DEL

VECTOR DE CARACTERÍSTICAS

GENERAR LA MATRIZ DE

PESOS ALEATORIOS

NORMALIZAR LOS PESOS

DE CADA PATRÓN

RECOGER EL VALOR DE LA

CAPA PREVIA

CALCULOS DE LA FUNCIÓN

DE ACTIVACIÓN

TRANSFERIR EL VALOR A LA

CAPA SIGUIENTE

ERROR MIN. ?

TRANSFERIR LOS VALORES

A LA CAPA DE SALIDA

RECONOCIMIENTO

EJECUCION

NO

SIRESULTADO

ACCION DEL

COMANDO

MOSTRAR RESULTADOS

ABRIR O CERRA PUERTA

U. ADMIN

CAPTURA DE DATOS

PARA GUARDAR EN

LA BBDD

ENTRENAMIENTO

COMUNICACIÓN

PC – CIRCUITO

( TRANSMISION DE

DATOS)

Figura 35. Diagrama de Procesos del Sistema

Page 107: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

91

* Explicación.-

El usuario final tiene la facultad de pronunciar el comando a ser

ejecutado por medio del micrófono o cualquier dispositivo de voz

(sonido). El comando capturado es procesado y transformado en un

vector de n puntos. A partir de este punto el vector es representado

y calculado por los 7 momentos invariantes de Hu, este cálculo se

utiliza generalmente para estudios de visión artificial, como

reconocimientos de imágenes, etc. Con los momentos de Hu, se

selecciona los 2 primeros momentos y eso se envía a las neuronas

de la red neuronal como entrada y representada por pesos (w1, w2),

ésta información es analizada en el proceso de reconocimiento

dando como resultado una neurona ganadora. Esta neurona

contiene la información necesaria para ejecutar el comando

esperado.

Por último el usuario tiene la posibilidad de interactuar con el

prototipo, es decir el objetivo que se busca en este proyecto que es

ejecutar comandos de voz emitidos por el usuario para abrir o cerrar

una puerta.

Es recomendable e indispensable que para el entrenamiento

primero se equilibre la voz del usuario con el sistema para su

efectivo rendimiento.

4.3.2. DISEÑO DE LA BASE DE DATOS

La base de datos es uno de los elementos más importantes dentro

del desarrollo de un sistema, ya que es aquí donde se guardará

toda la información, en este caso los valores del vector de

Page 108: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

92

características que se utilizan como patrones para el entrenamiento

de la red. A continuación, los puntos que se consideran para el

diseño de la base de datos:

* Entidades/Tablas

* Relaciones

* Funciones que realiza

Pero se debe tomar en cuenta también otro punto, el cual es: La

flexibilidad y la complejidad de las necesidades de los usuarios.

Con lo que respecta a las necesidades de este sistema en la Figura

38., se observa el diagrama de base de datos ya que solo se

requiere almacenar la información de la red neuronal después del

entrenamiento para el respectivo proceso de reconocimiento.

Figura 36. Diagrama de la Base de Datos

Page 109: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

93

Entidades / Tablas y Funciones que Realizan

La base de datos tendrá 3 tablas las cuales son:

* Muestras

* Neurona

* Configuración

El siguiente paso es saber qué información se requiere para cada

una de las tablas, a continuación se detallan:

* Cuadro de Entidades

Tabla 9. Diagrama de Entidades

NOMBRE CÓDIGO DESCRIPCIÓN

Muestras

Datos

Muestras entrenadas por la Red

Neuronal mediante los 7

Momentos de Hu.

Neurona

Vector de

Comando

Contiene datos de los pesos,

umbral, taza de aprendizaje del

comando ya entrenado. Es decir

es donde se inicializa la red

neuronal con los datos.

Configura-

ción

Datos

Es donde verificamos la conexión

y la transmisión de datos del

PIC18F4550 – PC y la conexión

con la base de datos.

Page 110: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

94

A continuación se detalla las tablas con sus respectivos campos:

* Muestras

Descripción

Almacena los datos de cada neurona entrenada sean estas

muestras de entrada ó de salida (deseada). Una vez que

cada neurona se haya entrenado se almacenan los datos en

esta tabla, como registro. Estos datos contienen el cálculo

respectivo de cada momento de Hu.

Atributos

Tabla 10. Tabla de Atributos de la Base de Datos

Nombre Tipo de Dato

Comentario

MuestraH1 Double Valor del cálculo del momento de Hu1.

MuestraH2 Double Valor del cálculo del momento de Hu2.

MuestraH3 Double Valor del cálculo del momento de Hu3.

MuestraH4 Double Valor del cálculo del momento de Hu4.

MuestraH5 Double Valor del cálculo del momento de Hu5.

MuestraH6 Double Valor del cálculo del momento de Hu6.

MuestraH7 Double Valor del cálculo del momento de Hu7.

Salida Double Valor de salida del cálculo completo.

Page 111: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

95

* Neurona

Descripción

Esta neurona representa el comando “Abrir o Cerrar” y

tiene el valor de los pesos de entrada, se tiene la taza de

aprendizaje y posee un término bias, que constituye la

predisposición de la neurona a activarse.

Atributos

Tabla 11. Atributos de la entidad Neurona

Nombre Tipo de Dato

Comentario

Topología

Es un

conjunto de

de datos

double.

Tenemos varios datos validados

del muestreo e ingresados a la

base de datos para el respectivo

reconocimiento, los valores con los

que contamos son: valores de los

pesos iniciales, taza de

aprendizaje, etc.

* Configuración

Descripción

En esta tabla se tiene datos o valores de dispositivos

externos tales como el circuito del PIC18F4550, valida

también la conexión con la Base de Datos - SQL.

Page 112: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

96

* Atributos

Tabla 12. Atributos de la entidad Configuración

Nombre Tipo de Dato

Comentario

Usbvid Double Código primario del dispositivo.

Usbpid Double Nombre del dispositivo (circuito USB

PIC18F4550).

Angulo

Double

Valor por defecto que el servomotor

utiliza para generar el movimiento de la

puerta.

4.3.3. DIAGRAMAS DE CLASES Y CÓDIGO FUENTE

Al programar por objetos a la red neuronal se presentaron cuatro

clases principales y esenciales para un buen rendimiento en la fase

de entrenamiento.

* Generar_Señal

Esta clase contiene las funciones de muestreo, tales como la

frecuencia, el número de bits, amplitud, etc., datos que nos serán

importantes para el desarrollo del proyecto.

Se debe tomar en cuenta que el muestreo es importante ya que

contiene las características de la captura de voz, con estos datos

vamos a trabajar durante todo el proyecto, estas características

se encuentran configuradas como determinadas en el código

fuente, es decir por defecto se tienen la extracción de

Page 113: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

97

características en valores determinados tanto de frecuencia como

de bits de muestra.

A continuación se muestra el siguiente diagrama de clase:

Autora: Lucía Cahuatijo.

DIAGRAMA DE CLASES – GENERAR_SEÑALD

ET

AL

LE

DIA

GR

AM

A

En esta clase se inicializan los parámetros o datos importantes para la fase de

muestreo. Los datos son fijos, es decir ingresados en el código fuente por

defecto.

Figura 37. Diagrama de Clases – Generar_Señal

Page 114: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

98

* Código Fuente de la Clase Generar_Señal

DE

TA

LL

EC

ÓD

IGO

GE

NE

RA

R_S

AL

VARIABLES

En la clase generar_señal se puede observar que se basa en el valor que se pone como

predeterminado al inicializar las variables, es decir la extracción de características se

tomarán dependiendo de la configuración que le de la programadora. Los Streams obtenidos

de la señal de entrada se van almacenando para la gráfica y extracción de características.

CÓDIGO DE LA CLASE

Figura 38. Código Fuente de la Clase Generar_Señal

Page 115: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

99

* AudioFrame

Esta clase representa la captura de características emitidas al

pronunciar el comando a ejecutar. Contiene funciones para

graficar los waves de la señal emitida. Esta clase está

relacionada con la clase Generar_Señal ya que contiene datos

de las características tales como frecuencia, amplitud, tamaño

de muestreo, etc.

En la Figura 39., se observa la clase AudioFrame, con los

atributos y operaciones que realiza en el sistema.

Autora: Lucía Cahuatijo.

DIAGRAMA DE CLASES – AUDIOFRAME

DE

TA

LL

ED

IAG

RA

MA

En esta clase se toma en cuenta los factores o parámetros importantes para graficar

los waves de la señal del comando emitido. Es importante recalcar que la clase

AudioFrame esta relacionada con la clase Generar_Señal y la Clase

TransformadaFourier.

Figura 39. Diagrama de Clases – AudioFrame

Page 116: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

100

* Código Fuente de la Clase AudioFrame

DE

TA

LL

EC

ÓD

IGO

AU

DIO

FR

AM

E

VARIABLES

Esta función se encarga de graficar los datos que se ingresa en la clase Generar_Señal,

en este diagrama podemos apreciar el inicio del codigo para graficar los waves, el

mismo que se basa en el proceso de cálculo de la Transformada de Fourier de la señal

emitida.

CÓDIGO DE LA CLASE

Figura 40. Código Fuente de la Clase AudioFrame

* Entrenamiento

Esta clase es de tipo form, es decir de diseño y código, se

base en varias librerías de las cuales se destaca la IA_RNA.dll

Page 117: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

101

que es una librería que contiene la arquitectura de la red

Backpropagation con tres capas, la capa de entrada, oculta y

de salida, la misma que ayudará en el desarrollo de este

sistema.

En esta clase también se encontrará el código de la barra de

menú del sistema por ende a esta clase están relacionadas

varias clases, funciones y librerías propias de C#, cabe

recalcar que esta clase aprovecha los valores de captura

(vector de características) para validarlos y posteriormente

tratarlos con las variantes de Hu para su respectivo

entrenamiento.

Hay que tomar en cuenta que la clase Entrenamiento es una

pieza fundamental dentro del desarrollo de este Prototipo.

Entrenamiento Nº 01

En el primer intento de entrenamiento de la red se utilizó una

técnica de tiempo en la extracción de características, es decir

dependía de cuanto se demoraba para pronunciar el comando

y dependiendo de esto se calculaba la extracción de

características. A este cálculo estadístico se le denomina

cálculo de la desviación estándar y de la varianza, que son

medidas de dispersión, el problema fue que al momento de

entrenar los resultados fueron totalmente incoherentes y

erróneos ya que los datos alrededor del punto central de la

señal de audio fueron fijos y la señal de audio es un patrón

variable con puntos variables, el porcentaje de error fue igual a

2,5., y el entrenamiento colapsaba por el gran número de

datos, ya que no se utilizaba ningún tipo de filtro.

Page 118: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

102

Para solucionar este problema se optó por realizar un nuevo

entrenamiento pero ahora con un algoritmo de filtro y

normalización.

Entrenamiento Nº 02

Se aplico el algoritmo de filtro y normalización para reducir el

número de valores en el vector de características, pero no

hubo resultados favorables ya que el aprendizaje no se estaba

realizando correctamente. Al probar el conocimiento adquirido

por la red y su capacidad para reconocer patrones se detectó

problemas en el reconocimiento de los patrones.

Se concluyó que la técnica que estábamos utilizando para la

extracción de características no era la adecuada para este

sistema, ya que el tiempo no era la mejor opción para poder

entrenar una red y por medio de este realizar un

reconocimiento fiable, en la Tabla 4., se detallan las muestras

obtenidas.

Tabla 13. Muestras para el vector de características

Abrir Cerrar Cerrar Abrir Abrir Abrir

Mujer 15 años

Mujer 18 años

Hombre 24 años

Mujer 18 años

Hombre 24 años

Mujer 15 años

119 118 136 132 93 127

124 125 128 139 128 122

119 112 130 114 131 116

124 126 142 155 165 152

114 112 128 148 110 80

125 127 135 123 91 142

117 112 160 138 129 98

Page 119: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

103

Donde las muestras son tomadas tanto en hombres y mujeres

de entre 15 a 24 años de edad y los valores representan el

tamaño del vector de características, por lo que el

entrenamiento en ciertos lapsos de tiempo no funcionaba

(cantidad de datos).

Entrenamiento Nº 03

Como se mencionó anteriormente la técnica para calcular el

vector de características no era la adecuada por lo que se trata

de mejorar la obtención de datos para el entrenamiento, se

partió de la teoría estadística utilizando los momentos de Hu,

es decir se utilizó la gráfica que se forma al pronunciar el

comando. Ya no depende de cuánto se demora en pronunciar

el comando sino de la forma de la onda que se grafica

(procesamiento de imágenes).

Se trabajó con 2 neuronas de entrada la misma que al final

devolverá un cero (0) ó uno (1), devolverá cero (0) cuando no

es la palabra que a la red le toca discriminar y uno (1) si es la

correcta.

Tabla 14. Cuadro de entrada a las neuronas

En este entrenamiento la taza de error es de 0,9 para el

reconocimiento del comando “Abrir”, se trata de mejorar el

rendimiento ajustando las neuronas y el respectivo cálculo.

COMANDO NEURONA

ABRIR 1

CERRAR 0

Page 120: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

104

Entrenamiento Nº 04

Una vez que encontrado el mejor resultado del entrenamiento

de la red donde los errores de entrenamiento son mínimos se

procede a probar la red neuronal, observando resultados

favorables donde la red presenta un buen nivel de

reconocimiento de patrones en comparación con las técnicas

anteriormente utilizadas.

Autora: Lucía Cahuatijo.

DIAGRAMA DE CLASES – ENTRENAMIENTO

DE

TA

LL

ED

IAG

RA

MA

Para el proceso de entrenamiento es importante tomar en cuenta el tamaño de las

muestras, tomaremos como dato importante tambien el tamaño de la matriz, y el

proceso de calculo de los 7 momentos de HU.

Figura 41. Diagrama de Clases - Entrenamiento

Page 121: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

105

* Código Fuente de la Clase Entrenamiento

DE

TA

LL

EC

ÓD

IGO

EN

TR

EN

AM

IEN

TO

CÓDIGO DE LA CLASE

En este proceso se empieza calculando las invariantes de Hu de la clase neurona , para

que estos datos sean entrenados por la red Backpropagation, el calculo de los momentos

de Hu nos dará como resultado una matriz de datos con el tamaño para que la red

Backpropagation no tenga problemas en el entrenamiento.

Figura 42. Código Fuente de la Clase Entrenamiento

Page 122: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

106

* Neurona

Esta clase es de tipo form, es decir de diseño y de código, en esta

clase también es importante el uso de la librería IA_RNA.dll que

es aquella que contiene funciones de reconocimiento, contamos

también con una clase que permite guardar las muestras de

señales válidas que se ingresa al sistema (muestreo).

Autora: Lucía Cahuatijo.

DIAGRAMA DE CLASES – NEURONA

DE

TA

LL

ED

IAG

RA

MA

En esta clase se toma las principales características que una red

neuronal necesita para el entrenamiento, ya que en esta fase se realiza el

muestreo con los 7 momentos de HU, se debe tomar en cuenta el

aprendizaje y generalizacion de la red.

Figura 43. Diagrama de Clases - Neurona

Page 123: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

107

* Código Fuente de la Clase Neurona

DE

TA

LL

EC

ÓD

IGO

NE

UR

ON

A

Como se ha mencionado anteriormente se tiene una función de muestreo

y de aprendizaje.

CÓDIGO DE LA CLASE

Figura 44. Código Fuente de la Clase Neurona

Page 124: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

108

* Configuración

Esta clase es de tipo form, es decir de diseño y de código. Esta

clase contiene funciones tales como Conexión USB, Conexión

SQL (Base de Datos). Contamos también con una clase que

permite cargar datos de la topología que se va a utilizar en el

sistema.

Autora: Lucía Cahuatijo.

DIAGRAMA DE CLASES – CONFIGURACION

DE

TA

LL

ED

IAG

RA

MA

En esta clase se toma como base principal los datos de conexión tanto de

la base de datos como del dispositivo USB por medio de la clase

ConexiónUSB

Figura 45. Diagrama de Clases – Configuración

Page 125: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

109

* Código Fuente de la Clase Configuración

DE

TA

LL

EC

ÓD

IGO

NE

UR

ON

A

Se cuenta con funciones para enlazar y verificar la conexión de la aplicación con

la base de datos y de esta manera cargar las muestras de la Clase Neurona a

la base de datos, asi mismo se tiene una función para verificar la conexión del

dispositivo USB.

CÓDIGO DE LA CLASE

Figura 46. Código Fuente de la Clase Configuración

Page 126: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

110

* Reconocimiento

A continuación se observa los datos de la neurona al momento de

ingresar muestras a la BBDD, observamos que las muestras son

los 7 momentos de Hu que en este caso corresponde al comando

“Abrir”.

Figura 47. Ingreso de muestras a la base de datos

del Sistema LAC.

En el reconocimiento manual obtendremos la ejecución del

comando pero a manera de simulacro, como se presenta en la

Figura 48.

Page 127: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

111

Figura 48. Reconocimiento en forma manual

del Sistema LAC.

* Conexión USB

Esta clase contiene funciones para el circuito que opera con el

servomotor, por ende las funciones que se utiliza son datos de

entrada y salida (Sistema-PIC18F4550).

Page 128: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

112

Autora: Lucía Cahuatijo.

DIAGRAMA DE CLASES – CONEXION_USB

DE

TA

LL

ED

IAG

RA

MA

Como podemos observar en el diagrama la clase contiene la funcion para

mover el servomotor, enviar y recibir paquete de datos desde el sistema al

circuito y viceversa.

Figura 49. Diagrama de Clases – ConexiónUSB

Page 129: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

113

* Código Fuente de la Clase ConexiónUSB

DE

TA

LL

EC

ÓD

IGO

CO

NE

XIO

N_U

SB

En el código se observa la función para mover al servomotor, y las

funciones de E/S de datos.

CÓDIGO DE LA CLASE

Figura 50. Código Fuente de la Clase ConexiónUSB

Page 130: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

114

* Diagrama de Clases General del Sistema

Figura 51. Diagrama de Clases General del Sistema

Page 131: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

115

4.4. EVALUACIÓN

En esta fase es donde se observa los resultados y evaluación la red y su

rendimiento de entrenamiento, el mismo que debe ser eficiente para el usuario.

La base de datos debe tener diferentes tipos de patrones entrenados, entonces

mientras más “experiencia” tenga el Reconocedor LAC más eficiente resultara

el reconocimiento, al principio será más complicado ya que se debe ingresar

una gran cantidad de patrones de muestra, si el usuario no realiza la etapa de

muestreo el sistema le emitirá un error indicando que el entrenamiento no ha

sido exitoso. Una vez tenidos los patrones el proceso de reconocimiento será

rápido.

Se utilizó el método de caja negra para realizar las respectivas y diferentes

pruebas del funcionamiento tanto del software como del circuito integrado y se

tomó en cuenta dos casos:

* La primera es la interfaz, la misma que está de acuerdo con lo

establecido en los objetivos propuestos al principio, el sistema de

reconocimiento LAC cuenta con una interfaz de usuario final;

* El segundo caso son los resultados, en estas pruebas, se tomó como

datos de entrada al sistema, los datos de los comandos de voz antes

mencionados y específicamente se probó pasándole como entrada un

comando no válido para el reconocimiento, es decir, donde no se tiene

como patrón en la base de datos. Igualmente se probó datos con voces

que no están como patrones en la base de datos, los mismos que

tampoco son reconocidos por el sistema.

Page 132: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

116

En la Tabla 15., se muestra los resultados obtenidos después de evaluar

al “Reconocedor LAC”, para la obtención de estos resultados el Sistema

contó con una base de datos igual a 50 muestras de voz de diferentes

personas, estas muestras son importantes ya que mientras más

muestras tengamos en la base de datos del Sistema, el aprendizaje del

entrenamiento de la RNA será más satisfactorio. Los 5 ejemplares

expuestos (Lucía C. estado 1, Lucía C. estado 2, Adriana, Diana y José)

que tenemos a continuación son parte de la base de datos, partimos

entonces desde un entrenamiento primario hasta adaptarle al sistema

con la resonancia de voz, obteniendo de esta manera en el sexto

entrenamiento resultados más satisfactorios, cada persona en su

principio no recibe resultados 100% favorables, pero en el sexto

entrenamiento vemos que el porcentaje de efectividad del entrenamiento

se incrementa.

Tabla 15. Pruebas con diferentes Usuarios

PRUEBAS CON DIFERENTES USUARIOS

HA

BL

AN

TE

S

# Entrenamiento

Lucía C - Estado1

Lucía C - Estado2 Adriana Diana José

Entren. 1 70% 90% 85% 80% 70%

Entren. 2 85% 95% 85% 90% 85%

Entren. 3 90% 95% 94% 90% 85%

Entren. 4 90% 97% 95% 90% 85%

Entren. 5 95% 97% 95% 95% 90%

Entren. 6 95% 97% 95% 95% 90%

Recono- cimiento 87,50% 95,16% 91,50% 90,00% 84,16%

Efectividad 89,64%

Page 133: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

117

Por esta razón como ya se mencionó es importante equilibrar la

resonancia de voz antes de usar el sistema para el respectivo

reconocimiento.

Graficando las variaciones de la taza de aprendizaje se obtiene

diferentes valores de error para el proceso de entrenamiento de la RNA,

que se muestra en la Figura 52. De esta gráfica se observa que los

mejores valores para la construcción de la RNA, son los de la línea más

gruesa (alfa=0,009; 0,05; 0,02) ya que con ellos son mínimos los

errores.

Figura 52. Gráfica de error

El procesamiento digital de la señal de voz es la base de este

proyecto, puesto que de su eficiencia depende el rendimiento de

posteriores procedimientos y del sistema en sí, es decir si se tiene

una señal borrosa y no muy clara del comando emitido el

entrenamiento y reconocimiento no va a tener un buen rendimiento

para el usuario.

Page 134: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

118

Au

tora

: L

uc

ía C

ah

ua

tijo

.

ABRIR

SEÑAL DIGITALIZADAVECTOR DE

CARACTERISTICAS - BUFFER ENTRENAMIENTO - RNA

COMANDO A

EJECUTAR

Figura 53. Procedimiento de la señal.

De la misma manera el método de caja negra fue aplicado para

determinar el funcionamiento correcto del circuito integrado y la

comunicación con el sistema “Reconocedor LAC”.

En primera instancia se integro al circuito un led indicador el

mismo que cambia de color si existe algún problema con el

funcionamiento del circuito, es decir si esta de color rojo significa

que está funcionando correctamente, pero si el led está de color

anaranjado es porque el circuito está fallando, sea por falta de

batería a porque algún componente electrónico no esté

funcionando a lo que debemos analizar el fallo con ayuda de un

multímetro.

Page 135: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

119

CONCLUSIONES Y RECOMENDACIONES

Page 136: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

120

5. CONCLUSIONES Y RECOMENDACIONES

A continuación se detalla las conclusiones y recomendaciones que se ha tenido

al realizar esta tesis en sus diferentes fases.

5.1. CONCLUSIONES

* Demasiados algoritmos para el proceso de filtro hacen que el sistema

no tenga un buen procesamiento en la señal de voz emitida, debido a

que cada filtrado representa la eliminación de datos y por ende

pérdida de información.

* El vector de características define cómo se va a interpretar la

información contenida en una señal de voz de manera simplificada y

sencilla, sin tener que recurrir a trabajar con toda la información de la

señal.

* Al reducir el vector de características por medio del filtrado, se reduce

también la carga computacional, minimizando de esta forma la

dimensión de dicho vector.

* El éxito del entrenamiento de una red neuronal está determinado por

el comportamiento de los errores de entrenamiento. Cuando el error

es un mínimo aceptable y permanece estable, se determina que la

RNA aprendió satisfactoriamente.

* La arquitectura de una RNA, es decir el número de capas, el número

de neuronas por capa, las conexiones, etc., no está definida de

Page 137: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

121

antemano. Su diseño se determina por medio de las pruebas y su

rendimiento.

* Los patrones que representan el espacio del problema tienen que ser

totalmente independientes entre sí, es decir deben ser únicos en su

clase, con un gran nivel de ortogonalidad. Esto depende del método

de extracción de características seleccionada.

5.2. RECOMENDACIONES * En esta tesis se trabajó con un micrófono, por ende es recomendable

contar con un dispositivo de captura de sonido de alto nivel para

disminuir probabilidades de ruido y hacer que el sistema sea lo más

eficiente posible.

* Es recomendable trabajar con señales originales y no con

grabaciones ya que los datos obtendrán mayor cantidad de ruido, el

proceso de filtrado sería mayor por ende habría mayor pérdida de

información, teniendo así un reconocimiento y rendimiento del

sistema bajo.

* Se recomienda realizar un equilibrio de voz de cada usuario, para

adaptar la resonancia en los procesos de digitalización y muestreo de

la señal para el respectivo entrenamiento y reconocimiento.

* Trabajar con un conjunto de patrones que representen

significativamente el problema planteado (ruido). Estos patrones

deben representar ciertos porcentajes de ruido, como por ejemplo

5%, 20% de manera que sea visible por el usuario e interprete el

Page 138: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

122

funcionamiento de filtrado y de rendimiento del sistema, destacando

que el proceso de filtrado debe ser considerado ya que si existen

varios algoritmos de filtrado va a existir perdida de información y por

ende el rendimiento del sistema será bajo.

* La red Backpropagation tiene muchas aplicaciones en la

automatización de procesos de introducción de datos y de

reconocimiento, para obtener resultados más fiables y personalizados

habría que tomar en cuenta mayor cantidad de parámetros, esto

quiere decir más patrones en la red neuronal.

Page 139: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

123

GLOSARIO

Frames.- Se denomina frame en inglés, a un fotograma o cuadro, una

imagen particular dentro de una sucesión de imágenes.

Neuro-computación.- La Neurocomputación es la rama subsimbólica de la

Inteligencia Artificial que basa su funcionamiento en la emulación de

procesos biológicos.

Casette.- Del francés cassette (cajita) es un formato de grabación de sonido

de cinta magnética ampliamente utilizado.

Sampling.- El muestreo o sampling es la acción de grabar un sonido en

cualquier tipo de soporte.

Discretizar.- Se refiere a convertir algo continuo en algo discontinuo. Por

ejemplo, dividir una distribución estadística en varios tramos discretos.

Conversor A/D.- Es un dispositivo electrónico capaz de convertir una

entrada analógica de voltaje en un valor binario.

Buffer.- Es una ubicación de la memoria en una computadora o en un

instrumento digital reservada para el almacenamiento temporal de

información digital, mientras que está esperando ser procesada.

Procesador.- Es un circuito electrónico integrado que actúa como unidad

central de proceso de un ordenador, proporcionando el control de las

operaciones de cálculo.

MIDI.- Son las siglas de la (Interfaz Digital de Instrumentos Musicales). Se

trata de un protocolo de comunicación serial estándar que permite a los

computadores, sintetizadores, secuenciadores, controladores y otros

dispositivos musicales electrónicos comunicarse y compartir información

para la generación de sonidos.

Códec de Audio.- Conjunto de algoritmos que permiten codificar y

decodificar los datos auditivos, lo cual significa reducir la cantidad de bits

que ocupa el fichero de audio.

Page 140: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

124

KHz.- Es la medida de la frecuencia de la onda del sonido, por lo tanto, kHz

son 1000 Hz.

Bytes.- Un byte es la unidad fundamental de datos en los ordenadores

personales, un byte son ocho bits contiguos.

Bits.- Un bit es una señal electrónica que puede estar encendida (1) o

apagada (0). Es la unidad más pequeña de información que utiliza un

ordenador. Son necesarios 8 bits para crear un byte.

Expansor.- Es un procesador de dinámica del audio. Hace el proceso

inverso de un compresor, ya que aumenta el rango dinámico de la señal de

audio.

RNA.- Redes de Neuronas Artificiales. Se trata de un sistema de

interconexión de neuronas en una red que colabora para producir un

estímulo de salida.

Algoritmo.- Es un método para resolver un problema, debe presentarse

como una secuencia ordenada de instrucciones que siempre se ejecutan en

un tiempo determinado.

Patrón.- Un conjunto de reglas que pueden ser usadas para crear o

generar entidades.

Normalización.- Es el proceso de elaboración, aplicación y mejora de las

normas que se aplican a distintas actividades científicas, industriales o

económicas con el fin de ordenarlas y mejorarlas.

Invarianza.- Propiedad de una cantidad o ley física de no variar.

Bytes-codes.- En el caso de Java, el código intermedio se llama Byte

Codes. Este código no es dependiente ni del sistema operativo ni de la

máquina en el cual lo ejecutamos.

Wizard.- En español Asistente. Aplicación al servicio del usuario

(especialmente inexpertos) que generalmente abrevia los pasos a seguir

para realizar una tarea. Los asistentes hacen más sencillas las tareas de

instalar dispositivos, programas o realizar ciertas tareas.

Double.- Es la clase de Java que representa números de precisión doble.

Page 141: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

125

Bias.- Es realmente una tensión eléctrica que se tiene que ajustar en

algunos casos dependiendo del tipo de amplificación.

Int.- Esta clase le permite trabajar con el tipo de datos que representa un

entero de 32 bits con signo.

Ortogonalidad.- Es una generalización de la noción geométrica de

perpendicularidad.

Gnd.- Término electrónico. Conexión a tierra.

Page 142: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

126

BIBLIOGRAFÍA

* Cadena Juan Carlos, 2012, “Aplicación de Redes Neuronales para el

reconocimiento de voz” - Revista Tecnológica.

* Caloto Crespo Pablo, Moranchel Edras Manuel, Ruiz Alonso Ángel,

2009-2010, “Tecnologías de reconocimiento por voz y su aplicabilidad en

videojuegos.” - Departamento de Ingeniería del Software e Inteligencia

Artificial - Universidad Complutense de Madrid.

* Chion, Michel, 1999, “El Sonido”, Editorial Paidós, Barcelona

* López Ernesto y Rocamora Martín, 2012, “Fundamentos del Sonido

Digital”.

* Cruz-Beltrán Luis A., 2004, “Redes Neuronales Artificiales”, Pearson

Education.

* Esparza Arellano María Elena, Avalos Briseño Benito, 2003, “Red de

Revistas Científicas de América Latina, el Caribe, España y Portugal –

redalyc.org”.

* Fernández De Bobadilla Vicente, 2013, “Los sistemas de reconocimiento

de voz ganan terreno dejando atrás al teclado” – Articulo de la revista

ZoomNew.

* Fisher Robert, 2007, “Reconocimiento de Patrones”.

* Gonzalez C, Woods Richard, 2002, “Procesamiento de imagen Digital” –

Segunda Edición.

* Isasi P. – Galván I., 2004, “Redes Neuronales Artificiales un enfoque

práctico” - España.

Page 143: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

127

* Jiménez Córdova Paúl Stalin, 2009, “Diseño y Construcción de un brazo

robótico a base de un PIC, para transportar objetos entre dos puntos

fijos, e Implementación de un sistema HMI para su monitoreo” – Escuela

Politécnica del Ejercito.

* José R. Hilera Martínez, 2000, “Redes Neuronales Artificiales,

Fundamentos, Modelos y Aplicaciones”, Alfa Omega, México.

* Jordá Puig, Sergi, 1997, “Audio Digital y MIDI”, Anaya Multimedia -

Madrid.

* Luna Ortega Carlos Alejandro, Mora González Miguel, Martínez Romo

Julio César , Luna Rosas Francisco, 2012, “Reconocedor de Palabras

con el uso de Regresión Lineal y Coeficiente Muestral” - Articulo de la

Revista Conciencia Tecnología.

* Milone Diego H., 2005, “Reconocimiento automático del habla con redes

neuronales artificiales.” – Ciencias Exactas y Naturales.

* Pastor Javier, 2013, “Android mejora gracias al estudio de redes

neuronales”, Xataka Android.

* Pressman, Roger S., 2005, “Ingeniería del Software” Un enfoque práctico

– sexta edición, McGraw Hill.

* Salas Rodrigo, 2002, “Redes Neuronales Artificiales” - Departamento de

Computación - Universidad de Valparaíso.

* Serrano Cinca Carlos, Martín del Brio Bonifacio, 1993, “Predicción de la

quiebra bancaria mediante el empleo de redes neuronales artificiales”-

Revista Española de Financiación y Contabilidad.

Page 144: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

128

* Universidad Tecnológica de Pereira, 2009, “Backpropagation” - Trabajo

de graduación.

Page 145: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

129

ANEXOS

Page 146: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

130

ANEXO 1

INSTRUCCIONES

Page 147: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

131

ANEXO 1

INSTRUCCIONES

El sistema Reconocedor LAC requiere de la instalación de ciertos componentes

para su correcto funcionamiento, por esta razón se establece el siguiente orden

de instalación:

* Firmware para conectar PIC18F4550 al PC vía USB.

* SQL Sever 2005 Express Edition

SQL Express requiere que exista instalado el componente de

Microsoft Installer 3.1 Redistributable. Si este componente no

está instalado se establece el siguiente orden:

1. Microsoft Installer 3.1

2. SQL 2005 Express Edition

* Visual Studio 2010

* Reconocedor LAC.

Todos estos instaladores se ubican dentro del CD de instalación.

Tomar en cuenta que primero se debe instalar los archivos asociados de .NET,

es decir los Framework necesarios para ejecutar la aplicación. Para este

sistema es importante instalar el Framework 4.0 (Visual Studio 2010).

La herramienta SQL Server permite la conexión con la base de datos

implementada en este sistema. Para la instalación de SQL Express Edition,

primero se requiere que exista el componente Microsoft Installer 3.1

Redistributable y segundo no requiere alguna configuración en especial, solo se

siguen las instrucciones y las opciones por default que muestra el Wizard de

este instalador.

Page 148: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

132

El ejecutable del Reconocedor LAC es un archivo. exe de la plataforma .Net de

Visual Studio, donde se encuentran encapsuladas las librerías y código fuente

que se utilizó para el desarrollo de este sistema.

Page 149: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

133

ANEXO 2

INSTALACIÓN DEL FIRMWARE PARA CONECTAR

PIC18F4550 A LA PC VÍA USB

Page 150: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

134

ANEXO 2

INSTALACIÓN DEL FIRMWARE PARA CONECTAR PIC18F4550

A LA PC VÍA USB

La instalación de este driver es importante para establecer la conexión del

circuito PIC18F4550 y la plataforma de .Net de Visual Studio de este Sistema.

El ejecutable de este driver lo puede bajar de Internet e instalar en la

computadora que se va a utilizar con el Reconocedor de voz LAC.

Ejecutar el siguiente instalador.

Figura 54. Ventana principal de instalación del firmware

Acontinuación aparecerá la siguiente ventana la misma que nos indica que no

existe el controlador instalado.

Page 151: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

135

Figura 55. Ventana que indica que no existe el dispositivo instalado en el CPU

A continuación:

Figura 56. Ventana de direccionamiento de la carpeta del driver

para la respectiva instalación.

Page 152: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

136

Luego, nos aparecerá la siguiente ventana de ejecución a la que hacemos clic

en la opción “Instalar este software de cotrolador de todas formas”.

Figura 57. Ventanas del proceso de instalación del firmware

Page 153: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

137

Finalmente, aparecerá una ventana la misma que nos confirma la instalación

del dispositivo en el computador y así poder realizar la conexión del circuito -

sistema.

Figura 58. Ventana que indica que el dispositivo ha sido instalado

Page 154: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

138

ANEXO 3

MANUAL DE USUARIO

Page 155: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

139

ANEXO 3

MANUAL DE USUARIO

El principal objetivo del presente manual es dar una guía completa para la

utilización de la aplicación del Sistema de Reconocimiento LAC.

Pantalla de Bienvenida

Figura 59. Ventana de Bienvenida al sistema LAC.

Page 156: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

140

Detalle

La pantalla principal aparece al momento de ejecutar el Reconocedor LAC,

cabe recalcar que este sistema no tiene un modulo de validación de usuarios

(administrador – usuario), al contrario es un sistema para usuario final.

Pantalla Principal

Figura 60. Ventana principal del sistema LAC.

Detalle

Esta pantalla consta de dos paneles: el primer panel nos muestra la topología

que estamos utilizando para el entrenamiento, también se tiene un cuadro

donde indica la palabra reconocida y taza de error de entrenamiento, el botón

“Reconociendo...” permite equilibrar y validar la señal de audio que ingresa

gráficamente en el segundo panel, una vez que el sistema haya equilibrado y

validado la señal de audio, entonces el sistema está listo para capturar,

Page 157: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

141

entrenar y reconocer el comando que el usuario emita. Es importante que la

BBDD del sistema cuente con un número considerable de muestras ya que de

esto dependerá la eficiencia del sistema, caso contrario el usuario deberá

ingresar muestras a la neurona atreves de la opción del menú “Ingresar

Muestras Neurona”. Si los patrones de la señal de ingreso no son validos, el

sistema no emitirá la señal valida en el espacio del segundo panel que dice

“Validación de la Señal”, por ende para la captura debe ser datos claros, bien

pronunciados y no tener mucho ruido.

Esta pantalla cuenta con un menú de opciones el mismo que se despliega de la

siguiente manera:

Figura 61. Menu del Sistema LAC.

Configuración

Figura 62. Ventana de configuración de la Red Neuronal del Sistema LAC.

Page 158: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

142

Esta ventana muestra tres sub menús que son: Red neuronal, USB, SQL, en la

ventana de Red neuronal se tiene la opción de escoger la arquitectura de

topología de la RNA a utilizarse.

La opción de USB nos muestra la conexión que existe entre el dispositivo

electrónico conjuntamente con el servomotor y el sistema Reconocedor LAC.

Figura 63. Ventana de configuración USB del Sistema LAC.

La opción SQL muestra la conexión que existe entre la base de datos y el

sistema Reconocedor LAC, el botón “Consulta” permite realizar la consulta con

la BBDD y despliega los datos de muestreo de la neurona.

Page 159: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

143

Figura 64. Ventana de configuración SQL del Sistema LAC.

Para salir de cada una de estas ventanas se tiene la siguiente opción en la

parte superior derecha:

Figura 65. Opción cerrar el sistema LAC.

Page 160: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

144

Ingreso Muestras Neurona

Figura 66. Ventana de ingreso de muestras a la Neurona del sistema LAC.

Esta ventana muestra la fase de muestreo, entrenamiento y reconocimiento de

la señal. En el primer panel se tiene:

Figura 67. Características de la señal de audio y la grafica de la señal

de entrada.

Page 161: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

145

En el tercer panel se tiene dos botones el primer botón “Reconocer” que es

aquel que nos permite ingresar muestras validas a la base de datos, una vez

que una muestra sea válida la palabra aparece en el espacio de “Palabras

Reconocidas”. El botón “Limpiar” permite partir de cero con el muestreo.

Figura 68. Ingreso de muestras a la BBDD del sistema LAC

Una vez que la muestra sea válida el sistema emitirá un mensaje de

confirmación para guardar la muestra obtenida en la base de datos, mientras la

señal que ingresa al sistema no sea tomada como dato valido, el sistema no

emitirá ningún mensaje.

Page 162: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

146

Figura 69. Guardar muestras en la BBDD del sistema LAC

Una vez que se ha guardado la muestra aparece la ventana de la siguiente

manera:

Figura 70. Ingreso exitoso de la muestra en la BBDD del sistema LAC

Page 163: UNIVERSIDAD TECNOLÓGICA EQUINOCCIALrepositorio.ute.edu.ec/bitstream/123456789/5612/1/53291_1.pdf · Rodrigo Proaño DIRECTOR DEL TRABAJO C.I. 170854904-1 . f AGRADECIMIENTO Antes

147

Acerca de…

Es una pantalla donde indica los datos del Sistema Reconocedor LAC.

Figura 71. Ventana con datos de autor del Sistema LAC