Logo Studenta

u820917

¡Este material tiene más páginas!

Vista previa del material en texto

PROYECTO DE GRADO 
 
Presentado a 
 
LA UNIVERSIDAD DE LOS ANDES 
FACULTAD DE INGENIERÍA 
DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA 
 
 
Para obtener el título de 
 
INGENIERO ELECTRÓNICO 
 
por 
 
Juan Fernando Guerrero Citelly 
 
 
 
TRADUCTOR DE LENGUAJE DE SEÑAS PORTATIL POR MEDIO DE 
RECONOCIMIENTO DE IMÁGENES. 
 
 
 
Sustentado el 10 de diciembre de 2018 frente al jurado: 
 
 
- Asesor: Fredy Segura Quijano PhD, Profesor Asociado, Universidad de Los Andes 
- Jurado: Luis Felipe Giraldo Trujillo PhD, Profesor Asistente, Universidad de Los Andes 
 
A mis padres, mi hermana y a mi familia... 
 
 
 
 
 
 
 
 
 
 
 
 
 
A todos ustedes... 
 
 
Agradecimientos 
A Dios por ser mi guía y brindarme todas las herramientas necesarias para lograr mis 
metas. 
A mis padres por ser un apoyo incondicional y por guiarme hacia el camino del é́xito. 
A mi hermana por ser una amiga y compañera de vida. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tabla de contenido 
1 Introducción 
1.1 Descripción de la problemática y justificación del trabajo .................................................... 1 
1.2 Alcance y productos finales......................................................................................................... 2 
1.3 Objetivos ........................................................................................................................................ 2 
1.3.1 Objetivo General ............................................................................................................. 2 
1.3.2 Objetivos Espećıficos ...................................................................................................... 2 
2 Marco teórico 
2.1 Marco Teórico .............................................................................................................................. 4 
2.1.1 Convolutional neural network (CNN) ............................................................................... 4 
2.1.2 You only look once (YOLO) ............................................................................................. 5 
2.1.3 Retinanet ........................................................................................................................... 6 
2.1.4 Single shot multibox detector (SDD) ................................................................................. 7 
3 Definición y especificación del trabajo 
3.1 Definición ...................................................................................................................................... 10 
3.2 Especificaciones ............................................................................................................................. 10 
4 Metodoloǵıa del trabajo 
4.1 Plan de trabajo ....................................................................................................................... 11 
4.2 Búsqueda de información ........................................................................................................... 11 
4.3 Alternativas de desarrollo ........................................................................................................... 12 
5 Trabajo realizado 
5.1 Descripción del Resultado Final ................................................................................................ 13 
5.1.1 Uso del traductor de señas escogido................................................................................. 13 
5.1.2 Especificación en los programas instalados ..................................................................... 13 
6 Conclusiones y trabajos futuros 
6.1 Conclusiones .................................................................................................................................. 14 
6.2 Trabajo Futuros ............................................................................................................................ 14 
Referencias 15 
 
 
 
 
 
 
 
 
 
 
 
 
1. Introducción 
1.1 Descripción de la problemática y justificación del trabajo 
 
La lengua de señas colombiana o L.S.C. es el lenguaje de señas empleado por la comunidad sorda en 
Colombia. Este lenguaje tiene como base la lengua de señas francesa por lo que tienen varias similitudes. 
Ethnologue, una organización cristiana evangélica de servicios lingüísticos encargada de estudiar lenguas 
menos comunes o conocidas asegura que algunos signos son similares a aquellos de las lenguas de señas 
española, americana y salvadoreña. [1] 
 
Es necesario mencionar que la lengua de señas es considerada el idioma natural con el que se comunican 
las personas sordas. El idioma natural equivalente a las personas colombianas sin discapacidad auditiva 
sería el español. Además, el lenguaje de señas es considerado una lengua ágrafa, lo que quiere decir que 
carece de escritura. [2] Además de la L.S.C., existe el A.S.L. (American Sign Language) el cual es 
considerado el idioma universal de señas, es decir, este se enseñó en primera instancia en todos los países 
donde era conocido antes de enseñar el lenguaje de señas propio del país si es que contaba con uno. 
 
El número de personas sordas colombianas que utiliza la L.S.C. es desconocido, pero se sabe con certeza 
que es un número creciente. Además, los medios de comunicación masivos colombianos no cuentan con 
un sistema propio de traducción de señas, por lo que la comunidad sorda está limitada a entretenerse por 
otros medios o a observar limitados programas que cuenten con la traducción de señas. El mismo 
fenómeno puede ser observado al momento de querer comunicarse con una persona parlante, las 
instituciones educativas colombianas no enseñan ningún tipo de lenguaje de señas. En el mundo se estima 
un total de 360 millones de personas con discapacidad auditiva, 328 millones de adultos y 32 millones 
de niños, equivalente a más del 5% de la población. Por lo anterior, se ve la necesidad de disminuir la 
brecha de comunicación entre las personas, no solo colombianas sino del mundo con discapacidad 
auditiva, y el resto de la población mundial mediante un traductor de señas colombianas a español. 
 
Actualmente se cuenta con un traductor señas colombianas virtual el cual busca incluir socialmente a la 
persona sorda, sin embargo, es un sistema que requiere una conexión constante a internet y por ende 
supone una gran restricción para su uso continuo. Adicionalmente solo presenta el alfabeto de señas 
colombiano de tal forma que su uso poblacional es muy restringido. Dada la situación actual, surge la 
necesidad de crear un traductor de lenguaje de señas y optimizarlo de tal forma que la persona no requiera 
conexión a internet y sea de uso práctico, es decir, que se pueda utilizar todos los días con facilidad. 
 
1.2 Alcance y productos finales 
El compromiso adquirido con la propuesta de tesis fue realizar un estudio de los traductores de señas 
existentes y evaluar la facilidad de implementarlo en distintos softwares. Realizar pruebas piloto en 
ambientes ideales, es decir, utilizando tanto un sistema de manejo fácil y respuesta rápida como es un 
computador y con características como iluminación y movimiento ideales que faciliten el trabajo del 
programa de reconocimiento. Posteriormente se implementaría el traductor en un sistema embebido 
de tal forma que se vuelva portátil y de uso práctico para el usuario y se realizarían un nuevo número 
de pruebas evaluando el desempeño de este en una situación cotidiana. Finalmente, el sistema 
embebido quedaría totalmente portátil en una arquitectura compacta que se pueda llevar con bastante 
simplicidad maximizando así su portabilidad. 
Este trabajo será el paso inicial para la posible creación de un traductor de señas a manera de producto 
comercial, que suimplementación sea viable y que ejecute a cabalidad la tarea para la cual fue 
diseñado. 
 
6 
 
 
 
 
1.3 Objetivos 
1.3.1 Objetivo General 
El objetivo general de este proyecto consiste en implementar un sistema de traducción de señas americana 
portátil que sea capaz de reconocer una cantidad determinada de palabras y letras en lenguaje de señas 
únicamente por medio de formas estáticas de la mano y traducir su significado. Los motivos del cambio de la 
propuesta inicial radicaron en que se vio un uso con mayor potencial si el traductor de señas se implementaba 
en un sistema embebido en vez de volver la base de datos de señas únicamente de la lengua de señas 
colombiana. Cuando se menciona sistema se refiere a la idea de un producto comercial que sea de uso práctico, 
en este caso sería un traductor de señas que el usuario pueda llevar a todos lados y utilizar sin problema alguno. 
 
1.3.2 Objetivos Espećıficos 
Los objetivos específicos, debido al cambio en el objetivo general fueron los siguientes: 
1. Implementar el traductor de lenguaje de señas escogido en Windows para evaluar la facilidad de 
utilización y de posterior implementación en otros softwares como Linux y Raspbian. 
2. Reconocer letras y palabras de ASL sin movimiento por medio de una cámara. 
3. Validar la adición de señas colombianas a la base de datos y evaluar la respuesta del sistema frente a 
estas. 
4. Implementar el proyecto en un sistema embebido. 
5. Maximizar la portabilidad del traductor enfocado hacia un producto. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7 
 
2. Marco teórico 
2.1.1 Convolutional Neural Network (CNN) 
 
En los algoritmos de aprendizaje de machine learning, una red neural convolucional es un tipo de Deep neural 
network, aplicado típicamente para analizar imágenes visuales. Utilizan una variedad de perceptrones 
multicapa diseñados para requerir el mínimo de preprocesamiento. Las redes convolucionales surgieron de 
los procesos biológicos relacionados con el patrón de conectividad entre neuronas. 
 
En comparación con otros algoritmos de clasificación de imágenes, las redes neuronales convolucionales 
utilizan muy poco preprocesamiento el cual se ve reflejado en el aprendizaje que esta tiene sobre los filtros 
del algoritmo que anteriormente se debían implementar a mano. Sus aplicaciones más comunes se encuentran 
en reconocimiento de imagen y video, clasificación de imágenes, análisis de imágenes médicas y 
procesamiento de lenguaje. 
 
La siguiente imagen permite entender de manera más fácil la arquitectura que una red neuronal convolucional 
tiene y como esta comparte bastantes similitudes con la del perceptrón multicapa: 
 
Figura 1. Arquitectura de una red neuronal convolucional. Tomado de [1]. 
 
Este tipo de red neural es justamente la que el traductor de lenguaje de señas utiliza, por esta razón se vio 
pertinente mostrar una definición para que el lector pueda entender con mayor facilidad el funcionamiento 
de este trabajo de grado. Si bien este tipo de red neuronal no es la más avanzada ni la más optimizada, sigue 
cumpliendo de manera muy eficiente la tarea de reconocer imágenes, por lo cual se decidió utilizarla. A 
manera de trabajo futuro se sugiere buscar un algoritmo de reconocimiento más optimizado que traduzca en 
tiempo real como los que se mencionan a continuación. 
 
2.1.2 You Only Look Once (YOLO) 
 
You only look once o YOLO por su abreviatura, es un sistema de detección de objetivos en tiempo real. 
Procesa imágenes a 30 FPS y tiene un mAP de 57.9%. El sistema es extremadamente rápido y preciso, si se 
lo compara con el sistema de Focal Loss estos están a la par con la única diferencia de que YOLO es 
aproximadamente 4 veces más rápido. Una característica que identifica a este sistema es que se puede 
modificar la velocidad por la precisión o viceversa únicamente cambiando el tamaño del modelo, sin 
necesidad de reentrenamiento. 
 
YOLO aplica una sola red neuronal a la imagen que se quiere analizar, de esta forma la red divide a la imagen 
en regiones y predice las cajas de unión y las probabilidades para cada región. Las cajas de unión tienen su 
prioridad basada en la probabilidad encontrada. A diferencia con la red neural convolucional, esta realiza su 
8 
 
predicción con una única evaluación de la red en vez de utilizar miles de redes como lo hace CNN. Por lo 
anterior es que se logra obtener una velocidad tan alta, 1000 veces más veloz que CNN y hasta 100 veces 
más veloz que fast CNN. La siguiente imagen permite apreciar de manera visual el proceso que YOLO realiza 
para la detección de objetos: 
 
Figura 2. Funcionamiento del algoritmo de reconocimiento YOLO. Tomado de [2]. 
 
Observando las características que este sistema de detección tiene, surge la duda de por qué no se utilizó este 
sistema inicialmente, la respuesta radica en el enfoque que este trabajo de grado tuvo, que, si bien era utilizar 
un traductor de lenguaje de señas, lo que se quería lograr era implementarlo en un sistema embebido que fue 
la tarjeta Raspberry Pi, razón por la cual se eligió un traductor que sea fácil de implementar para replicarlo 
en distintos sistemas operativos. 
 
2.1.3 Retinanet 
 
RetinaNet es una red única y unificada compuesta por una red troncal y dos subredes específicas de tareas. La 
red troncal es responsable de calcular un mapa de características de convolución sobre una imagen de entrada 
completa y es una red de convolución fuera de lo propio. La primera subred realiza la clasificación en la salida 
de la red troncal; la segunda subred realiza la regresión del cuadro delimitador de convolución. 
 
La arquitectura que retinanet utiliza es una base de la red de características piramidal combinado con una 
arquitectura ResNet para generar una pirámide convolucional multi-escala. A la base de la red de características 
piramidal se le agregan dos subredes, encargadas de clasificar cajas de anclaje y moverse entre las cajas de 
anclaje y cajas del objeto a detectar. A continuación, se muestra todo lo descrito anteriormente acerca de la 
arquitectura de RetinaNet: 
 
Figura 3. Arquitectura de RetinaNet. Tomado de [3] 
 
 
9 
 
Esta red de entrenamiento y reconocimiento también debería ser considerada por el lector en caso de que se 
busque continuar con este trabajo y optimizar el traductor de lenguaje de señas. Se menciona RetinaNet para 
darle distintas opciones al lector acerca de los algoritmos de machine learning que más a la vanguardia van, de 
esta manera se busca que el lector sea critico a manera de cual escoger, dependiendo del nuevo objetivo que se 
quiera lograr. 
 
2.1.4 Single Shot Multibox Detector (SDD) 
 
Finalmente se presenta esta última definición de un sistema de detección en tiempo real, se recomienda al lector 
realizar una mayor búsqueda de los algoritmos existentes, como se mencionó anteriormente, estos se 
mencionan en este documento dado que unos de los más actuales y óptimos que funcionarían para mejorar el 
traductor de señas específicamente mas no se garantiza que funcionen eficientemente para otras tareas. 
 
Los SSD están diseñados para la detección de objetos en tiempo real. Una red neural convolucional usa una 
red de propuestas de región para crear cuadros de límites y utiliza esos cuadros para clasificar objetos. Si bien 
se considera el inicio de la técnica en precisión, todo el proceso se ejecuta a 7 cuadros por segundo. Muy por 
debajo de lo que necesita un procesamiento en tiempo real. SSD acelera el proceso al eliminar la necesidad de 
la red de propuestas de la región. 
 
Para recuperar la caída en la precisión, SSD aplica algunas mejoras que incluyen características de escala 
múltiple y cuadros predeterminados. Estas mejoras permiten que SSD coincida con la precisión de la R-CNN 
más rápida utilizando imágenes de menor resolución, lo que aumenta aún más la velocidad. De acuerdo con lasiguiente comparación, alcanza la velocidad de procesamiento en tiempo real e incluso supera la precisión del 
Fast-R-CNN. (La precisión se mide como el promedio de precisión mAP). 
 
Tabla 2.1.4: Comparación realizada entre varios sistemas de detección. Tomado de [4]. 
Sistema VOC2007 test 
mAP 
FPS Número de 
cajas 
Resolución de 
entrada 
Fast-R-CNN 73.2 7 ~6000 ~1000x600 
YOLO 63.4 45 98 448x448 
SSD300 77.2 46 8732 300x300 
SSD512 79.8 1 24564 512x512 
 
 
 
 
3.Definición y especificación del trabajo 
 
Dado que el trabajo realizado consiste en una primera aproximación a la solución del problema planteado, es 
necesario definir detalladamente el producto realizado, las características del ambiente bajo el cual este 
funciona y las restricciones y características que se requieren para su uso: 
 
3.1 Definición 
Definir el trabajo final realizado no es tarea fácil, de igual forma se cree que no será fácil entenderlo 
totalmente para el lector a menos de que este tenga el producto físico en sus manos, pero haciendo el 
ejercicio de definición, se puede decir que el producto final terminado consiste en un traductor de señas 
americanas, el cual se encuentra en una tarjeta Raspberry Pi el cual, a su vez, se encuentra en una caja 
acrílica negra compacta que permite su portabilidad a todos lados. El traductor tiene una interfaz que 
muestra las señas que el usuario está realizando y el significado de dicha seña, tal como se ve en la figura 
4. 
 
Figura 4. Interfaz del traductor de señas. 
Dada la interfaz que este presenta, es necesario el uso de un monitor para mostrarla, se intentó hacer uso 
de una pantalla portátil conectada a la Raspberry Pi pero el retraso en imagen presentado era bastante 
considerable, por lo cual por ahora solo se puede mostrar en un monitor con salida HDMI. 
Como el traductor requiere visualizar la mano del usuario, se hace uso de una cámara conocida como 
RaspiCam, que es la cámara con la que la Raspberry Pi funciona. En este orden de ideas la caja acrílica en 
la que se encuentra el producto tiene un orificio para la cámara y para la entrada HDMI, así como un 
compartimiento para la tarjeta Raspberry Pi y para la batería de alimentación. En la siguiente imagen 
correspondiente a la figura 5 se puede apreciar todo el producto final: 
 
 
Figura 5. Caja de acrílico negra en la que se encuentra el traductor de señas con batería y cámara. 
El problema en el uso del traductor de lenguas utilizado es que requiere de una configuración previa de luz 
para detectar la imagen que se quiere analizar, lo anterior implica un paso extra para el usuario en 
configuración y una característica poco practica en el uso diario del sistema. Una aproximación para 
solucionar dicho problema consistió en someter a la cámara del sistema embebido el cual es una Raspberry 
pi a una iluminación constante por parte de una bombilla, de esta forma solo se requerirá una única 
configuración al prender el sistema logrando así disminuir los errores que puedan ocurrir. La bombilla 
utilizada se puede apreciar en la figura 5. 
 
 
3.2 Especificaciones y restricciones 
1. La configuración de luminosidad debe realizarse obligatoriamente antes de utilizar el traductor, para 
verificar su calibración y su funcionamiento. 
2. Es necesario escribir en la consola un código para que open cv reconozca a la cámara de Raspberry 
como la salida de video y se pueda obtener una visualización de lo que la cámara está obteniendo. 
3. Existe un retraso de 1 segundo y 40 milisegundos en la imagen de video, esto se debe al tresh generado 
de la imagen procesada. Lo anterior dificulta un poco el uso del dispositivo. 
4. El producto por presentar se trata de un primer prototipo y de una primera aproximación a lo que se 
quiere lograr, por esta razón el funcionamiento se presenta en un monitor de computador y no en 
una pantalla portátil. 
5. Para facilitar el reconocimiento de la seña realizada, se debe utilizar un guante de un color muy 
diferente al entorno en el que se encuentre el usuario, por esta razón, se optó por un guante color azul 
claro fluorescente que se reconoce con facilidad en la mayoría de los escenarios cotidianos. 
 
 
 
 
 
 
4. Metodoloǵıa de trabajo 
 
La metodología de trabajo consistió en un proceso de prueba y error y mejoramiento continuo, no se siguió 
ningún algoritmo de solución de problema en particular. Esta sección se divide entre el plan de trabajo el cual 
habla de los pasos que se siguieron y elaboraron hasta conseguir el objetivo planteado y una búsqueda de 
información donde se describe con mayor detalle toda la búsqueda realizada. Debe entenderse que, si bien el 
plan de trabajo y la búsqueda de información están separadas, en la práctica estas fueron de la mano, 
especialmente en los puntos 1,2 y 3. 
 
4.1 Plan de trabajo 
1. Investigar los diferentes tipos de traductores de señas existentes en internet, que sean gratis y 
fáciles de implementar. 
2. Realizar la implementación del traductor escogido en un sistema de fácil uso para verificar 
funcionalidad y demás características como tiempo de instalación, practicidad, entre otros. El 
sistema utilizado fue Windows en un computador portátil. 
3. Añadir a la base de datos del traductor letras del alfabeto de señas colombiano con el fin de analizar 
la viabilidad de implementar nuevas señas al sistema. 
4. Revisar el reconocimiento del traductor frente a las nuevas señas añadidas. 
5. Implementar el sistema en Linux para verificar que la funcionalidad permanezca intacta y así 
validar su posterior implementación en Raspbian. 
6. Realizar la configuración del traductor en Raspbian y validar su uso. 
7. Volver el sistema embebido lo más portátil posible. 
 
Este plan de trabajo resalta las acciones más relevantes realizadas durante todo el proceso de este trabajo 
de grado, desde que se inició hasta que se terminó. Como se mencionó al inicio de esta sección, la 
metodología utilizada para este plan de trabajo consistió en probar cada paso, verificar que, si funcione o 
no correctamente, en caso de que no lo haga modificarlo hasta que se tenga el funcionamiento deseado y 
avanzar al siguiente punto. La siguiente figura presenta de manera compacta la metodología descrita: 
 
 
Figura 6. Metodología utilizada para el trabajo. 
 
 
4.2 Búsqueda de información 
 
Al realizar una revisión bibliográfica se encuentran diversos traductores virtuales, como el mencionado 
en la sección anterior. Especificando la bibliográfica encontrada, se tiene la aplicación conocida como 
Sign’n la cual permite comunicarse con una persona con discapacidades auditivas. Dicha aplicación fue 
creada por Briana Osorio y su equipo en Jalisco, México y esta permite aprender el lenguaje de señas o 
bien comunicarse con una persona sorda. Además de la descripción de la funcionalidad de la aplicación, 
se encuentra detalladamente el funcionamiento detrás de esta y los métodos empleados para su diseño 
(algoritmos, base de datos utilizadas, software necesario, entre otros). [3] 
 
Adicionalmente se cuenta con la bibliografía de la aplicación PSLT (Portable sign languaje translator) 
la cual utiliza la cámara del dispositivo en donde se encuentra instalada y con esto es capaz de captar los 
movimientos realizados por el usuario y traducirlo a texto en inglés. La aplicación fue creada por la 
compañía Technabling, compañía que surgió de la universidad de Aberdeen en Escocia. Respecto a esta 
aplicación se tiene conocimiento de los algoritmos de machine learning empleados para entrenar la red 
neuronal, así como la base de datos utilizada por los diseñadores. [4] 
 
A nivel local se encuentra el trabajo realizado por Gustavo Alejandro Realpe, quien llevo a cabo una 
tesis de maestría en la Universidad de los Andes en reconocimiento de lenguaje de señas manuales 
utilizando un Kinect. En su trabajo se llevó a cabo el reconocimiento de gestosde lenguaje de señas, 
haciendo énfasis en la identificación de la forma de la mano tanto estática como en movimiento haciendo 
uso de la información del esqueleto que brinda el Kinect. [7] 
 
Un segundo trabajo desarrollado a nivel local se trata del traductor virtual de señas colombianas 
desarrollado por el ingeniero Jorge Enrique Leal, quien es director de fundación HETAH (herramienta 
tecnológica para ayuda tecnológica). Esta es una herramienta gratuita que traduce letra a letra la palabra 
que uno introduce en el traductor. Como se mencionó anteriormente la restricción presentada por dicha 
herramienta es que requiere de una conexión continua a internet, sin embargo, es una bibliografía 
esencial en la aproximación a la problemática. 
 
Finalmente se conoce el proyecto generado por Dibakar Saha, quien creo un programa capaz de 
reconocer las señas de la mano del usuario y traducirlos tanto en texto, como en habla. De este último 
proyecto se tienen al alcance las librerías utilizadas y una explicación de los algoritmos utilizados, así 
como una justificación del software utilizado y como se debería elegir dicho software en comparación a 
los demás. Este programa fue el escogido para implementación. [5][6] 
4.3 Alternativas de desarrollo 
Una alternativa de desarrollo considerada consistió en la implementación del proyecto escogido en 
computador, se pensaba inicialmente que ese podía llegar a ser el alcance máximo del proyecto dado 
que se creía que la complejidad de la instalación era muy elevada. Una vez se logró la implementación 
exacta del traductor en computador, se visualizaron unas metas más prometedoras que se vieron 
reflejadas en los cambios de objetivos generales y específicos de este trabajo de grado. 
A manera de trabajo futuro, una posible alternativa podría ser implementar el traductor directamente a 
un teléfono inteligente, así el usuario podría ahorrar la acción de llevar un dispositivo adicional a este. 
Cabe aclarar señor lector que para llevar a cabalidad esta alternativa de desarrollo es obligatorio el uso 
de un algoritmo más optimizado de reconocimiento como YOLO el cual se encuentra descrito en la 
sección de marco teórico. 
 
5. Trabajo realizado 
5.1 Descripción del Resultado Final 
5.1.1 Uso del traductor de señas escogido 
Una de las razones principales por las que se escogió dicho traductor de señas era porque se contaba a la 
mano con todas las librerías y tutoriales utilizados por el autor, que en este caso llevaron a la rápida y fácil 
réplica del sistema. Adicional a tener toda la información disponible, se observó que era un sistema que 
funcionaba bajo algoritmos y scripts realizados en Python, lo que llevo a pensar que este trabajo podría 
funcionar en una alta variedad de softwares dado el lenguaje en el que fue programado. 
Todos los comandos utilizados en Python para la implementación del modelo son métodos ya creados por 
el autor que realizan distintas tareas, si se quiere conocer cuáles son estos y que función cumplen se invita 
al lector a remitirse a la referencia numero 5. 
 
5.1.2 Especificaciones en los programas instalados 
 
Para la etapa final de este proyecto se buscaba la implementación del traductor en un sistema embebido como 
lo es la Raspberry Pi utilizada, a pesar de haber realizado la previa instalación en Linux para verificar el correcto 
funcionamiento del traductor, fue necesario realizar una búsqueda exhaustiva dado que la instalación de 
algunos programas requería unos pasos adicionales y exactos para funcionar como OpenCV. Además de lograr 
la correcta instalación de todos los programas, cabe mencionar que Raspbian viene con Python 2.7 y Python 
3.4 instalados por defecto. Lo anterior requiere ser aún más cuidadoso al instalar todas las extensiones y 
librerías de los programas ya que se debe especificar con cual versión de Python quiere que sea compatible. 
 
La implementación previa en computador fue clave ya que el entrenamiento del sistema en Raspberry puede 
tomar un tiempo muerto considerable, al haber realizado la instalación en el computador, solo fue necesario 
pasar la carpeta donde se encontraban todos los archivos generados del entrenamiento a la raspberry, de tal 
forma que esta solo los utilice y no tenga que realizar todo el proceso de entrenamiento de nuevo. 
 
OpenCV, además de demorarse aproximadamente 3 horas en instalar en Raspberry, requiere de un código de 
activación para que reconozca a la cámara (RaspyCam) como la fuente de salida de video, este código debe 
ejecutarse cada vez que se quiera utilizar el sistema, de lo contrario se generara un error diciendo que no hay 
salida de video disponible. 
 
6.Conclusiones y trabajos futuros 
6.1 Conclusiones 
Luego de finalizar la instalación del traductor de señas en la tarjeta Raspberry Pi y de analizar su 
funcionamiento, se puede concluir que el objetivo general de este proyecto de grado se logró. Se 
implemento en un sistema embebido un traductor de señas de ASL el cual puede ser considerado como un 
producto portátil que el usuario podría llevar a todos lados y que es de uso práctico en el día a día. 
Como se mencionó anteriormente, el producto terminado se trata de un primer prototipo por lo que la 
portabilidad de este no está completada, para volverlo totalmente portátil es necesario el uso de una pantalla 
pequeña que permita la visualización de la interfaz del traductor, por ahora toda la visualización se realiza 
por medio de un monitor para computador para minimizar el retardo ya existente. 
Respecto al funcionamiento del traductor, es necesario mencionar que el retardo existente en el video hace 
 
que su uso se vuelva un poco tedioso, se intentó bajar la calidad de imagen para lograr que el video fuera 
lo más fluido posible, pero aun así el retardo fue inevitable. Además de esto, el uso del guante es 
indispensable si se quiere lograr una traducción rápida de la seña que se está haciendo. El hecho de no 
usarlo puede llevar a que el sistema se demore un tiempo considerable mientras logra llevar a cabo la 
traducción lo cual es poco deseable. 
 
6.2 Trabajo Futuros 
Como trabajo futuro, conociendo los algoritmos de reconocimientos de imagen presentados en el marco 
teórico, se buscaría utilizarlos para analizar la diferencia de desempeño que el sistema embebido puede 
presentar. Una primera alternativa seria la implementación de YOLO en Raspberry y la búsqueda de 
librerías existentes con las señas de ASL para verificar que tan eficiente puede llegar a ser el sistema. Si la 
respuesta es positiva, se buscaría la forma de que funcione en una pantalla portátil conectada todo el tiempo 
a la Raspberry de tal forma que se logre la total portabilidad del sistema y se maximice su practicidad de 
uso. Lo anterior es solo una sugerencia dada al lector, no significa que sea la mejor o la más indicada, todo 
depende del nuevo enfoque que usted como lector de este documento quiera darle y dependiendo de eso 
usted mismo elegiría que solución utilizar, de cualquier forma se busca incentivar al lector de seguir con 
este trabajo que podría ayudar a miles de personas si se lo realiza correctamente. 
 
 
 
 
 
 
 
 
 
 
 
 
Referencias 
[1] Simons, Gary F. and Charles D. Fennig (eds.). 2018. Ethnologue: Languages of the World, 
Twenty-first edition. Dallas, Texas: SIL International. Online version: 
http://www.ethnologue.com. 
[2] F. (n.d.). Que es L.S.C. Retrieved May 24, 2018, from 
http://www.fenascol.org.co/index.php/lengua-de-senas-colombiana/que-es-l-s-c 
[3] E. (n.d.). Jóvenes crean una app que traduce voz a lenguaje de señas. Retrieved May 24, 
2018, from https://elcomercio.pe/tecnologia/inventos/traductor-jovenes-crean-app-traduce-
voz-lenguaje-senas-noticia-497375 
[4] Corporales, F. (n.d.). La aplicación que traduce de lenguaje de señas a texto. Retrieved May 24, 
2018, from http://www.finanzaspersonales.co/consumo-inteligente/articulo/la-aplicacion-traduce-lenguaje-senas-texto/44762 
[5] Port, E. (n.d.). Sing-Languaje. Retrieved May 24, 2018, from 
https://github.com/Evilport2/Sign-Language 
[6] Saha, D.. (2018, May 9). Sign-Language (Version 1). figshare. 
https://doi.org/10.6084/m9.figshare.6241901.v1A very simple CNN project. 
[7] Realpe, G. A. (n.d.). Reconocimiento de lenguaje de señas manuales con kinect. Retrieved 
May 24, 2018, from 
https://biblioteca.uniandes.edu.co/visor_de_tesis/web/?SessionID=L1Rlc2lzXzIyMDEzMjIw
LzIyODYucGRm 
 
http://www.ethnologue.com/

Continuar navegando