Ne serait-ce pas génial si les personnes qui ne connaissent pas la langue des signes pouvaient la comprendre ? Qu'est-ce qui nous empêche (chercheurs et développeurs) d'atteindre cet objectif ?
Le travail présenté dans ce blog a été réalisé dans le cadre de mon stage chez ML6 et de ma thèse de maîtrise à l'Université de Delft.
La langue des signes (LS) est la langue principale de la communauté sourde et muette. Selon la Fédération mondiale des sourds, plus de 70 millions de personnes sourdes dans le monde utilisent la langue des signes. Il s'agit d'une langue naturelle et complète qui possède ses propres subtilités linguistiques. Chaque langue parlée possède sa propre langue des signes, comme la langue des signes américaine (ASL), la langue des signes chinoise (CSL), la langue des signes allemande (DGS), etc. Au total, il existe environ 300 langues des signes différentes. Les langues des signes ne sont pas une reproduction à l'identique des langues parlées, elles ont leur propre grammaire.
Par exemple, une question bien construite doit s'accompagner d'une position correcte des sourcils. Lorsqu'une personne pose des questions relatives à qui, où, quoi, pourquoi et quand, on s'attend à ce que les sourcils soient dans une certaine position. Si la question porte sur une situation oui/non, les sourcils doivent être placés d'une certaine manière. La SL n'utilise pas seulement les gestes pour communiquer, mais aussi les expressions faciales, les mouvements et positions des mains et la posture du corps. Tout changement dans ces éléments peut modifier la signification du signe. C'est pourquoi il est généralement difficile pour quelqu'un qui ne connaît pas les langues des signes de les comprendre.
Tous ces facteurs rendent la traduction en langue parlée difficile. Il existe principalement deux domaines de recherche dans l'interprétation de la langue des signes, à savoir la reconnaissance de la langue des signes (SLR) et la traduction de la langue des signes (SLT), que nous aborderons plus loin dans ce blog et qui utilisent une architecture de pointe pour la traduction. Nous allons également discuter et énumérer certaines des lacunes cruciales dans l'architecture et la recherche actuelle pour la traduction en langue des signes dans un contexte en temps réel.
Le SLR consiste à reconnaître des actions à partir de la langue des signes. Elle est considérée comme le problème naïf de la reconnaissance des gestes, mais ne se limite pas à l'alphabet et aux chiffres. Elle se concentre sur la reconnaissance d'une séquence de signes continus, mais ne tient pas compte des riches structures grammaticales et linguistiques sous-jacentes de la langue des signes, qui diffèrent de la langue parlée. L'objectif principal est d'interpréter les signes, isolés ou en séquence continue.
D'autre part, l'orthophonie consiste à interpréter la langue des signes en termes de langage naturel avec sa grammaire, en gardant à l'esprit la langue. L'objectif premier de l'orthophonie est de traduire les vidéos en langue des signes en langage parlé, en tenant compte des différents aspects grammaticaux de la langue. Il s'agit d'un problème relativement nouveau et complexe, car il implique la prise en compte des traits du visage et des postures du corps, ainsi que des mouvements et des positions des mains. L'image ci-dessous montre clairement la différence entre le SLR continu et le SLT.
Le paysage actuel de la recherche sur la reconnaissance de la langue des signes dans le cadre d'une interaction humaine en temps réel présente plusieurs lacunes et défis. Pour avoir une meilleure idée de ces lacunes, nous avons utilisé une architecture de pointe pour la reconnaissance continue de la langue des signes proposée dans l'article de recherche "Visual alignment constraint (VAC) for continuous sign language recognition (CSLR)" de Min, Yuecong, et al [2]. Afin d'utiliser cette architecture pour le problème de la SLT, nous avons ajouté un transformateur à deux couches pour la traduction sur l'architecture VAC_CSLR, comme le montre l'image ci-dessous. En outre, l'ensemble de données RWTH Phoenix Weather 14T [3] a été utilisé pour entraîner les deux réseaux séparément. Cet ensemble de données est extrait des prévisions météorologiques diffusées par la chaîne de télévision allemande PHOENIX. Il comprend 9 signataires différents, des annotations au niveau de la glose avec un vocabulaire de 1 066 signes différents et des traductions en langue parlée allemande avec un vocabulaire de 2 887 mots différents.
L'architecture est basée sur une traduction en deux étapes, Sign-to-Gloss Gloss-to-Text, où la première étape consiste à obtenir des glosses à partir de la séquence vidéo, et dans l'étape suivante, les glosses sont convertis en phrases de langue parlée. Après la phase de formation et de test, le modèle a été utilisé en temps réel. Il a été testé sur les différentes vidéos avec une traduction en cours, dans des ensembles d'images à l'aide d'OpenCV. MediaPipe a été utilisé pour déterminer quand commencer et terminer une séquence de signes.
La première étape consistait à utiliser le réseau VAC_CSLR pour obtenir des glosses à partir des séquences vidéo. Le réseau Visual Alignment Constraint se concentre sur l'amélioration de l'extracteur de caractéristiques avec une supervision de l'alignement en proposant deux pertes auxiliaires : la perte Visual Enhancement (VE) et la perte Visual Alignment (VA). La perte VE fournit une supervision directe pour l'extracteur de caractéristiques, qui est lui-même amélioré par l'ajout d'un classificateur auxiliaire sur les caractéristiques visuelles pour obtenir les logits auxiliaires. Cette perte auxiliaire permet à l'extracteur de caractéristiques de faire des prédictions basées uniquement sur les informations visuelles locales.
Ensuite, pour compenser les informations contextuelles qui manquent à la perte VE, la perte VA est proposée. La perte VA est mise en œuvre comme une perte de distillation des connaissances qui considère l'ensemble du réseau et l'extracteur de caractéristiques visuelles comme les modèles de l'enseignant et de l'élève, respectivement. La fonction objective finale est composée de la perte primaire de classification temporelle connexionniste (CTC), de la perte d'amélioration visuelle et de la perte d'alignement visuel. Dans la deuxième étape, pour obtenir la traduction à partir des gloses, un transformateur à deux niveaux a été utilisé pour maximiser la log-vraisemblance sur toutes les paires glose-texte.
Nous nous sommes référés à l'implémentation originale du transformateur [4] pour plus de détails.
Après l'ajustement des hyperparamètres et la validation du modèle, ce dernier a été appliqué à différentes vidéos issues des ensembles de données publiés et à des clips provenant de diverses chaînes d'information favorables aux SL. Les vidéos ont été principalement sélectionnées à partir de sources SL allemandes, car les modèles ont été entraînés sur un ensemble de données SL allemandes. Nous avons utilisé des vidéos aléatoires de l'ensemble de données RWTH-Phoenix-Weather 2014, RWTH-Phoenix-Weather 2014-T, et pris des extraits SL de Tagesschau, une émission d'information en Allemagne, pour l'évaluation. Ces vidéos n'étaient pas très longues, juste une phrase (donc, jusqu'à 8-10 secondes).
Dans le pipeline de traduction, une vidéo est décomposée en images et sur chaque image, un modèle holistique MediaPipe est exécuté, qui identifie les points clés de l'image. Si les points clés identifiés contiennent des points clés à gauche ou à droite, le modèle SLR commence à prendre des images pour la prédiction. L'ensemble des images est déterminé sur la base de la détection des points clés de la main gauche ou droite par le modèle holistique MediaPipe, c'est-à-dire jusqu'à ce que l'une des mains soit dans l'image. Après avoir obtenu les gloses du modèle VAC, ces gloses sont transmises au modèle Transformer qui fournit les traductions parlées. Les traductions finales ont été comparées au texte réel de la séquence vidéo SL.
En outre, nous avons également appliqué différentes transformations aux images capturées dans les vidéos. Voici les transformations appliquées :
Masques de segmentation : Un masque est utilisé pour segmenter une image. Il permet d'identifier les parties d'une image contenant un objet particulier, en l'occurrence un humain. Il a été principalement utilisé pour éviter le bruit dans les images, l'arrière-plan étant insignifiant pour la prédiction.
★ Rotation de l'image : Il s'agit d'une opération courante d'augmentation de l'image. L'image est tournée sous différents angles pour capturer les différents aspects des caractéristiques de l'image dans différentes orientations.
★ Redimensionnement de l'image : Dans cette opération, la taille de l'image a été modifiée par la méthode de recadrage central à différentes dimensions.
★ Mise à l'échelle de l'image : Cette opération est différente du redimensionnement de l'image car elle s'effectue sur l'ensemble de l'image par rééchantillonnage. Les images ont été mises à l'échelle de manière aléatoire entre 0,5 et 1,5 intervalle.
Après plusieurs expériences sur l'architecture avec différentes vidéos, nous avons dressé la liste des lacunes que nous avons observées et qui sont importantes pour améliorer le SLT dans le cadre d'une application réelle. Voici les lacunes observées :
Dans ce blog, nous avons montré les lacunes identifiées dans les architectures pour SLR/SLT en considérant et en exploitant les architectures de pointe existantes. Les lacunes que nous avons mentionnées suggèrent qu'il est nécessaire d'améliorer les architectures et les ensembles de données pour réaliser des applications de haut niveau dans le monde réel. Nous concluons que, bien que les architectures actuelles de SLR/SLT puissent ne pas être entièrement équipées pour une application réelle d'interprétation SL, les progrès en termes d'ensembles de données et d'architectures semblent prometteurs. Le problème de l'orthophonie étant difficile, divers aspects de la SL doivent être pris en compte pour le résoudre.
Références
[1] Camgoz, Necati Cihan, et al. "Neural sign language translation". Actes de la conférence de l'IEEE sur la vision informatique et la reconnaissance des formes. 2018.https://openaccess.thecvf.com/content_cvpr_2018/papers/Camgoz_Neural_Sign_Language_CVPR_2018_paper.pdf
[2] Min, Yuecong, et al. "Visual alignment constraint for continuous sign language recognition." Actes de la conférence internationale de l'IEEE/CVF sur la vision par ordinateur. 2021. https://arxiv.org/abs/2104.02330
[3] Necati Cihan Camgöz, Simon Hadfield, Oscar Koller, Hermann Ney, Richard Bowden, Neural Sign Language Translation, IEEE Conf. on Computer Vision and Pattern Recognition, Salt Lake City, UT, 2018. https://www-i6.informatik.rwth-aachen.de/~koller/RWTH-PHOENIX-2014-T/
[4] Vaswani, Ashish, et al. "Attention is all you need." Advances in neural information processing systems 30 (2017). https://proceedings.neurips.cc/paper/2017/hash/3f5ee243547dee91fbd053c1c4a845aa-Abstract.html
[5] Papineni, Kishore, et al. "Bleu : une méthode d'évaluation automatique de la traduction automatique." Actes de la 40e réunion annuelle de l'Association for Computational Linguistics. 2002. https://aclanthology.org/P02-1040.pdf