Está en la página 1de 5

JUNE 2021 1

Sistema de reconocimiento de la Lengua de Señas Boliviana


Douglas Joel Rojas Vargas1
1 Universidad Católica Boliviana “San Pablo”

This paper shows the development of a prototype for a sign language recognition system based on computer vision.The main
goal is to build a bridge for deaf people to be able to fully integrate on a daily basis into bolivian society. The project sought the
interpretation of Bolivian Sign Language dynamic gestures in contrast to past projects. The work is essentially divided in two parts:
first the creation of a database for 12 gestures and the use of pose estimation models based on Convolutional Neural Networks for
feature extraction for RNN training. Finally, the analysis of the result of these models.

Index Terms—Tecnologı́as de Asistencia, Sign Language Recognition, LSTM, Pose Estimation

I. I NTRODUCCI ÓN cederá a un análisis técnico de los acercamientos previos


principalmente en Bolivia y de manera complementaria el
E N Bolivia existen alrededor de 95.884 personas sordas, la
falta de una comunicación verbal dificulta su integración
con la sociedad, y las barreras que existen en este aspecto
estado del arte de la comunidad internacional. En la Sección
III Solución Propuesta se explora los requerimientos y sus
suelen ser una de las causas por la que existe discriminación. soluciones durante el desarrollo del proyecto. En la Sección IV
Es por este motivo que desde el Estado (Ley 223), y desde de Resultados se procede al análisis de los resultados obtenidos
otras organizaciones como la ONU [1] se avanza en propuestas en las diferentes arquitecturas. En la Sección V Conclusiones y
desde lo social pero estos esfuerzos parecen no ser suficientes. Trabajo Futuro se explica de manera detallada las consecuen-
cias del proyecto y la sugerencias para desarrollos futuros.
Dentro de las soluciones que vienen desde el área
tecnológica vienen del desarrollo de sistemas capaces de II. R EVISI ÓN DE LA LITERATURA
reconocer los gestos, principalmente en paı́ses como Estados A. Reconocimiento del alfabeto dactilológico boliviano bajo
Unidos, Arabia Saudita e incluso Argentina[2], [3], [4]. Sin tecnologı́a de visión por computador
embargo, en el caso de Bolivia se limitó a un reconocimiento
P. Evert y N. Jorge dan el primer acercamiento de este tipo,
de alfabeto y sus expresiones estáticas por tal motivo en este
al alfabeto de LSB mediante SVM en el 2014. Sin embargo,
trabajo se pretende afrontar el problema de variación temporal.
carece de mayor análisis y limita sus alcances pues no se
realiza comparación con otros métodos de clasificación, en este
El presente trabajo propone un análisis morfológico de
proyecto se limita al reconocimiento de gestos estáticos del
los lenguajes de señas, la creación de un dataset de gestos
LSB. Los datos son adquiridos mediante una cámara Kinect, y
dinámicos del Lenguaje de Señas Boliviano, y un prototipo de
estos son segmentados con un umbral de intensidad, para luego
sistema para el reconocimiento de gestos. Esta última tarea se
utilizar como descriptor de caracterı́sticas lo que se conoce
realizará utilizando el framework Mediapipe para la extracción
como Histogram of oriented gradients HOG para proceder al
de los puntos de interés POI y posterior procesamiento en una
entrenamiento del clasificador SVM[5].
red neuronal recurrente RNN.

B. Sistema de visión artificial para el reconocimiento del


alfabeto dactilológico boliviano
El proyecto presentado el 2017 se diferencia del resto
por ser el primero dentro el ámbito del LSB que permite
realizar una comparativa entre dos clasificadores como lo son
el SVM y K-Nearest Neighbours KNN. Dentro lo que son los
descriptores de caracterı́sticas realiza de igual manera HOG,
pero se tuvo en consideración lo que es Speeded-Up Robust
Features SURF.[6]

C. An Analysis of Convolutional Long-Short Term Memory


Recurrent Neural Networks for Gesture Recognition
Fig. 1. Alfabeto Dactilologico LSB Es en el 2016 que T. Eleni et al proponen el uso de Convolu-
tional Neural Networks CNN en unión con una Recursive Neu-
Las siguientes secciones están distribuidas de la siguiente ral Network RNN del tipo Long Short-Term Memory LSTM.
manera: en la Sección II Revisión de la literatura se pro- Se realizaron de igual manera comparación con respecto a los
JUNE 2021 2

TABLE I necesarios para el desarrollo en del sistema para el enfoque


V ENTAJAS Y DESVENTAJAS en el contexto actual del LSB.
Ventajas y Desventajas
Categorı́a Visión Guantes
Accesibilidad X 7
Mantenimiento X 7
Costos X 7
Flexibilidad X 7
Comodidad X 7

métodos puros y este hı́brido mostró mayor exactitud. Tal es


el caso de la LSTM donde la extracción de caracterı́sticas fue
realizadas capas convolucionales pre-entrenadas con una capa
recurrente y una capa de salida softmax para multicategoria.
[7]

D. Reconocimiento de gestos dinámicos y su aplicación a


la lengua de señas Fig. 2. Flujo de desarrollo
Se trata de una tesis doctoral del año 2016 con un enfoque
con el Lenguaje de Señas Argentino LSA. Este proyecto
es en Sud America lo más cercano a lo que se busca.
A. Diferencias morfologı́as del Lenguaje de Señas
Sin embargo, utiliza otra forma de clasificación que es el
clasificador ProbSOM que son redes neuronales competitivas A partir de las caracterı́sticas intrı́nsecas de los lenguajes
GAN no supervisadas que configuran sus pesos. De igual de señas, se realiza una comparativa con paı́ses vecinos de
manera, cuenta con un sub clasificador de posición utilizando lengua hispana. Esto con el fin de demostrar que cada lenguaje
una distribución normal.[2] de señas es distinto por factores culturales y para comprender
sus componentes para posterior extracción de caracterı́sticas.
E. A review of hand gesture and sign language recognition 1) Queirema: Forma de la mano *
techniques 2) Toponema: Lugar donde se realiza el gesto *
en 2016 Ming Jin et al, realizan un censo de los proced- 3) Kinema: El movimiento que compone al gesto
imientos y técnicas más utilizados al momento de realizar 4) Kineprosema: La dirección del movimiento *
reconocimientos de gestos. Analizan cada etapa y el estado 5) Queirotropema: La orientación de las manos
del arte en cada uno de estos, recorriendo filtros de colores; 6) Prosoponema: La expresión facial
extracción de caracterı́sticas como ser la Shift-invariant feature Estos componentes describen un gesto, son caracterı́sticas
transform SIFT y analisis de componente principal PCA, e inherente a los lenguajes de señas, para la seccion del
incluso el uso de red neuronal artificial ANN para lo que serı́a proyecto correspondiente al preprocesamiento se hará uso
la clasificación.[8] principalmente de los marcados*.

III. S OLUCI ÓN P ROPUESTA Realizando las comparaciones con el lenguaje de señas de
paises como Chile, Argentina y Peru tomando en cuenta estas
Existen lineamientos que debe cumplir un sistema de visión
caracterı́sticas en distintos gestos y el alfabeto se pudo mostrar
artificial, teniendo en cuenta que existen otras aproximaciones
que no es posible replicar en su totalidad trabajos. Dado que
por parte de sistemas de reconocimiento por guantes. Por tanto
las condiciones culturales de cada paı́s tienen una influencia
el prototipo debe cumplir los siguientes puntos:
directa en su LS.
• Accesible: para conseguir los sensores para un guante es
necesario importarlos frente a la opción de una cámara
que se puede conseguir en el mercado interno. B. Creación dataset LSB
• Mantenimiento: el mantenimiento de software en com- La carencia de un dataset de gestos dinámicos del LSB
paración al hardware es más sencillo de realizar. impone la necesidad de recopilar vı́deos cortos de una lista de
• Costos: dejando de lado el desarrollo, los guantes tienen palabras que contengan una relevancia en la vida cotidiana,
sensores que incurren en un costo superior a la cámara para esto es imprescindible llegar a un consenso con un
• Flexible: el hecho de que solo se necesite una cámara intérprete calificado con lo cual se llegó a la selección de las
permite utilizarlo en distintas situaciones solo con un siguientes palabras: Ayuda ,Bolivia ,Como ,Dinero ,Doctor
medio de procesamiento de las imágenes adquiridas ,Donde ,Explicación ,Guardar ,Necesito ,Quien v1(Occidente)
• Cómodo: no se genera un malestar en el uso de cámara, ,Quien v2(Oriente) ,Saludos.
sobre todo en requerimientos de servicio.
Se optó por mantener la esencia del flujo de trabajo pre- Se utilizó como referencia el trabajo presentado por [2], esto
sentado en [9], pero se ajustaron o agregaron algunos pasos pensando que a pesar de la robustez que ofrece Mediapipe
JUNE 2021 3

el dataset pueda servir para futuros trabajos con distintas Algorithm 1 Procedimiento obtención POI
aproximaciones.Por tal motivo se tomaron en consideración, // Mediapipe trabaja con RGB
los siguientes datos para tener una referencia de la iluminación Data: frame,height,lmList,results
de los ambientes. Un promedio de 140 Lux, en un rango de Result: Obtener todos los POI absolutos
entre 70 Lux como mı́nimo y 290 Lux máximo. imgRGB = cv2.cvtColor(frame, cv2.COLOR BGR2RGB)
El resultado final consiste de una recopilación de 548 vı́deos height, width, = frame.shape
profesionales para 12 gestos, cada categorı́a con un promedio results = holistic.process(imgRGB)
de 48 repeticiones y tres segundos de duración. Se realizó lmListBody = [] lmListLeft = [] lmListRight = []
utilizando la cámara Xiaomi CMSXJ22A con resolución de if results then
for number,lm in enumerate(results.body)
1920x1080 a 30 FPS.
do
cx, cy = int(lm.x * width), int(lm.y * height)
lmListBody.append([number, cx, cy])
end

for number,lm in enumerate(results.leftHand)


C. Preprocesamiento
do
cx, cy = int(lm.x * width), int(lm.y * height)
En la selección de métodos de estimación de pose se lmListLeft.append([number, cx, cy])
tomaron métricas del área de estimación de poses humanas end
como PCK@0.21 2 que indica el porcentaje de articulaciones
consideradas correctas dentro una tolerancia; y que representan for number,lm in enumerate(results.rightHand)
el tiempo de procesamiento. Ası́ también se tomo en cuenta do
cx, cy = int(lm.x * width), int(lm.y * height)
portabilidad y flexibilidad de implementación.
lmListRight.append([number, cx, cy])
Es necesario extraer los POI para poder posteriormente tener end
un vector que describa a la imagen, para este punto se plantea
el uso de Mediapipe dado que en el abanico de opciones tiene end
una alta precisión y velocidad, e incluso llega a ser flexible
en su implementación.[10]
D. Extracción de Caracterı́sticas
Las listas con los puntos de interés POI de cada región
serán filtradas de manera que se tomaran en cuenta solamente A diferencia de otros acercamiento como [11], no se trabaja
los puntos que tienen mayor relevancia en la morfologı́a de directamente sobre la imagen si no que de los POI obtenidos
un gesto:las puntas de los dedos,falanges proximal,codos y del paso anterior calcularemos sus distancias y ángulos con
hombros. Después de filtrar los puntos que fueron resaltados respecto a la nariz, que se eligió como vértice que describe a
en la Fig 3. Estos puntos de interés en total son 43, de la imagen dado que de esa manera no se tiene un conjunto
los cuales el P OI0 corresponderá a la nariz, y sera usada de puntos arbitrarios y se adquiere un sentido espacial y
como vértice, convirtiéndose ası́ en referencia espacial de las orientado. De acuerdo con el mapa presentado en la Figura
trayectorias de las manos. 3, se eligieron los puntos encerrados en los cı́rculos. Se
tienen un total de 42 POI que describirán un fotograma en
la secuencia de vı́deo, por lo que tendremos un vector plano
de 84 caracterı́sticas(una distancia y un ángulo para cada
punto)Ahora cada vı́deo con una duración promedio de 92
fotogramas nos permiten generar una matriz que describa el
vı́deo, los vı́deos mas largos serán truncados y los que sean
menores se procederá al relleno temporal[12].
p
d(P0 , Pi ) = (x0 − xi )2 + (y0 − yi )2 (1)
Donde:
• d(P0 , Pi ) → distancia entre dos puntos P0 y Pi
• P0 = (x0 , y0 ) → punto de referencia
• Pi = (xi , yi ) → punto de interés

Fig. 3. Numeración POI del cuerpo y la mano La segunda ecuación es el ángulo que se formara entre
el punto de interés y el eje horizontal teniendo al punto de
referencia como vértice.
1 PCK: Percentage of Detected Key-points (yi − y0 ) 180
2 Distance between predicted and true joint < 0.2 * torso diameter θi = arctan · (2)
(xi − x0 ) π
JUNE 2021 4

El escalamiento en modelos de redes neuronales se da de


manera que operemos con cantidad de entre 0 y 1 y en una
distribución adecuada

p
DistanciaM áxima = (1920)2 + (1080)2 = 2202.91 (4)

Por lo que la formula de escalamiento es:

Fig. 4. Matrices de Caracterı́sticas


d(Pi ) d(Pi )
N uevaDistanciai = = (5)
DistanciaM áxima 2203
Donde:
• θi → ángulo de Pi con respecto a la horizontal En el caso de los ángulos tomamos el ángulo de una circun-
• P0 = (x0 , y0 ) → punto de referencia ferencia completa, 360°
• Pi = (xi , yi ) → punto de interés
180
• π → conversión de radianes a grados a(Pi )
N uevoÁnguloi = (6)
360
 
d(1,1) a(1,1) d(1,2) a(1,2) ... d(1,t) a(1,t)
 d(2,1) a(2,1) d(2,2) a(2,2) ... d(2,t) a(2,t) 
 
 .. .. .. .. .. .. .. 
 . . . . . . .  IV. R ESULTADOS
d(42,1) a(42,1) d(42,2) a(42,2) ... d(42,t) a(42,t)
(3)
Por cuestiones prácticas relacionadas al entrenamiento se Se entrenaron en aproximadamente varios modelos con
guardará la matriz 3 como formato de escritura para los 3 arquitecturas distintas, ajustando los hiperparametros
*.CSV para las caracterı́sticas de los N vı́deos del dataset. Es de estrucutra como las unidades,las capaas y dropouts.
importante resaltar que la nueva matriz tendrá una dimensión De los cuales 2 mostraron resultados prometedores con
(42x2T ).De tal manera, que para acceder a las matrices pérdidas de 0.812 y convergencias variables. Se ajustaron los
originales que la conforman basta con acceder a las columnas hiperparametros de learning rate entre 0.001 y 0.0025, los
impares para obtener las distancias y que para los ángulos a dropouts entre 0.2 y 0.4, donde se logra observar una mejor
las columnas pares. inferencia obteniendo precisión en las validaciones de hasta
el 79%. Los valores del batch size oscilaron entre los 16 y
64 obteniendo mejoras considerables con 32.
E. Entrenamiento
En el entrenamiento se consideró cinco variantes de la
LSTM, que es una variante RNN que permite solucionar
el problema de la gradiente desvaneciente [13]. La idea es
poder observar e interpretar la secuencia de imágenes, cada
modelo tiene una caracterı́stica durante el entrenamiento que
lo diferencia: LSTM Stacked y LSTM Bidireccional,LSTM
Bidireccional.

Fig. 6. Matriz de confusión

Se obtuvo los mejores resultados con la arquitectura bidi-


Fig. 5. Distribución matrices correspondiente a los vı́deos reccional, por tal motivo se sumergió más que en el resto.
JUNE 2021 5

R EFERENCES
[1] “Organization de naciones unidas. objetivos de desarrollo sostenible
agenda 2030.”
[2] F. Ronchetti, F. Quiroga, C. Estrebou, L. Lanzarini, and A. Rosete,
“Lsa64: A dataset of argentinian sign language,” XX II Congreso
Argentino de Ciencias de la Computación (CACIC), 2016.
[3] A. C. Duarte, “Cross-modal neural sign language translation,” in Pro-
ceedings of the 27th ACM International Conference on Multimedia,
pp. 1650–1654, 2019.
[4] N. C. Camgoz, S. Hadfield, O. Koller, and R. Bowden, “Subunets: End-
to-end hand shape and continuous sign language recognition,” in 2017
IEEE International Conference on Computer Vision (ICCV), pp. 3075–
3084, IEEE, 2017.
[5] E. I. Pocoma Copa and J. A. Nava Amador, “Reconocimiento del
Alfabeto Dactilológico Boliviano Bajo Tecnologı́a de Visión por Com-
putador,” pp. 65–73, 2014.
[6] R. Troche and G. Sahonero Alvarez, “Sistema de visión artificial para
el reconocimiento del alfabeto dactilológico boliviano,” 2017.
[7] E. Tsironi, P. Barros, C. Weber, and S. Wermter, “An analysis of
Fig. 7. Curvas de Aprendizaje Bidireccionales Convolutional Long Short-Term Memory Recurrent Neural Networks
for gesture recognition,” Neurocomputing, vol. 268, no. 2017, pp. 76–
86, 2017.
Se puede considerar que se puede estar en niveles seme- [8] M. J. Cheok, Z. Omar, and M. H. Jaward, “A review of hand gesture and
jantes a los modelos propuestos en los trabajos del exterior sign language recognition techniques,” International Journal of Machine
que oscilan entre 80% y 92% de precision. Además que se Learning and Cybernetics, vol. 10, no. 1, pp. 131–153, 2019.
[9] Z. Xia, Q. Lei, Y. Yang, H. Zhang, Y. He, W. Wang, and M. Huang,
hizo pruebas con vı́deos de personas no acreditadas como “Vision-Based Hand Gesture Recognition for Human-Robot Collab-
interpretes de manera satisfactoria. oration: A Survey,” 2019 5th International Conference on Control,
Automation and Robotics, ICCAR 2019, pp. 198–205, 2019.
[10] C. Lugaresi, J. Tang, H. Nash, C. McClanahan, E. Uboweja, M. Hays,
F. Zhang, C.-L. Chang, M. G. Yong, J. Lee, et al., “Medi-
V. C ONCLUSIONES Y T RABAJO F UTURO apipe: A framework for building perception pipelines,” arXiv preprint
arXiv:1906.08172, 2019.
[11] D. Kragic Jensfelt, “Tracking of Humans in Video Stream Using LSTM
Se escogieron los modelos LSTMCuDNN y LSTM Bidi- Recurrent Neural Network,” Master Thesis, 2017.
rectional por su rendimiento en las matrices de confusión y [12] N. Granger and M. A. el Yacoubi, “Comparing hybrid nn-hmm and
su capacidad de inferencia en vı́deos fuera del dataset. De rnn for temporal modeling in gesture recognition,” in International
Conference on Neural Information Processing, pp. 147–156, Springer,
igual manera se desarrolló una interfaz para la visualización 2017.
y reproducción de audio de manera satisfactoria. [13] R. Pascanu, T. Mikolov, and Y. Bengio, “On the difficulty of training
recurrent neural networks,” in International conference on machine
learning, pp. 1310–1318, PMLR, 2013.

Fig. 8. Interfaz Gráfica de Usuario

Es posible mejorar las métricas de aprendizaje, con-


siderando que se puede aumentar la cantidad de vı́deos por
gesto. Para futuras aplicaciones se sugiere explorar la imple-
mentación de estos modelos a nivel de móviles y servicios
web, esto por la posibilidad de exportar los modelos con
TFLite y TensorflowJS, además de lo ligero y flexible que
es Mediapipe.

También podría gustarte