87
1 PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA POBLACIÓN SORDA EN COLOMBIA Autores: JOHAN DANIEL AGUIRRE CARPETA DANIEL MAURICIO VALDERRAMA PERDOMO UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS BOGOTÁ DC. 2018

PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

1

PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA POBLACIÓN SORDA

EN COLOMBIA

Autores:

JOHAN DANIEL AGUIRRE CARPETA

DANIEL MAURICIO VALDERRAMA PERDOMO

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD TECNOLÓGICA

TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS

BOGOTÁ DC.

2018

Page 2: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

2

PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA POBLACIÓN SORDA

EN COLOMBIA

Autores:

JOHAN DANIEL AGUIRRE CARPETA

DANIEL MAURICIO VALDERRAMA PERDOMO

Trabajo de tesis para optar el título de Tecnólogo en Sistematización de Datos

Director:

DARIN JAIRO MOSQUERA

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD TECNOLÓGICA

TECNOLOGÍA EN SISTEMATIZACIÓN DE DATOS

BOGOTÁ DC.

2018

Page 3: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

3

NOTA DE ACEPTACIÓN

__________________________________

__________________________________

__________________________________

__________________________________

__________________________________

________________________

PRESIDENTE DEL JURADO

________________________

JURADO

Bogotá, 12 de Octubre de 2018

Page 4: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

4

AGRADECIMIENTOS

Al Ingeniero Johan Aguirre, coautor de este trabajo, por ser un gran profesional y

un amigo desde el primer semestre que cursamos juntos en la Universidad; sin

sus conocimientos técnicos, experiencia y compromiso, esta causa no hubiese

sido posible.

Al profesor Darin Jairo Mosquera por creer firmemente en esta propuesta de grado

y brindar su seguimiento al desarrollo de este trabajo.

Al profesor Luis Alfonso Melo Ospina por ser un claro ejemplo de lo que es ejercer

la docencia, mostrando un inigualable interés en el desarrollo de quienes fuimos

sus alumnos y de quienes aún lo son; buscando siempre incentivar nuestra

curiosidad, una cualidad tan subestimada, y a superarnos cada día como

profesionales y como personas.

Al profesor Luis Felipe Wanumen Silva por su forma de ser tan sencilla, queriendo

trascender el rol de docente y convertirse en un compañero y amigo de cada uno

de sus alumnos

A toda la comunidad de la Alma Máter por darle un giro a mi mentalidad de 180º y

formarme tanto como profesional, como académico y como persona.

A mi madre María Ninfa por su inagotable paciencia e inquebrantable fe en mis

capacidades, porque además de ser la persona que me brindó la oportunidad de

abrir mis ojos al nacer e inculcarme valores durante mi crianza, ella me dio la

oportunidad de estudiar en la Universidad Distrital y siempre fue mi motor en el día

a día; no me queda más que pagarle todo su esfuerzo y apoyo en la aventura que

fue mi carrera presentándome ante ella como un profesional.

A mi difunto padre por quedarse en los últimos momentos de su vida junto a mi

madre.

A mis hermanos Juan Carlos y Luz Maritza por estar ahí conmigo en momentos

difíciles y por haber sido dos pilares fundamentales durante mi infancia y

adolescencia.

A mis mejores amigos y hermanos casi de sangre Guillermo Armando y Hyoandri

por éstos invaluables 10 años de amistad y experiencias que vivimos juntos.

A ti querido(a) lector(a).

Y finalmente a mí mismo por nunca desfallecer y seguir adelante sin dudar en

terminar de dar este primer gran paso y alzar el pie para los que hayan por venir.

Daniel Mauricio.

Page 5: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

5

En primera instancia quiero agradecerle a mi amigo y compañero Daniel

Valderrama por su colaboración y dedicación para sacar adelante este proyecto,

por ser parte de la convivencia diaria y estadía de la bella época de la Universidad

.

A mis padres que han sido fuente de valores y de responsabilidades y un ejemplo

a seguir.

A mi novia Vanessa Rodríguez por la ayuda y colaboración prestada.

.

A mis hermanos y amigos.

Johan Daniel

Page 6: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

6

CONTENIDO

INTRODUCCIÓN………………………………………………………………………...11

1. PLANTEAMIENTO DEL PROBLEMA .............................................................. 12

1.1. Descripción ................................................................................................ 12

1.2. Formulación ............................................................................................... 12

1.3. Alcance y limitaciones ................................................................................ 13

2. ESTADO DEL ARTE ........................................................................................ 13

2.1. Fuentes de información primaria ................................................................ 13

2.2. Fuentes de información secundaria ........................................................... 14

3. OBJETIVOS ..................................................................................................... 14

4. JUSTIFICACIÓN .............................................................................................. 15

5. MARCO DE REFERENCIA .............................................................................. 18

5.1. Fuentes de información primaria ................................................................ 18

5.2. Fuentes de información secundaria ........................................................... 18

5.3. Proyectos relacionados .............................................................................. 19

6. MARCO TEÓRICO ........................................................................................... 23

6.1. ¿Qué es una aplicación web? ................................................................... 23

6.2. Herramientas de desarrollo ........................................................................ 23

6.3. Metodología de desarrollo RUP ................................................................. 24

6.4. Geometric template matching …………………………………………………27

6.5. Redes neuronales artificiales…………………………………………………..28

7. MARCO CONCEPTUAL ................................................................................... 30

8. FACTIBILIDAD ................................................................................................. 33

8.1. Técnico ...................................................................................................... 33

8.2. Operativo ................................................................................................... 34

8.3. Económico ................................................................................................. 35

8.4. Legal .......................................................................................................... 36

Page 7: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

7

9. REQUERIMIENTOS DEL SOFTWARE…………………………………………...40

9.1. Requerimientos funcionales……………………………………………………40

9.2. Requerimientos no funcionales………………………………………………..41

9.3. Definición de actores……………………………………………………………42

9.4. Lista preliminar de casos de uso………………………………………………42

10. FASE DE ANÁLISIS…………………………………………………………………44

10.1. Diagrama de casos de uso.……………………………………………..44

10.2. Diagramas de secuencia.……………………………………………….45

10.3. Diagramas de actividades……………………………………………….47

10.4. Diagramas de colaboración……………………………………………..50

10.5. Diagramas de estados…………………………………………………..51

11. FASE DE DISEÑO…………………………………………………………………..53

11.1. Lista inicial de clases…………………………………………………….53

11.2. Diagrama de clases……………………………………………………...54

11.3. Modelo de interfaz………………………………………………………..55

11.4. Modelo lógico……………………………………………………………..56

11.5. Modelo físico……………………………………………………………...57

11.6. Modelo de datos………………………………………………………….57

11.7. Diccionario de datos……………………………………………………..58

12. FASE DE IMPLEMENTACIÓN……………………………………………………..59

12.1. Construcción de la base de datos……………………………………...59

12.2. Diseño Frontend………………………………………………………….61

12.3. Desarrollo Backend………………………………………………………64

12.4. Proceso de entrenamiento………………………………………………67

12.5. Proceso de reconocimiento……………………………………………..71

12.6. Algoritmos de reconocimiento y sus resultados………………………72

13. FASE DE PRUEBAS………………………………………………………………...78

13.1. Pruebas de automatización……………………………………………..78

13.1.1. Ingreso a la página de inicio…………………………………….79

13.1.2. Autenticación de usuarios……………………………………….80

Page 8: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

8

13.1.3. Registro de usuarios……………………………………………..82

14. CONCLUSIONES……………………………………………………………………84

15. RECOMENDACIONES……………………………………………………………...84

16. BIBLIOGRAFÍA………………………………………………………………………86

Page 9: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

9

ÍNDICE DE TABLAS

Pág.

Tabla 1: Proyectos relacionados ............................................................................ 16

Tabla 2: Ventajas y desventajas de RUP ............................................................... 27

Tabla 3: Factibilidad Técnica ................................................................................. 33

Tabla 4: Cuantía .................................................................................................... 35

Tabla 5: Resultados de reconocimiento del abecedario usando Geometric

Template Matching………………………………………………………………………74

Tabla 6: Resultados de reconocimiento del abecedario usando redes neuronales

artificiales…………………………………………………………………………………75

Tabla 7: Resultados de reconocimiento del abecedario usando correlación

cruzada……………………………………………………………………………………76

Page 10: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

10

ÍNDICE DE FIGURAS

Pág.

Figura 1: Esquema de una aplicación web tradicional ........................................... 23

Figura 2: Interfaz WebSocket en Leap Motion ....................................................... 24

Figura 3: Ciclo de vida RUP ................................................................................... 26

Figura 4: Algoritmo geometric template matching...………………………………… 28

Figura 5: Funcionamiento general de una neurona artificial………………………. 30

Figura 6: Diagrama de casos de uso del prototipo traductor………………………..44

Figura 7: Diagrama de secuencia de login……………………………………………45

Figura 8: Diagrama de secuencia del sistema de entrenamiento…………………..45

Figura 9: Diagrama de secuencia del sistema de reconocimiento…………………46

Figura 10: Diagrama de actividades de login…………………………………………47

Figura 11: Diagrama de actividades del sistema de entrenamiento……………….48

Figura 12: Diagrama de actividades del sistema de reconocimiento………………49

Figura 13: Diagrama de colaboración de login……………………………………….50

Figura 14: Diagrama de colaboración del sistema de entrenamiento y

reconocimiento…………………………………………………………………………...50

Figura 15: Diagrama de estados de login……………………………………………..51

Figura 16: Diagrama de estados del sistema de entrenamiento y

reconocimiento…………………………………………………………………………...52

Figura 17: Diagrama de clases…………………………………………………………54

Figura 18: Modelo de interfaz…………………………………………………………..55

Figura 19: Modelo lógico………………………………………………………………..56

Figura 20: Modelo físico…………………………………………………………………57

Figura 21: Representación gráfica de la entidad Usuario...…………………………57

Figura 22: Representación gráfica de la entidad DiccionarioGestos………………58

Figura 23: Abecedario del lenguaje de señas colombiano………………………….73

Figura 24: Gráfico de barras comparando la precisión de los tres algoritmos de

reconocimiento…………………………………………………………………………...78

Page 11: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

11

INTRODUCCIÓN

La evolución de la tecnología que se ha vivido en las últimas décadas, ha puesto a

disposición un enorme volumen de información tanto en calidad como en cantidad.

La disponibilidad y facilidad de acceso a esta, ha facilitado las formas de innovar y

la toma de decisiones de pequeños o grandes proyectos.

Hoy en día las comunicaciones abarcan un papel muy importante en todos los

aspectos de la vida cotidiana y es ahí en donde se tiene que hacer partícipe a todas

las personas, en este caso a las personas sordas, que por esta condición son muy

propensas a ser discriminadas.

El proyecto consiste en proponer un sistema de interacción basado en las

tecnologías de la información, de acuerdo a la creación de una aplicación, que

permita dar soluciones concretas a las situaciones internas que afectan

principalmente a las personas sordas. Este documento muestra las diferentes

problemáticas que tiene esta comunidad y a sí mismo como se plantea una solución

basada en aportes de otros proyectos relacionados con el tema.

Page 12: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

12

1. PLANTEAMIENTO DEL PROBLEMA

1.1. Descripción

Las señas y gestos es el principal medio de comunicación entre las personas con

discapacidad auditiva y vocal. Los sordos tienen graves problemas de comunicación

con las personas que pueden escuchar y no saben interpretar las señas y esto hace

que se vea afectada la vida de personas sordas ya que es muy difícil ser entendidos

por personas que no comprenden sus señas y forma de comunicarse.

En el mundo se ha evidenciado diversidad de falencias, con las personas que tienen

discapacidad auditiva o vocal afectando la calidad de vida frente a una educación

virtual y así mismo con el uso de las redes sociales; refiriéndonos a encontrar

oportunidades para este tipo de población sin restricciones y con un fácil manejo en

el mundo virtual.

Aunque en el internet existen muchos diccionarios para estas personas, no son

implementados por ellas o son de baja calidad; el punto de equilibrio de la gestión

de información para ellos se ve afectado frente a cada proceso que exige el internet.

Las personas con problemas vocales y auditivos son igual de competentes que las

demás, de hecho muchas de estas están mejor preparadas .El problema están en

el medio de comunicación ya que la mayoría de nosotros no conocemos el lenguaje

de señas y por alguna razón no podemos aprenderlo. Muchas veces hacemos uso

de algún intérprete pero ¿qué pasa si no tenemos uno disponible en el momento? ,

entonces es ahí en donde hacemos uso de la tecnología.

1.2. Formulación

¿Cómo fortalecer la comunicación de personas con discapacidad vocal y auditiva

mediante una aplicación con lineamientos adecuados dando uso de una

herramienta informática construida para tal fin?

1.3. Alcance y limitaciones

Page 13: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

13

Alcance

La investigación abarca únicamente la población con discapacidad

auditiva y vocal de una fundación en Bogotá.

El proyecto consiste en el desarrollo de un prototipo de sistema traductor

en tiempo real para sordos, captando los movimientos de sus manos.

Limitaciones

La etapa de tiempo en la recolección de información que permita la

fundación.

Relaciones de información y datos de importancia entre el Instituto

Nacional de Sordos y la fundación.

Autorización requerida para disponer de voluntarios para prueba dentro

de la fundación.

El proyecto implementará un diccionario estático para articular frases en

lugar de utilizar técnicas de Inteligencia Artificial.

2. ESTADO DEL ARTE

2.1. Fuentes de información primaria:

Jorge Enrique Leal Rodríguez, traductor de español a lengua de

señas [online]. Colombia: 2012 Disponible en:

https://www.youtube.com/watch?v=h1RQcWtLY28&feature=youtu.be

Dr. Hernando Cabarcas Antequera, Diccionario básico de la lengua de

señas colombiana [online]. Colombia: 2006 Disponible en:

http://www.ucn.edu.co/e-discapacidad/Documents/36317784-

Diccionario-lengua-de-senas.pdf

Mineducación, Instituto nacional para sordos [online]. Colombia:

Disponible en:

http://www.insor.gov.co/entidad/publicaciones-6/

2.2. Fuentes de información secundaria:

Page 14: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

14

Periódico en línea “Portafolio Colombia digital” [online]. Colombia: 2013

Disponible en:

http://www.portafolio.co/tendencias/traductor-colombiano-acorta-

diferencias-red-81424

Periódico en línea “Periodo digital” [online]. Colombia: 2013 Disponible

en:

https://colombiadigital.net/actualidad/noticias/item/5452-colombiano-

desarrolla-primer-traductor-online-de-lenguas-a-senas.html

Denise Araujo, Nuevo traductor en Internet. Colombia: 2014 Disponible

en:

http://www.buendiario.com/nuevo-traductor-en-internet-espanol-

lenguaje-de-senas/

3. OBJETIVOS

General

Desarrollar una aplicación que brinde una mayor comunicación e

integración para las personas con discapacidad auditiva y vocal.

Específicos

Ofrecer a las personas con discapacidad auditiva y vocal, información

necesaria con el instituto nacional de sordos para un contacto permanente.

Brindar un fácil e interactivo manejo a la aplicación para la comunicación

con las personas con discapacidad auditiva.

Identificar los diccionarios establecidos por la ley para elaborar de una

manera efectiva la simulación en la aplicación.

Page 15: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

15

4. JUSTIFICACIÓN

Se realiza el bosquejo que hace referencia a la problemática que tienen las

personas sordas en donde con la ayuda de la tecnología se pueden superar muchas

barreras que dificultan o limitan la libertad de acceso y comunicación, de acuerdo a

esto se plantea la aplicación donde la población directamente beneficiaria tendrá

fácil acceso por los módulos en señalización; cuyo fin es facilitar una comunicación

amplia y sin fronteras. Por otra parte identificando varias aplicaciones que

actualmente están en línea y haciendo uso de ellas, los servicios son de baja

calidad, es por esto que la aplicación que se está diseñando es primordial para toda

esta población.

A continuación se realiza un cuadro comparativo en el que se analizara las

semejanzas entre el proyecto propuesto y los proyectos desarrollados en la

actualidad (mirar tabla 1).

Tabla 1: Proyectos relacionados

PROYECTO PROYECTOS RELACIONADOS

Page 16: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

16

El proyecto consiste en hacer una

aplicación que se maneje con LEAP

MOTION donde el manejo de

información se hace por un enlace

donde la persona interactúa con sus

manos y el programa identifica la

señal, traduciéndola en palabras o en

voz en tiempo real.

La Interfaz que será web

Soporte de traducción en español

Se manejará en línea

* Proloquo4Text: Aplicación para

personas mudas

Utiliza el sistema de texto de voz para reproducir todas las palabras y frases que la persona quiera decir a otra persona. Con una interfaz simple y altamente personalizable, esta aplicación utiliza los altavoces de un Smartphone para facilitar la conversación. Tiene soporte para 18 idiomas diferentes Para descargar en un iPhone o iPad es necesario pagar alrededor de 130 dólares.

* Aplicación para personas con

discapacidad

El plus de SpeechTrans es no tener que depender del lenguaje de señas para que la persona se pueda comunicar, ya que la aplicación lee todo lo que decimos para mostrar en forma de texto en la pantalla de tu dispositivo. Captura en video la señalización de una persona *MyEarDroid

Es una aplicación de Android para gente con discapacidad auditiva que le notifica al usuario sobre los sonidos que han ocurrido en su alrededor. La aplicación produce vibraciones y notificaciones visuales para alertar al usuario que algo ha causado un sonido en su hogar.

Page 17: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

17

La aplicación reconoce sonidos como timbres, llamadas y alarmas. Si MyEarDroid no puede identificar un sonido del hogar, se pueden grabar sonidos y agregarlos a la lista. *Sordo Ayuda

Facilita la comunicación para las personas con discapacidad auditiva. La aplicación traduce voz a texto para que el usuario pueda leer lo que se haya dicho. Otra característica útil de Sordo Ayuda es que puede traducir texto a voz. *AMPDA (Sordomudos) Es una aplicación que facilita la comunicación para aquellas personas con discapacidad auditiva que usan la lengua de señas. La aplicación contiene un abecedario dactilológico de letras acompañadas con sonidos e imágenes. El usuario puede usar el abecedario para aprender la lengua de señas. Incluye, además, una base de palabras predefinidas clasificadas en categorías diferentes, como animales y colores. Esta función sirve como una biblioteca que se puede consultar rápidamente para ver las traducciones de las palabras a la lengua de señas en vez de deletrear cada una con el abecedario dactilológico. La aplicación está disponible para el sistema operativo Android, y actualizaciones recientes indican que la próxima versión incluirá más sonidos para acompañar las palabras escritas por el usuario para que la gente oyente pueda oirlas.

Page 18: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

18

*¿De qué hablan?

Es una aplicación que intenta ayudar a gente con discapacidades auditivas a entender los contextos de conversaciones cotidianas y formales.

Estructurado en forma de juego, la aplicación muestra fotos de diferentes situaciones (como una conversación entre un doctor y un paciente en tres lugares distintos) y el usuario tiene que escoger la opción que tiene más sentido en el contexto de la conversación.

5. MARCO DE REFERENCIA

5.1. Fuentes de información primaria:

Jorge Enrique Leal Rodríguez, traductor de español a lengua de

señas [online]. Colombia: 2012 Disponible en:

https://www.youtube.com/watch?v=h1RQcWtLY28&feature=youtu.be

Dr. Hernando Cabarcas Antequera, Diccionario básico de la lengua de

señas colombiana [online]. Colombia: 2006 Disponible en:

http://www.ucn.edu.co/e-discapacidad/Documents/36317784-

Diccionario-lengua-de-senas.pdf

Mineducación, Instituto nacional para sordos [online]. Colombia:

Disponible en: http://www.insor.gov.co/entidad/publicaciones-6/

5.2. Fuentes de información secundaria:

Periódico en línea “Portafolio Colombia digital” [online]. Colombia: 2013

Disponible en:

http://www.portafolio.co/tendencias/traductor-colombiano-acorta-

diferencias-red-81424

Page 19: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

19

Periódico en línea “Periodo digital” [online]. Colombia: 2013 Disponible

en:

https://colombiadigital.net/actualidad/noticias/item/5452-colombiano-

desarrolla-primer-traductor-online-de-lenguas-a-senas.html

Denise Araujo, Nuevo traductor en Internet. Colombia: 2014 Disponible

en:

http://www.buendiario.com/nuevo-traductor-en-internet-espanol-

lenguaje-de-senas/

5.3. Proyectos relacionados

Título: Proloquo4Text: Aplicación para personas mudas

Autor: CAMFIND

Año: 2016

Descripción:

Utiliza el sistema de texto de voz para reproducir todas las palabras y frases

que la persona quiera decir a otra persona.

Con una interfaz simple y altamente personalizable, esta aplicación utiliza

los altavoces de un Smartphone para facilitar la conversación.

Tiene soporte para 18 idiomas diferentes

Para descargar en un iPhone o iPad es necesario pagar alrededor de 130

dólares.

Page 20: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

20

Título: Aplicación para personas con discapacidad

Autor: Speechtrans TM

Año: 2016

Descripción:

El plus de SpeechTrans es no tener que depender del lenguaje de señas

para que la persona se pueda comunicar, ya que la aplicación lee todo lo

que decimos para mostrar en forma de texto en la pantalla de tu dispositivo.

Captura en video la señalización de una persona.

Título: Aplicación para personas con problemas auditivos

Autor: TruLink

Año: 2015

Descripción:

Es una aplicación ideal para personas con pérdida auditiva.

Las personas pueden tener la comodidad por todos lados puesto que

aprovecha la conexión de los audífonos con el dispositivo para ajustar

fácilmente el volumen según sea necesario.

La aplicación sólo es compatible con los audífonos de las siguientes

marcas: Starkey, Audibel, nuear, Microtech y AGX.

TruLink está disponible de manera gratuita y es compatible con iOS 7.1 en

adelante.

Título: MyEarDroid

Autor: Tecnalia - Salud

Año: 2014

Descripción:

Es una aplicación de Android para gente con discapacidad auditiva que le

notifica al usuario sobre los sonidos que han ocurrido en su alrededor.

La aplicación produce vibraciones y notificaciones visuales para alertar al

usuario que algo ha causado un sonido en su hogar.

Page 21: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

21

La aplicación reconoce sonidos como timbres, llamadas y alarmas. Si

MyEarDroid no puede identificar un sonido del hogar, se pueden grabar

sonidos y agregarlos a la lista.

Título: Sordo Ayuda

Autor: Hexxce

Año: 2015

Descripción:

Facilita la comunicación para las personas con discapacidad auditiva.

La aplicación traduce voz a texto para que el usuario pueda leer lo que se

haya dicho.

Otra característica útil de Sordo Ayuda es que puede traducir texto a voz.

Hay una versión gratis; pero, si se quiere usar sin anuncios, se tiene que

comprar la versión PRO.

Título: AMPDA (Sordomudos)

Autor: AMI Inc.

Año: 2014

Descripción:

Es una aplicación que facilita la comunicación para aquellas personas con

discapacidad auditiva que usan la lengua de señas.

La aplicación contiene un abecedario dactilológico de letras acompañadas

con sonidos e imágenes.

El usuario puede usar el abecedario para aprender la lengua de señas.

Incluye, además, una base de palabras predefinidas clasificadas en

categorías diferentes, como animales y colores.

Esta función sirve como una biblioteca que se puede consultar rápidamente

para ver las traducciones de las palabras a la lengua de señas en vez de

deletrear cada una con el abecedario dactilológico.

La aplicación está disponible para el sistema operativo Android, y

actualizaciones recientes indican que la próxima versión incluirá más

sonidos para acompañar las palabras escritas por el usuario para que la

Page 22: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

22

gente oyente pueda oírlas.

Título: Signslator

Autor: TBWA\Spain

Año: 2014

Descripción:

Traduce del español a la lengua de señas.

Es una herramienta para que la gente sorda y la gente oyente pueda

comunicarse con más facilidad.

La gente oyente puede grabar su voz y ver las palabras deletreadas por una

persona en la pantalla, y la gente sorda puede deletrear las palabras

usando lengua de señas en la pantalla para que la aplicación pueda

decirlas en voz alta.

Título: ¿De qué hablan?

Autor: RVG

Año: 2014

Descripción:

Es una aplicación que intenta ayudar a gente con discapacidades auditivas

a entender los contextos de conversaciones cotidianas y formales.

Estructurado en forma de juego, la aplicación muestra fotos de diferentes

situaciones (como una conversación entre un doctor y un paciente en tres

lugares distintos) y el usuario tiene que escoger la opción que tiene más

sentido en el contexto de la conversación.

Se ofrece gratis para Android.

Page 23: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

23

6. MARCO TEÓRICO

6.1. ¿Qué es una aplicación web?

Una Aplicación Web es un sitio donde la entrada de datos afecta al estado de la

lógica. Es decir, una Aplicación Web se sirve de un sitio o página como entrada a

una verdadera aplicación. Un buscador forma parte de un sitio Web, mientras que

si se acepta información para registrar a un usuario, se trata de una Aplicación Web.

La arquitectura global de una Aplicación Web es idéntica a la de un sitio Web,

aunque su desarrollo sea más elaborado.

Figura 1. Esquema de una aplicación web tradicional

6.2. Herramientas de desarrollo

Interfaz de WebSocket

El servicio Leap Motion ejecuta un servidor WebSocket en el dominio localhost en

el puerto 6437. La interfaz WebSocket proporciona datos de seguimiento en forma

de mensajes JSON. Se dispone de una biblioteca cliente JavaScript que consume

los mensajes JSON y presenta los datos de seguimiento como objetos JavaScript

normales.

Page 24: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

24

Figura 2: Interfaz WebSocket en una típica aplicación para Leap Motion.

1. El servicio Leap Motion proporciona un servidor WebSocket que escucha

en http://127.0.0.1:6437 .

2. El panel de control Leap Motion permite a los usuarios finales habilitar o

deshabilitar el servidor WebSocket.

3. El servidor envía datos de seguimiento en forma de mensajes JSON. Una

aplicación puede enviar mensajes de configuración de nuevo al servidor.

4. La leap.jsbiblioteca JavaScript de cliente se debe utilizar en aplicaciones

web. La biblioteca establece la conexión con el servidor y consume los

mensajes JSON.

6.3. Metodología de desarrollo RUP

RUP es un proceso formal: Provee un acercamiento disciplinado para asignar tareas

y responsabilidades dentro de una organización de desarrollo. Su objetivo es

asegurar la producción de software de alta calidad que satisfaga los requerimientos

de los usuarios finales (respetando cronograma y presupuesto). Fue desarrollado

por Rational Software, y está integrado con toda la suite Rational de herramientas.

Puede ser adaptado y extendido para satisfacer las necesidades de la organización

Page 25: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

25

que lo adopte. Es guiado por casos de uso y centrado en la arquitectura, y utiliza

UML como lenguaje de notación.

Principales Características

Desarrollo iterativo.

Administración de requisitos.

Uso de arquitectura basada en componentes.

Control de cambios.

Modelado visual del software.

Verificación de la calidad del software.

Pretende implementar las mejores prácticas en Ingeniería de Software, de

forma que se adapte a cualquier proyecto.

El ciclo de vida

El ciclo de vida RUP (Rational Unified Process) es una implementación del

desarrollo en espiral. Fue creado ensamblando los elementos en secuencias semi-

ordenadas. El ciclo de vida organiza las tareas en fases e iteraciones. RUP divide

el proceso en cuatro fases, dentro de las cuales se realizan pocas pero grandes y

formales iteraciones en número variable según el proyecto. En la Figura muestra

cómo varía el esfuerzo asociado a las disciplinas según la fase en la que se

encuentre el proyecto RUP. Las primeras iteraciones (en las fases de Inicio y

Elaboración) se enfocan hacia la comprensión del problema y la tecnología, la

delimitación del ámbito del proyecto, la eliminación de los riesgos críticos, y al

establecimiento de una baseline (línea base) de la arquitectura. Durante la fase de

inicio las iteraciones hacen mayor énfasis en actividades de modelado del negocio

y de requisitos. En la fase de elaboración, las iteraciones se orientan al desarrollo

de la baseline de la arquitectura, abarcan más los flujos de trabajo de requisitos,

modelo de negocios (refinamiento), análisis, diseño y una parte de implementación

orientado a la baseline de la arquitectura.1

1 Taft Darryl K. IBM Acquires Rational [En linea]. 2002.< http://www.eweek.com/pc-hardware/ibm-scoops-up-rational> [Citadoel 11 de Octubre de 2017]

Page 26: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

26

En la fase de construcción, se lleva a cabo la construcción del producto por medio

de una serie de iteraciones. Para cada iteración se seleccionan algunos Casos de

Uso, se refinan su análisis y diseño y se procede a su implementación y pruebas.

Se realiza una pequeña cascada para cada ciclo. Se realizan iteraciones hasta que

se termine la implementación de la nueva versión del producto. En la fase de

transición se pretende garantizar que se tiene un producto preparado para su

entrega a la comunidad de usuarios.2

Como se puede observar en cada fase participan todas las disciplinas, pero

dependiendo de la fase el esfuerzo dedicado a una disciplina varía.

Figura 3: Ciclo de vida RUP.

2 Ibid. p .2.

Page 27: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

27

Tabla 2: Ventajas y desventajas del RUP 3

6.4. Geometric template matching

Es una técnica de visión artificial usada para encontrar partes específicas dentro de

una imagen a base de la búsqueda de una información matriz o ‘template’. Esta

técnica se centra en tres pilares principales que son: La generación de candidatos,

el cálculo de una medida de similitud y la toma de decisión. Es ampliamente

utilizada para la manufactura, el control de calidad, sistemas de navegación para

robots y como un método para detectar bordes en una imagen.

El algoritmo básico para el funcionamiento del geometric template matching

consiste en asignar a cada pixel un valor de diferencia entre su entorno y la

imagen matriz, considerando que el ‘radio’ de entorno será de iguales dimensiones

que el ‘template’. Finalmente se buscan los valores mínimos dentro de la matriz

3 Ibid. p. 2.

Ventajas Desventajas

• Evaluación en cada fase que permite

cambios de objetivos.

• Funciona bien en proyectos de

innovación.

• Es sencillo, ya que sigue los pasos

intuitivos necesarios a la hora de

desarrollar el software.

• Seguimiento detallado en cada una

de las fases.

• La evaluación de riesgos es compleja

• Excesiva flexibilidad para algunos

proyectos

• Estamos poniendo a nuestro cliente

en una situación que puede ser muy

incómoda para él.

• Nuestro cliente deberá ser capaz de

describir y entender a un gran nivel de

detalle para para poder acordar un

alcance del proyecto con él.

Page 28: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

28

generada, se establece un rango de tolerancia y los valores que permanezcan

dentro de ese rango serán reconocidos como detecciones válidas.

Figura 4: Algoritmo de geometric template matching.

Como se observa en la imagen previa, el ‘template’, en este caso la fotografía de

una mano completa, recorre la imagen sujeta a análisis de izquierda a derecha y de

arriba abajo. El centro del ‘template’ se coloca en el pixel que contendrá el valor de

la diferencia entre el recuadro de cálculo y el recuadro del ‘template’. Cuando se

analiza el entorno de todos los pixeles y se ha asignado a cada uno un valor de di-

similitud se puede desarrollar un mapa de diferencias que muestra en tonos de

negro y blanco que tan diferente es la región de cada pixel con respecto al ‘template’.

En este caso el valor más bajo de diferencia está marcado por el pixel negro más

intenso, correspondiente a la tercera mano de la imagen, indicando que se trata de

una correspondencia perfecta. Es importante aclarar que cuando se trabaja con

intensidades de color, el valor más intenso corresponde a 255 y el menor

corresponde al pixel totalmente blanco y totalmente negro en este ejemplo.4

6.5. Redes neuronales artificiales

4 Detección de objetos mediante el algoritmo template matching, <https://cesartroyasherdek.wordpress.com/2016/02/19/deteccion-de-objetos-iv/> [Citado el 02 de Junio de 2018]

Page 29: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

29

Las redes neuronales artificiales son sistemas de procesamiento de la información

cuya estructura y funcionamiento están inspirados en las redes neuronales

biológicas. Consisten en gran número de elementos simples de procesamiento

llamados nodos o neuronas que están organizados en capas. Cada neurona está

conectada con otras funciones mediante enlaces de comunicación, cada uno de los

cuales tiene asociado un peso. Los pesos representan la información que será

usada por la red neuronal para resolver un problema determinado.

Así, las redes neuronales artificiales son sistemas adaptativos que aprenden de la

experiencia, esto es, aprender a llevar a cabo ciertas tareas mediante un

entrenamiento con sistemas ilustrativos .

Mediante este entrenamiento o aprendizaje, las redes neuronales artificiales crean

su propia representación interna del problema, por tal motivo se dice que son auto

organizadas. Posteriormente, pueden responder adecuadamente cuando se les

presentan situaciones a las que no habían sido expuestas anteriormente, es decir,

las redes neuronales artificiales son capaces de generalizar de casos anteriores a

casos nuevos.

Esta característica es fundamental ya que permite a la red responder correctamente

no solo ante informaciones novedosas, sino también ante informaciones

distorsionadas o incompletas.

Neurona artificial

La neurona artificial pretende mimetizar las características más importantes de la

neurona biológica. En general, recibe las señales de entrada de las neuronas

vecinas ponderadas por los pesos de las conexiones. La suma de estas señales

ponderadas proporciona la entrada total o neta de la neurona y, mediante la

aplicación de una función matemática –denominada función de salida-, sobre la

entrada neta, se calcula un valor de salida, el cual es enviado a otras neuronas

(figura 5). Tanto los valores de entrada a la neurona como su salida pueden ser

Page 30: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

30

señales excitatorias (cuando el valor es positivo) o inhibitorias (cuando el valor es

negativo).5

Figura 5: Funcionamiento general de una neurona artificial.

7. MARCO CONCEPTUAL

Aplicación (Software): es un conjunto de programas, instrucciones y reglas para

ejecutar ciertas tareas en una computadora u ordenador.6

Arquitectura cliente-servidor: consiste básicamente en una aplicación (el cliente)

que hace una o varias peticiones requests a otra aplicación (el servidor) que genera

su respectiva respuesta response, la cual el cliente verá reflejada en su interfaz o

en su defecto obtendrá un mensaje de error ya sea por un fallo en la comunicación,

violación de protocolos, entre otras causas. Esta arquitectura puede ser

5 ¿Qué son las redes neuronales artificiales? Aplicaciones realizadas en el ámbito de las adicciones, Alfonso Palmer Pol. Universidad de las Islas Baleares < http://disi.unal.edu.co/~lctorress/RedNeu/LiRna001.pdf> [Citado el 02 de Junio de 2018] 6 Diccionario panhispánico de dudas, Real Academia Española [En línea], 2005 <http://dle.rae.es/srv/search?m=30&w=software> [Citado el 11 de Octubre de 2017]

Page 31: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

31

implementada tanto de manera local (cliente y servidor alojados en la misma

máquina) como de manera remota (cliente y servidor alojados en máquinas

diferentes).

Base de datos: es un almacén virtual que nos permite guardar grandes cantidades

de información de forma organizada para que luego podamos encontrar y utilizar

fácilmente.

Cibernauta: Se enfoca sobre la persona que navega por internet buscando

información de su interés.

Framework: es el marco o entorno de trabajo donde se desarrolla las prácticas

necesarias para la solución de un problema propuesto y lograr resolver problemas

de similar índole.

Host: es la conexión entre varios computadores que proveen y utiliza los servicios

de esta red como las bases de datos, correos electrónicos, etc.

HTTP (Hypertext Transfer Protocol): el protocolo de transferencia de hipertexto

permite la comunicación de datos a través de la Word Wide Web.

Internet: la internet o “Red Interna” es parte de la definición “Red de redes”, debido

a que se conoce como la interconexión de redes informáticas más grande en el

mundo, permitiendo que miles de computadores, conectados desde diferentes

partes del mundo, puedan comunicarse entre sí, ya sea para informarse sobre

política, economía, arte, tecnología, entre otros temas de interés, o para enviar

correos electrónicos a amigos o conocidos

Page 32: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

32

Navegador Web: es una aplicación diseñada para acceder al internet para realizar

consultas, buscar información, servicios, productos, etc. Emplea el uso de

hipertexto, y lenguajes de programación enfocados a la web.

Servidor Web: es la comunicación e interpretación de un programa instalado en

una maquina llamada servidor, la cual procesa del lado del servidor los datos

solicitados por el cliente. Puede ser la comunicación entre el cliente y el servidor

bidireccional, unidireccional, asíncronas, o síncronas, y puede dar como respuesta

en cualquier tipo de lenguaje.

Sitio Web: Un sitio Web es un grupo de páginas Web relacionadas entre sí, las

cuales pueden contener texto, enlaces, imágenes y otros elementos multimedia.

Cualquier persona puede ver su sitio utilizando el nombre de su dominio. Los sitios

Web pueden ser desde simples páginas personales, donde incluir sus aficiones,

hasta complejas aplicaciones empresariales donde realizar transacciones bancarias

y comerciales.

World Wide Web: la red informática mundial, consiste en el enlace de hipermedios

conectados mediante la internet, en el que se accede a través de un navegador

web. Permite obtener mediante esta red toda la información solicitada a través de

la navegación, como videos, texto, audios, etc.

Page 33: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

33

8. FACTIBILIDAD

8.1. Técnico

En la parte técnica los recursos a utilizar son gestores de bases de datos, con este

conjunto de programas se organizara el modelo apropiado de recursos del proyecto.

Para este proyecto se utilizará el gestor de base de datos MongoBD debido a que

su estructura es clara, soporta consultas dinámicas y maneja Big data, se usará el

lenguaje de programación JavaScript puesto que tiene accesibilidad en los

navegadores web.

Tabla 3. Factibilidad Técnica. Se presentan todos los recursos para realizar el proyecto con su descripción.

RECURSOS TÉCNICOS PARA EL DESARROLLO DEL PROYECTO

Tipo de recurso

Nombre del

recurso

Descripción Cantidad

Recursos

Humanos

Experto en el área de Desarrollo

Analista 1

Diseñador de Base de Datos y Programador

1

Diseñador 1

Hardware PC (HP® 6300 Pro)

Computador

1

CPU Intel® Core i5 3.0 GHz,

4 GB de RAM

500 GB disco duro

Laptop (HP®

Probook 440 G1)

Computador portátil

1 CPU Intel® Core i5 4200M 2.5 GHz

12 GB de RAM

750 GB disco duro

Software MongoDB Sistema Gestor de Bases de Datos No Relacionales

1

JavaScript Lenguaje de Desarrollo

1

Page 34: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

34

Microsoft® Windows 10

Sistema operativo 1

Microsoft®Windows 8.1

Sistema operativo 1

Microsoft® Office 2013

Herramienta para aplicación de ofimática

1

Github Gestión del proyecto 1

8.2. Operativo

La visión operativa, tiene como prioridad comprobar que las personas con

discapacidad auditiva y vocal logren darle un uso apropiado a esta aplicación.

Para esto, el sistema debe contemplar ciertos parámetros importantes al

momento de desarrollarse.

El aplicativo web debe ser de un fácil manejo, intuitivo y didáctico, con el que

podrán visualizar la información correspondiente.

Es importante verificar este software para evidenciar los cambios o menús que

se le puedan habilitar después de las opiniones de los usuarios.

Page 35: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

35

8.3. Económico

Tabla 4: Cuantía.

Presupuesto Global del Proyecto

Ítems Unidad (pesos

colombianos)

Total (pesos

colombianos)

Recursos Humanos:

Ingeniero Desarrollador Semi Senior 3’780.000 3’780.000

Ingeniero Desarrollador Junior 2’520.000 2’520.000

Honorarios y servicios personales 200.000 400.000

Transporte: 250.000 500.000

Viáticos: 0 0

Tecnológicos:

Computador de mesa HP® 6300 Pro 555.550 555.550

Computador portátil HP® Probook 440

G1

915.200 915.200

Leap Motion 330.000 330.000

Materiales:

Tablero acrílico con trípode 120x80 cm

(x2)

52.000 104.000

Combo de marcadores borrables +

borrador de tablero (x2)

16.650 33.300

Cuaderno 5 materias grande (x2) 16.000 32.000

Imprevistos 1’800.000 1’800.000

Page 36: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

36

8.4. Legal

Se ampara este proyecto en el marco legal constitucional colombiano,

cumpliendo el artículo 15 de la Constitución Política de Colombia, la cual cita lo

siguiente:

“Todas las personas tienen derecho a su intimidad personal y familiar y a su buen

nombre, y el Estado debe respetarlos y hacerlos respetar. De igual modo, tienen

derecho a conocer, actualizar y rectificar las informaciones que se hayan

recogido sobre ellas en los bancos de datos y en archivos de entidades públicas

y privadas. En la recolección, tratamiento y circulación de datos se respetarán la

libertad y demás garantías consagradas en la Constitución. La correspondencia

y demás formas de comunicación privada son inviolables. Sólo pueden ser

interceptados o registrados mediante orden judicial, en los casos y con las

formalidades que establezca la ley. Con el fin de prevenir la comisión de actos

terroristas, una ley estatutaria reglamentará la forma y condiciones en que las

autoridades que ella señale, con fundamento en serios motivos, puedan

interceptar o registrar la correspondencia y demás formas de comunicación

privada, sin previa orden judicial, con aviso inmediato a la Procuraduría General

de la Nación y control judicial posterior dentro de las treinta y seis (36) horas

siguientes. Al iniciar cada período de sesiones el Gobierno rendirá informe al

Congreso sobre el uso que se haya hecho de esta facultad. Los funcionarios que

abusen de las medidas a que se refiere este artículo incurrirán en falta gravísima,

Totales 10’435.200 10’970.050

Fuentes de financiamiento:

Recursos propios: 1’700.000 1’700.000

Prestamos (Entidad:______________) 800.000 1’600.000

Total: 8’000.000 8’000.000

Page 37: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

37

sin perjuicio de las demás responsabilidades a que hubiere lugar. Para efectos

tributarios judiciales y para los casos de inspección, vigilancia e intervención del

Estado, podrá exigirse la presentación de libros de contabilidad y demás

documentos privados, en los términos que señale la ley.”7

Enmarcado este artículo se puede trabajar en nuestro proyecto bajo el marco

de constitucionalidad colombiano. Sin embargo por la amplitud del artículo

constitucional, se es necesario cobijar el desarrollo del proyecto bajo unas leyes

que tengan en cuenta el manejo de datos públicos y privados, citando dos leyes

expedidas; la Ley 1266 de 2008 y la Ley 1581 de 2012.

La Ley 1266 de 2008, conocida como “Habeas Data” hace referencia a la

protección de información personal. A pesar de esta rencaminado esta ley para

la protección de datos financieros, también hace énfasis en el manejo de la

información, referenciado en el artículo 4 “Principios de la administración de

datos” diciendo lo siguiente:

“En el desarrollo, interpretación y aplicación de la presente ley, se tendrán en

cuenta, de manera armónica e integral, los principios que a continuación se

establece:

a) Principio de veracidad o calidad de registros o datos. La información contenida

en los bancos de datos debe ser veraz, completa, exacta, actualizada,

comprobable y comprensible. Se prohíbe el registro y divulgación de datos

parciales, incompletos, fraccionados o que induzcan a error

b) Principio de finalidad. La administración de datos debe obedecer a una

finalidad legítima de acuerdo con la Constitución y la Ley. La finalidad debe

informársele al titular de la información previa o concomitantemente con el

otorgamiento de la autorización, cuando ella sea necesaria o en general siempre

que el titular solicite información al respecto;

7 Herramientas Jurídicas Para La Protección De Los Datos Personales En Colombia: Análisis Del Grado De Protección Jurídica Del

Habeas Data. [En Línea], < Http://Repository.Unilibre.Edu.Co/Bitstream/Handle/10901/9677/01%20-

%20proyecto%20de%20grado%20final%20aprobado%2025-07-16%20-%20recomendaciones%20incluidas%20-%2010-08-

16.Pdf?Sequence=1> [Citado El 15 De Junio De 2015]

Page 38: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

38

c) Principio de circulación restringida. La administración de datos personales se

sujeta a los límites que se derivan de la naturaleza de los datos, de las

disposiciones de la presente ley y de los principios de la administración de datos

personales especialmente de los principios de temporalidad de la información y

la finalidad del banco de datos. Los datos personales, salvo la información

pública, no podrán ser accesibles por Internet o por otros medios de divulgación

o comunicación masiva, salvo que el acceso sea técnicamente controlable para

brindar un conocimiento restringido sólo a los titulares o los usuarios autorizados

conforme a la presente ley;

d) Principio de temporalidad de la información. La información del titular no podrá

ser suministrada a usuarios o terceros cuando deje de servir para la finalidad del

banco de datos;

e) Principio de interpretación integral de derechos constitucionales. La presente

ley se interpretará en el sentido de que se amparen adecuadamente los derechos

constitucionales, como son el hábeas data, el derecho al buen nombre, el

derecho a la honra, el derecho a la intimidad y el derecho a la información. Los

derechos de los titulares se interpretarán en armonía y en un plano de equilibrio

con el derecho a la información previsto en el artículo 20 de la Constitución y con

los demás derechos constitucionales aplicables;

f) Principio de seguridad. La información que conforma los registros individuales

constitutivos de los bancos de datos a que se refiere la ley, así como la resultante

de las consultas que de ella hagan sus usuarios, se deberá manejar con las

medidas técnicas que sean necesarias para garantizar la seguridad de los

registros evitando su adulteración, pérdida, consulta o uso no autorizado;

g) Principio de confidencialidad. Todas las personas naturales o jurídicas que

intervengan en la administración de datos personales que no tengan la

naturaleza de públicos están obligadas en todo tiempo a garantizar la reserva

de la información, inclusive después de finalizada su relación con alguna de las

labores que comprende la administración de datos, pudiendo sólo realizar

suministro o comunicación de datos cuando ello corresponda al desarrollo de

Page 39: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

39

las actividades autorizadas en la presente ley y en los términos de la misma.”8

La Ley 1581 de 2012, conocido como “Régimen General de Protección de

Datos Personales” se ampara el proyecto, citando el artículo 4, la cual dicta de

la siguiente manera:

“Artículo 4°. Principios para el Tratamiento de datos personales. En el desarrollo,

interpretación y aplicación de la presente ley, se aplicarán, de manera armónica

e integral, los siguientes principios:

a) Principio de legalidad en materia de Tratamiento de datos: El Tratamiento a

que se refiere la presente ley es una actividad reglada que debe sujetarse a lo

establecido en ella y en las demás disposiciones que la desarrollen;

b) Principio de finalidad: El Tratamiento debe obedecer a una finalidad legítima

de acuerdo con la Constitución y la Ley, la cual debe ser informada al Titular;

c) Principio de libertad: El Tratamiento sólo puede ejercerse con el

consentimiento, previo, expreso e informado del Titular. Los datos personales no

podrán ser obtenidos o divulgados sin previa autorización, o en ausencia de

mandato legal o judicial que releve el consentimiento;

d) Principio de veracidad o calidad: La información sujeta a Tratamiento debe ser

veraz, completa, exacta, actualizada, comprobable y comprensible. Se prohíbe el

Tratamiento de datos parciales, incompletos, fraccionados o que induzcan a

error;

e) Principio de transparencia: En el Tratamiento debe garantizarse el derecho del

Titular a obtener del Responsable del Tratamiento o del Encargado del

Tratamiento, en cualquier momento y sin restricciones, información acerca de la

existencia de datos que le conciernan;

f) Principio de acceso y circulación restringida: El Tratamiento se sujeta a los

límites que se derivan de la naturaleza de los datos personales, de las

disposiciones de la presente ley y la Constitución. En este sentido, el Tratamiento

8 Política De Tratamiento Protección De Datos Personales De Los Titulares De La Universidad Nacional De Colombia

[En Línea] < Http://Www.Unal.Edu.Co/Contenido/Habeas/Politica%20de%20tratamiento%20de%20datos.Pdf> [Citado

El 10 De Octubre De 2012)

Page 40: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

40

sólo podrá hacerse por personas autorizadas por el Titular y/o por las personas

previstas en la presente ley;

Los datos personales, salvo la información pública, no podrán estar disponibles

en Internet u otros medios de divulgación o comunicación masiva, salvo que el

acceso sea técnicamente controlable para brindar un conocimiento restringido

sólo a los Titulares o terceros autorizados conforme a la presente ley;

g) Principio de seguridad: La información sujeta a Tratamiento por el

Responsable del Tratamiento o Encargado del Tratamiento a que se refiere la

presente ley, se deberá manejar con las medidas técnicas, humanas y

administrativas que sean necesarias para otorgar seguridad a los registros

evitando su adulteración, pérdida, consulta, uso o acceso no autorizado o

fraudulento.”9

9. REQUERIMIENTOS DEL SOFTWARE

9.1. Requerimientos funcionales

El sistema contará con una pantalla de inicio de sesión.

El sistema se integrará con el sensor Leap Motion el para recibir fotogramas

en infrarrojo, coordenadas y ángulos de las manos del usuario.

El sistema mostrará un render de las manos del usuario el cual reaccionará

a sus movimientos en tiempo real.

El sistema diferenciará entre señas (movimientos arbitrarios con las manos)

y posturas (cuando las manos mantienen una posición estática).

El usuario podrá entrenar al sistema de reconocimiento creando una seña o

postura de manos, pudiendo éste configurar parámetros como el tamaño de

la muestra, algoritmos de entrenamiento, entre otros.

9 Política de Protección De Datos [En línea] < http://mendebal.com/politica-datos.php> [Citado el 6 de Noviembre de

2017]

Page 41: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

41

El sistema permitirá al usuario reentrenar una seña o postura de manos

cuando este lo crea conveniente.

El operador del sistema asignará una palabra del lenguaje español a cada

seña o postura de manos que el usuario exprese basándose en el lenguaje

de señas.

El sistema almacenará todas las señas y posturas de manos entrenadas por

el usuario en una base de datos no relacional.

Cuando el usuario replique una seña o postura de manos frente al sensor, el

sistema realizará una búsqueda en la base de datos para validar su

existencia o no dentro de sus registros.

Una vez la búsqueda determine que la seña o postura de manos existe en la

base de datos, el sistema generará una salida de audio en forma de palabra

en lenguaje español asociada a dicho registro.

9.2. Requerimientos no funcionales

El sistema permitirá al operador del software escoger entre tres métodos para

almacenar señas o posturas de manos: Posicionamiento geométrico 3D (por

defecto), Al Resolución y Baja Resolución; cada método con distintas

características.

El sistema permitirá al operador del software escoger entre tres algoritmos

de entrenamiento disponibles: Geometric Template Matching (por defecto),

Redes Neuronales Artificiales y Correlación Cruzada.

El sistema permitirá adicionalmente configurar parámetros como velocidad

mínima de reconocimiento, velocidad máxima de reconocimiento, cuadros

mínimos para reconocimiento de una entrada, porcentaje mínimo de

coincidencia, tamaño de la muestra de entrenamiento, factor de convolución

(para redes neuronales artificiales) y tiempo máximo de inactividad según el

criterio del operador del software.

Si el usuario así lo desea, es posible usar el visualizador de manos instalado

en el sistema junto a los controladores del Leap Motion.

Page 42: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

42

9.3. Definición de actores

Usuario: Cualquier individuo que interactúe con el sensor Leap Motion o con

el software de entrenamiento y reconocimiento.

Administrador: Un tipo especial de usuario. Se trata de una persona con el

suficiente conocimiento del software y del sensor Leap Motion para configurar

el sistema integrado, elegir métodos de reconocimiento, asignar en número

de iteraciones para entrenar una seña o postura de manos, resolver

problemas de conexión, calibrar los motores de reconocimiento y

entrenamiento, etc.

Sensor Leap Motion: Dispositivo encargado de tomar imágenes en

infrarrojo en tiempo real de las manos humanas para posteriormente

analizarlas y generar datos asociados como las coordenadas de posición de

los dedos y manos, sus ángulos, coordenadas, estructura, etc.

Sistema Leap Trainer: Es el núcleo de toda la aplicación el cual consiste en

una herramienta diseñada para manipular los datos e imágenes por segundo

capturadas por el Leap Motion para posteriormente crear nuevas señas y

reconocerlas dependiendo de la interacción que tenga el usuario con el

sensor.

9.4. Lista preliminar de casos de uso

Usuario:

o Iniciar sesión.

o Verificar existencia.

o Validar usuario y contraseña.

o Mover manos.

o Entrenar gesto de manos.

o Hacer gesto de manos.

Administrador:

o Configurar motor de entrenamiento.

o Configurar motor de reconocimiento.

Page 43: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

43

Sensor Leap Motion

o Escanear manos.

o Capturar gesto de manos.

o Generar coordenadas de las manos.

Sistema Leap Trainer

o Reconocer gesto de manos.

o Analizar gesto de manos.

o Buscar coincidencia.

o Transformar gesto en voz.

Page 44: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

44

10. FASE DE ANÁLISIS

10.1. Diagrama de casos de uso

El sistema está dividido en tres subsistemas: subsistema de entrenamiento,

subsistema de reconocimiento y subsistema de login o ingreso al sistema.

Figura 6: Diagrama de casos de uso del Prototipo traductor.

Page 45: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

45

10.2. Diagramas de secuencia

Figura 7: Diagrama de secuencia del módulo de registro y

autenticación de usuarios.

Figura 8: Diagrama de secuencia del sistema de entrenamiento.

Page 46: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

46

Figura 9: Diagrama de secuencia del sistema de reconocimiento.

Page 47: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

47

10.3. Diagramas de actividades

Figura 10: Diagrama de actividades del sistema de Login.

Page 48: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

48

Figura 11: Diagrama de actividades del sistema de entrenamiento.

Page 49: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

49

Figura 12: Diagrama de actividades del sistema de reconocimiento.

Page 50: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

50

10.4. Diagramas de colaboración

Figura 13: Diagrama de colaboración del sistema de login.

Figura 14: Diagrama de colaboración del sistema de entrenamiento y

reconocimiento.

Page 51: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

51

10.5. Diagramas de estados

Figura 15: Diagrama de estados del sistema de login.

Page 52: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

52

Figura 16: Diagrama de estados del sistema de entrenamiento y

reconocimiento.

Page 53: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

53

11. FASE DE DISEÑO

11.1. Lista inicial de clases

leaptrainer-ui:

Ésta clase tiene el objetivo de dar funcionalidad a la vista principal del sistema de

entrenamiento y reconocimiento, su función más destacada es renderizar las manos

del usuario a partir de las lecturas del sensor Leap Motion y permitir visualizarlas en

el navegador web.

leaptrainer:

La clase controladora y por tanto la más importante del sistema. Entre sus

funcionalidades más destacadas se encuentran la de implementar el método de

capturar gestos, instanciar los algoritmos de entrenamiento según la selección del

usuario, recibir los resultados de consultas en el diccionario de datos y transformar

texto en voz.

cross-correlation:

Clase que alberga el algoritmo de entrenamiento de correlación cruzada.

high-resolution-recording:

Clase encargada de procesar cada cuadro por segundo capturado por el Leap

Motion en alta resolución.

neural-networks

Clase donde es implementado el algoritmo de redes neuronales artificiales.

brain

Clase relegada a neural-networks. Tiene la función de actuar como motor de

aprendizaje para el algoritmo de redes neuronales artificiales.

Page 54: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

54

DiccionarioGestos

Clase donde se crean, editan y consultan los gestos entrenados.

Usuario

Clase controladora de sesiones de usuario.

11.2. Diagrama de clases

Figura 17: Diagrama de clases.

Page 55: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

55

11.3. Modelo de interfaz

Figura 18: Modelo de interfaz.

Page 56: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

56

11.4. Modelo lógico

Figura 19: Modelo lógico.

Page 57: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

57

11.5. Modelo físico

11.6. Modelo de datos

Ya que durante la fase de diseño se planteó utilizar MongoDB como base

de datos, se generó un modelo de datos no relacional ya que trabajamos

con una tecnología NoSQL.

Figura 20: Modelo físico y de despliegue.

Figura 21: Representación gráfica de la entidad Usuario.

Page 58: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

58

11.7. Diccionario de datos

Usuario

o _id: Éste campo es generado automáticamente al crearse un documento

BSON (entidad) en MongoDB, tiene el objetivo de garantizar que no

existan documentos duplicados.

o email: Campo donde se almacena la dirección de correo electrónico del

usuario.

o password: Campo donde se almacena la contraseña de usuario.

DiccionarioGestos

o nombre: Palabra en lenguaje español asociada al gesto entrenado.

o esPose: Determina si el gesto entrenado es una pose estática.

o data: Arreglo que contiene la muestra de entrenamiento para cada

gesto.

Figura 22: Representación gráfica de la entidad DiccionarioGestos.

Page 59: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

59

12. FASE DE IMPLEMENTACIÓN

12.1. Construcción de la base de datos

Para empezar creamos nuestra base de datos o schema en la línea de comandos

de MongoDB mediante la instrucción use <nombre-base-de-datos>:

Page 60: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

60

Una vez creada la base de datos, creamos una colección llamada User la cual se

encargará de registrar las cuentas de los usuarios que deseen acceder al sistema,

por defecto vamos a crear un registro con email = “Usuario” y password “1234”:

Ahora es turno de crear la colección que almacenará los gestos entrenados desde

el Leap Trainer, dicha colección será nombrada como DiccionarioGestos:

Page 61: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

61

12.2. Diseño Frontend

Para el diseño de la interfaz del cliente implementamos la librería de JavaScript

jQuery para referencia todos y cada uno de los componentes html de la vista en un

documento llamado leaptrainer.js:

Page 62: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

62

Para el renderizado de las manos se utilizará la librería WebGL dentro del

documento leaptrainer-ui.js:

Page 63: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

63

La interfaz principal del Sistema LeapTrainer está declarada en el documento

leaptrainer-ui.html y es allí donde se implementan todas las librerías de JavaScript

mencionadas anteriormente:

Page 64: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

64

Toda la parte de Frontend implementada en su conjunto tiene el siguiente

resultado:

12.3. Desarrollo Backend

Inserción de gestos:

En esta función recibimos 3 parámetros, el primero contiene el nombre del gesto,

el segundo un booleano y el tercero el arreglo en x, y, z.

Page 65: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

65

Estos parámetros van a hacer enviados al archivo routes.js por medio de “ajax”

mediante la url “add”. En este evento “add” recibimos el parámetro “req” que fue el

que enviamos desde la función guarbase().

En donde recibimos los datos y posteriormente creamos un array para ser guardado

en la colección gestos de la base de datos no relacional “login-node”.

Extraer gestos:

Al iniciar sesión se llama a la función “llamar()” que contiene un método “ajax” en

donde se va a hacer una petición al evento extraer, luego de esto se recorren los

array por medio de un ciclo for() para luego enviarlos de forma ordenada a la función

llenar().En la función llenar se recibe en formato JSON el gesto para luego ser

importado por medio del método fromJSON.

Page 66: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

66

En este evento “extraer” hacemos la consulta a la base de datos en donde

retornamos los gestos insertados por el método send().

En el archivo routes.js manejamos toda petición get y post para el inicio de sesión

Page 67: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

67

Por medio de mongoose hacemos un esquema de la colección para la

administración de los usuarios

12.4. Proceso de entrenamiento

Al ejecutar la aplicación web nos encontraremos con esta sencilla interfaz,

en la parte superior tenemos un encabezado con un campo de texto donde

digitaremos el nombre del gesto que vamos a crear, un botón para iniciar el

entrenamiento y otro botón para desplegar el menú de configuración de

entrenamiento. En el cuerpo de la página nos encontramos con un modelo

Page 68: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

68

renderizado por WebGL de la mano generado en tiempo real.

Al clickear el botón ‘opciones’ desplegamos el menú de configuración de la

aplicación.

Para empezar crearemos el gesto ‘HOLA’, podemos notar que la interfaz se

actualiza automáticamente para guiarnos en el proceso de creación del gesto con

una cuenta regresiva y una lista donde encontraremos el nombre de nuestro

gesto. A medida que el entrenamiento progrese, se nos notificará que realicemos

Page 69: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

69

el mismo gesto un número de veces más.

Page 70: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

70

Una vez entrenemos el gesto ‘n’ veces, la aplicación nos indicará que el gesto ha

sido entrenado con éxito y el sistema lo aprenderá y reconocerá como veremos

más adelante.

Si por algún motivo lo creemos así necesario, podemos re-entrenar el gesto

creado buscándolo en la lista de gestos entrenados y haciendo clic izquierdo sobre

él; a continuación veremos el siguiente modal:

Page 71: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

71

Para continuar con el re-entrenamiento haremos clic en el botón ‘Retrain’ y en

consecuencia el valor anterior del gesto será borrado y sobrescrito por el nuevo

valor que le demos durante el entrenamiento.

12.5. Proceso de reconocimiento

Para verificar que el entrenamiento de un gesto fue exitoso, el usuario procederá a

replicar el(los) gesto(s) entrenado(s) frente al sensor Leap Motion, si el sistema

LeapTrainer reconoce el gesto entonces procederá a notificar desde la interfaz

mediante un mensaje indicando el nombre del gesto y el porcentaje de acierto;

adicionalmente y como nueva característica se generará una salida en audio con

Page 72: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

72

voz masculina o femenina replicando el nombre del gesto en idioma español.

12.6. Algoritmos de reconocimiento y sus resultados

Una vez comprendidos los procesos de entrenamiento y reconocimiento de gestos

de manos, fue considerado pertinente poner a prueba los tres algoritmos de

entrenamiento (Geometric template matching, redes neuronales artificiales y

correlación cruzada) y comparar los resultados entre sí para elegir de esa manera

la mejor opción de cara a las aplicaciones prácticas y de la vida real de nuestro

aplicativo.

Para las pruebas de los algoritmos de reconocimiento decidimos usar como medida

el abecedario del lenguaje de señas.

Page 73: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

73

Figura 23: Abecedario del lenguaje de señas colombiano.

Page 74: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

74

Letra Prueba #1 Prueba #2 Prueba #3 Promedio

A 1 1 1 100,00%

B 1 1 1 100,00%

C 1 0 0 33,33%

D 1 1 1 100,00%

E 1 1 0 66,67%

F 1 1 0 66,67%

G 1 0 0 33,33%

H 1 1 0 66,67%

I 1 1 1 100,00%

J 1 0 1 66,67%

K 1 0 0 33,33%

L 1 1 0 66,67%

M 1 0 0 33,33%

N 1 0 0 33,33%

Ñ 1 1 0 66,67%

O 1 1 0 66,67%

P 1 1 1 100,00%

Q 1 0 0 33,33%

R 1 1 0 66,67%

S 1 0 0 33,33%

T 0 1 1 66,67%

U 1 1 0 66,67%

V 1 1 0 66,67%

W 1 1 0 66,67%

X 1 0 0 33,33%

Y 1 0 0 33,33%

Z 1 0 1 66,67%

Promedio acumulado 61,73%

Tabla 5: Resultados de reconocimiento del abecedario usando

Geometric template matching.

Page 75: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

75

Letra Prueba #1 Prueba #2 Prueba #3 Promedio

A 1 1 1 100,00%

B 1 1 1 100,00%

C 0 0 0 0,00%

D 1 1 0 66,67%

E 0 0 0 0,00%

F 1 0 0 33,33%

G 1 0 0 33,33%

H 1 0 0 33,33%

I 1 1 1 100,00%

J 1 0 0 33,33%

K 1 1 0 66,67%

L 1 0 0 33,33%

M 1 1 0 66,67%

N 0 0 0 0,00%

Ñ 1 0 0 33,33%

O 1 1 0 66,67%

P 1 0 0 33,33%

Q 1 1 0 66,67%

R 1 0 0 33,33%

S 0 0 0 0,00%

T 0 0 0 0,00%

U 1 0 1 66,67%

V 1 1 0 66,67%

W 1 1 0 66,67%

X 1 0 0 33,33%

Y 1 0 0 33,33%

Z 1 0 0 33,33%

Promedio acumulado 44,44%

Tabla 6: Resultados de reconocimiento del abecedario usando redes

neuronales artificiales.

Page 76: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

76

Letra Prueba #1 Prueba #2 Prueba #3 Promedio

A 1 1 0 66,67%

B 1 0 1 66,67%

C 1 0 0 33,33%

D 0 1 0 33,33%

E 0 0 0 0,00%

F 1 0 0 33,33%

G 0 0 0 0,00%

H 1 0 0 33,33%

I 1 1 1 100,00%

J 1 1 0 66,67%

K 0 0 0 0,00%

L 1 0 0 33,33%

M 1 0 0 33,33%

N 0 0 0 0,00%

Ñ 0 0 0 0,00%

O 1 1 1 100,00%

P 0 0 0 0,00%

Q 0 1 0 33,33%

R 0 0 0 0,00%

S 0 0 0 0,00%

T 0 0 0 0,00%

U 1 0 0 33,33%

V 1 1 0 66,67%

W 1 0 0 33,33%

X 1 1 0 66,67%

Y 1 1 0 66,67%

Z 1 0 0 33,33%

Promedio acumulado 34,57%

Tabla 7: Resultados de reconocimiento del abecedario usando

correlación cruzada.

Page 77: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

77

Las tablas 5, 6 y 7 muestran los resultados obtenidos para esos tres algoritmos de

reconocimiento. Para cada algoritmo se hicieron tres pruebas, donde a cada una se

le dio un peso (1 si la seña era reconocida y 0 sino) y en base a esos valores se

calculó la precisión promedio. Entre esos tres algoritmos de reconocimiento,

Geometric Template Matching logró hacerse con la mayor precisión con un valor de

aproximadamente 61,73% para reconocimiento del alfabeto. Sacando gran ventaja

a los algoritmos de redes neuronales artificiales y correlación cruzada los cuales

obtuvieron 44,44% y 34,57% respectivamente.

Los resultados del experimento sugieren que el Leap Motion tiene problemas al

rastrear la posición de los dedos, especialmente cuando están en la primera

posición. Como se ve en la Figura 23, las señas A y E tienen cierta similitud desde

el dedo índice hasta el anular. Para la A, el pulgar se mantiene recto, mientras que

en la E el pulgar se encuentra enroscado y se ubica debajo de los otros cuatro

dedos. Sólo Geometric Template Matching fue capaz de reconocer la seña E en dos

de tres ocasiones, donde los otros dos algoritmos fallaron rotundamente.

Las señas M, N y Ñ también lucen similares. Para replicar esas señas, todos los

cuatro dedos se mantienen enroscados hacia abajo a excepción del pulgar el cual

se ubica de manera diferente. Como resultado, cuando la seña M es replicada, Leap

Motion la confunde con la N frecuentemente o con la Ñ rara vez aunque la Ñ se

diferencia de la M y la N gracias a que requiere un movimiento de afuera hacia

adentro de la palma. Todo esto nos dice que las capacidades de rastreo del Leap

Motion y los algoritmos de reconocimiento requieren de un mayor desarrollo y

mejora para distinguir entre señas que compartan similitudes de una forma más

eficiente, si bien Geometric Template Matching obtuvo una aceptable precisión

Page 78: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

78

cercana al 62%.

13. FASE DE PRUEBAS

13.1. Pruebas de automatización

Para hacer la fase de pruebas o fase de testing recurrimos al uso del framework

Jasmine 2 diseñado para JavaScript ya que nuestro aplicativo ha sido desarrollado

en este lenguaje tanto del lado del cliente (jQuery, embebed javascript) como del

servidor (Node.js). Jasmine 2 está orientado a la ejecución de pruebas de

automatización, es decir, donde todo el proceso de pruebas de métodos,

navegación, resultados de peticiones, etc. es gestionado por la herramienta de

testing y el desarrollador sólo se limita a configurar el proceso de testing y a definir

las reglas.

Figura 24: Gráfico de barras comparando la precisión de los tres

algoritmos de reconocimiento.

Page 79: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

79

El módulo de testing está compuesto por dos archivos: conf.js para definir las

capacidades de la herramienta, el framework de testing que implementará y una

referencia hacia el archivo de reglas de testing tests.js que es donde se definirán

las condiciones para que el programa apruebe o no el proceso de testing.

Para efectos de notación y cumplimiento de los estándares de testing, la

descripción, las condiciones y los resultados de las pruebas han sido escritos en

inglés.

13.1.1. Ingreso a la página de inicio

En el archivo test.js se han definido pruebas para cada sección de la navegación

web en la aplicación, una de ellas se sitúa en el caso de que el cliente ha ingresado

exitosamente a la página de índice de la aplicación web y ésta se visualiza

correctamente. Para empezar será necesario tener el servidor en estado de

ejecución.

Page 80: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

80

El mensaje “Home page open successfully!” indica que ésta primera prueba fue

aprobada por la aplicación, el código de este caso de testing es el siguiente:

La explicación es muy sencilla: “My web page should render home page” mi

página de web debería mostrar página de inicio. El navegador hace una petición

GET para ir a la url http://localhost:3000/ que es donde se encuentra la página de

inicio de la aplicación web y el resultado esperado es que efectivamente se pueda

acceder a dicha url. Al final si la petición GET es exitosa, se mostrará el mensaje

“Home page open succesfully!”.

13.1.2. Autenticación de usuarios

Vemos ahora que el test se enfoca en validar si los campos rellenados por el

usuario (email y contraseña) coinciden con el valor guardado en la petición POST,

de cumplir dicha condición entonces el mensaje “Field values matches our input!”

se mostrará.

Finalmente si el usuario existe en la base de datos, entonces la petición POST

arrojará un estado 200 (resultado exitoso) mostrando el mensaje “User logged in

successfully!” y el usuario será re direccionado a la página profile.

Page 81: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

81

Para efectos de pruebas se tomaron las credenciales de email: [email protected] y

contraseña: 1234. Efectivamente dicho usuario existe en la base de datos y por

ende el resultado es que el login ha sido exitoso.

Page 82: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

82

13.1.3. Registro de usuarios

El resultado de la prueba de registro de usuarios muestra que al igual que en la

prueba de login, los campos son verificados antes de realizar la petición post;

luego se valida que el email del usuario no exista en la base de datos de la

aplicación; para éste caso se usó el email: [email protected] ya que aún no ha sido

registrado y por ende el resultado muestra que la prueba ha sido superada y el

usuario ha sido registrado y direccionado a la página profile.

Page 83: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

83

Page 84: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

84

14. CONCLUSIONES

El objetivo de esta tesis de grado fue desarrollar una aplicación web capaz de

capturar y mediante técnicas de inteligencia artificial, aprender expresiones del

lenguaje de señas colombiano y reconocerlas para finalmente obtener una salida

en voz; esto con motivos de inclusión en el ámbito social para con las personas que

sufren de discapacidad auditiva y sonora o coloquialmente llamados sordos.

Un aspecto importante para que la aplicación sea plenamente funcional y eficiente

en la tarea para la cual fue desarrollada es la precisión de sus algoritmos. Éste

parámetro puede ser mejorado siguiendo una serie de lineamientos para facilitar a

los algoritmos el reconocimiento de señas; factores como la posición del usuario

frente al sensor Leap Motion, la distancia, el nivel de intensidad de la luz, la

integridad del mismo sensor, el proceso de entrenamiento de las señas y el tamaño

de las muestras de entrenamiento son determinantes en el grado de precisión de

acierto de la aplicación. Otros factores técnicos y tecnológicos serán vistos con

detalle en la siguiente sección de recomendaciones.

15. RECOMENDACIONES

No hay que desconocer que el desarrollo del Prototipo Traductor en Tiempo Real

para la Población Sorda en Colombia sigue siendo un proyecto ambicioso,

prometiendo cambiar para siempre el modo en el que la población sorda se

comunica con quienes no tienen dicha discapacidad; es deseable que haya una

mejora continua en el desarrollo de la aplicación y por tanto se recomienda a futuro

investigar más acerca del tema de visión artificial con el objeto de optimizar el

algoritmo Geometric Template Matching (técnica de reconocimiento por defecto

para la aplicación) y así obtener mejores resultados en el proceso de aprendizaje y

reconocimiento de señas de manos.

Otra recomendación sería mantenerse al día con las últimas versiones de los

drivers, APIs y el SDK de Leap Motion para desarrollo, así como con nuevas

Page 85: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

85

versiones del sensor ya que Leap Motion es un proyecto que sigue en continua

mejora y su propuesta continúa siendo bastante prometedora sobre todo para otras

aplicaciones que se le podrían dar al dispositivo, más allá del enfoque de nuestro

prototipo de aplicación.

Ya que el framework LeapTrainer fue desarrollado por el Instituto Tecnológico de

Massachusetts MIT por sus siglas en inglés y es licenciado por el mismo, se da vía

libre a los desarrolladores de contribuir con el desarrollo del proyecto y mejorar

aspectos en el entrenamiento y reconocimiento de gestos y/o poses de manos. Hay

que brindar especial atención al algoritmo de visión artificial Geometric Template

Matching ya que es la técnica predilecta usada en nuestro prototipo, existen

artículos y ponencias sobre la implementación de éste algoritmo sobre todo en el

campo de la medicina; sería pertinente leer dichos documentos ya que actualmente

están en desarrollo fórmulas más precisas para reducir el error de entrenamiento.

Pensando en un desarrollo futuro deseamos que el sistema extienda su alcance y

también pueda hacer el proceso inverso, es decir, traducir palabras de lenguaje

español hablado a lenguaje de señas para así obtener una comunicación full dúplex

o bidireccional; pensamos que dispositivos de realidad virtual o de realidad

aumentada podrían satisfacer dicho proceso, haciendo que la persona hablante

también interactúe con un sensor Leap Motion y con la ayuda de un software de

articulación de expresiones en lenguaje de señas y protocolos de comunicación

como TCP/IP o con el uso de Web Services se comunique con el equipo donde está

alojado LeapTrainer y así, la persona sorda con ayuda de unas gafas de realidad

virtual o aumentada pueda ver todas las señas que la persona hablante hace y así

poder llegar a tener una conversación real y natural sin la necesidad de recurrir a

personas que hagan el papel de traductores y así rompiendo todas las barreras

lingüísticas.

Page 86: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

86

16. BIBLIOGRAFÍA

Taft Darryl K. IBM Acquires Rational [En línea]. 2002.<

http://www.eweek.com/pc-hardware/ibm-scoops-up-rational>

Detección de objetos mediante el algoritmo template matching,

<https://cesartroyasherdek.wordpress.com/2016/02/19/deteccion-de-

objetos-iv/>.

¿Qué son las redes neuronales artificiales? Aplicaciones realizadas en el

ámbito de las adicciones, Alfonso Palmer Pol. Universidad de las Islas

Baleares < http://disi.unal.edu.co/~lctorress/RedNeu/LiRna001.pdf> [Citado

el 02 de Junio de 2018].

Diccionario panhispánico de dudas, Real Academia Española [En línea],

2005 <http://dle.rae.es/srv/search?m=30&w=software>.

Herramientas Jurídicas Para La Protección De Los Datos Personales En

Colombia: Análisis Del Grado De Protección Jurídica Del Habeas Data. [En

Línea],<Http://Repository.Unilibre.Edu.Co/Bitstream/Handle/10901/9677/01

%20-%20proyecto%20de%20grado%20final%20aprobado%2025-07-

16%20-%20recomendaciones%20incluidas%20-%2010-08-

16.Pdf?Sequence=1>

Política De Tratamiento Protección De Datos Personales De Los Titulares

De La Universidad Nacional De Colombia [En Línea] <

Http://Www.Unal.Edu.Co/Contenido/Habeas/Politica%20de%20tratamiento

%20de%20datos.Pdf>

Política de Protección De Datos [En línea] < http://mendebal.com/politica-

datos.php>

Diccionario básico de señas [En línea] < https://www.ucn.edu.co/e-

discapacidad/Documents/36317784-Diccionario-lengua-de-senas.pdf >

McNeill, D. 1992. Hand and Mind. What gestures reveal about thought.

Chicago: Chicago University.

Page 87: PROTOTIPO TRADUCTOR EN TIEMPO REAL PARA LA …repository.udistrital.edu.co/bitstream/11349/15925/1/ValderramaPer… · En el mundo se ha evidenciado diversidad de falencias, con las

87

Oviedo, A. 2004. Classifiers in Venezuelan Sign Language. Hamburgo:

Signum.

_____. 2001. Apuntes para una gramática de la Lengua de Señas

Colombiana. Cali: Universidad del Valle/Instituto Nacional para sordos

(INSOR).

Parra, J. 2005. Cambios sistemáticos de forma que presentan las señas.

Bogotá. Informe inédito

realizado en el marco del convenio INSOR/Instituto Caro y Cuervo para la

elaboración del DBLSC.

Alejandro Oviedo. “Diccionarios de lenguas de señas: ¿Para qué? En El

bilingüismo de los sordos. Vol. 1, núm. 3, diciembre de 1997. Pág. 53.