Wäre es nicht cool, wenn Menschen ohne Gebärdensprachkenntnisse die Gebärdensprache verstehen könnten? Was hindert uns (Forscher und Entwickler) daran, dieses Ziel zu erreichen?
Die Arbeit in diesem Blog entstand im Rahmen meines Praktikums bei ML6 und meiner MSc Thesis an der TU Delft.
Die Gebärdensprache (SL) ist die wichtigste Sprache für die Gemeinschaft der Gehörlosen und Stummen. Nach Angaben des Weltverbandes der Gehörlosen gibt es weltweit mehr als 70 Millionen Gehörlose, die die Gebärdensprache verwenden. Es handelt sich um eine natürliche und vollständige Sprache, die ihre eigenen sprachlichen Feinheiten hat. Jede gesprochene Sprache hat ihre eigene Gebärdensprache, wie die Amerikanische Gebärdensprache (ASL), die Chinesische Gebärdensprache (CSL), die Deutsche Gebärdensprache (DGS) und so weiter. Insgesamt gibt es etwa 300 verschiedene Gebärdensprachen. Gebärdensprachen sind keine Eins-zu-Eins-Abbildung der gesprochenen Sprachen, sondern haben ihre eigene Grammatik.
So muss beispielsweise eine gut konstruierte Frage von der richtigen Augenbrauenstellung begleitet werden. Wenn eine Person Fragen nach dem Wer, Wo, Was, Warum und Wann stellt, werden die Augenbrauen in einer bestimmten Position erwartet. Wenn sich die Frage auf eine Ja/Nein-Situation bezieht, werden die Augenbrauen auf eine bestimmte Weise erwartet. SL kommuniziert nicht nur mit Handgesten, sondern auch mit Mimik, Handbewegungen und -positionen sowie der Körperhaltung. Jede Veränderung in diesen Bereichen kann die gesamte Bedeutung des Zeichens verändern. Deshalb ist es für jemanden, der keine Kenntnisse über Gebärdensprachen hat, in der Regel schwierig, sie zu verstehen.
All diese Faktoren machen die Übersetzung in gesprochene Sprache schwierig. Im Bereich der Gebärdensprachdolmetschung gibt es hauptsächlich zwei Forschungsbereiche, nämlich die Gebärdenspracherkennung (SLR) und die Gebärdensprachübersetzung (SLT), auf die wir später in diesem Blog eingehen und eine moderne Architektur für die Übersetzung verwenden. Wir werden auch einige der entscheidenden Lücken in der Architektur und dem aktuellen Forschungsstand für SLT in einer Echtzeitumgebung diskutieren und auflisten.
Bei SLR geht es um die Erkennung von Handlungen aus der Gebärdensprache. Sie gilt als das Problem der naiven Gebärdenerkennung, ist aber nicht nur auf Alphabete und Zahlen beschränkt. Sie konzentriert sich auf die Erkennung einer Abfolge von kontinuierlichen Zeichen, lässt aber die zugrundeliegenden reichen grammatikalischen und linguistischen Strukturen der Gebärdensprache außer Acht, die sich von der gesprochenen Sprache unterscheiden. Das Hauptziel ist die Interpretation der Zeichen, isoliert oder in einer kontinuierlichen Abfolge.
Im Gegensatz dazu geht es bei der SLT darum, die Gebärdensprache im Sinne der natürlichen Sprache mit ihrer Grammatik zu dolmetschen und dabei die Sprache im Auge zu behalten. Das Hauptziel der SLT ist die Übersetzung von Gebärdensprachvideos in Formen der gesprochenen Sprache, wobei die verschiedenen grammatikalischen Aspekte der Sprache berücksichtigt werden. Es handelt sich um ein relativ neues und komplexes Problem, da neben den Handbewegungen und -positionen auch Gesichtszüge und Körperhaltungen berücksichtigt werden müssen. Die folgende Abbildung zeigt deutlich den Unterschied zwischen Continuous SLR und SLT.
Es gibt mehrere Lücken und Herausforderungen in der aktuellen Forschungslandschaft für SLT in der menschlichen Interaktion in Echtzeit. Um eine bessere Vorstellung von diesen Lücken zu bekommen, haben wir eine hochmoderne Architektur für kontinuierliche SLR verwendet, die in der Forschungsarbeit "Visual alignment constraint (VAC) for continuous sign language recognition (CSLR)" von Min, Yuecong, et al. vorgeschlagen wurde [2]. Um diese Architektur für das SLT-Problem zu nutzen, fügten wir einen zweischichtigen Transformator für die Übersetzung über die VAC_CSLR-Architektur hinzu, wie im Bild unten gezeigt. Darüber hinaus wurde der RWTH Phoenix Weather 14T-Datensatz [3] verwendet, um beide Netzwerke separat zu trainieren. Dieser Datensatz wurde aus den Wettervorhersagen des deutschen Fernsehsenders PHOENIX extrahiert. Er enthält 9 verschiedene Unterzeichner, Annotationen auf Glossenebene mit einem Vokabular von 1.066 verschiedenen Zeichen und Übersetzungen in die deutsche gesprochene Sprache mit einem Vokabular von 2.887 verschiedenen Wörtern.
Die Architektur basiert auf einer zweistufigen Übersetzung von Zeichen in Glossen in Text, wobei im ersten Schritt Glossen aus der Videosequenz gewonnen werden und im nächsten Schritt die Glossen in gesprochene Sätze umgewandelt werden. Nach der Trainings- und Testphase wurde das Modell in einer Echtzeitumgebung eingesetzt. Es wurde an den verschiedenen Videos getestet, wobei die Übersetzung während der Fahrt in Einzelbildern mit OpenCV erfolgte. MediaPipe wurde verwendet, um zu erkennen, wann eine Zeichensequenz beginnen und enden soll.
In der ersten Phase musste das VAC_CSLR-Netzwerk verwendet werden, um Glossen aus den Videosequenzen zu erhalten. Das Visual Alignment Constraint-Netzwerk konzentriert sich auf die Verbesserung der Merkmalsextraktion mit Ausrichtungsüberwachung, indem es zwei Hilfsverluste vorschlägt: den Visual Enhancement (VE)-Verlust und den Visual Alignment (VA)-Verlust. Der VE-Verlust bietet eine direkte Überwachung für den Merkmalsextraktor, der seinerseits durch einen zusätzlichen Klassifikator für visuelle Merkmale verbessert wird, um die Hilfslogits zu erhalten. Dieser Hilfsverlust sorgt dafür, dass der Merkmalsextraktor Vorhersagen nur auf der Grundlage lokaler visueller Informationen macht.
Um die fehlenden kontextuellen Informationen des VE-Verlusts auszugleichen, wird der VA-Verlust vorgeschlagen. Der VA-Verlust wird als ein Wissensdestillationsverlust implementiert, der das gesamte Netzwerk und den visuellen Merkmalsextraktor als Lehrer- bzw. Schülermodell betrachtet. Die endgültige Zielfunktion setzt sich zusammen aus dem Verlust der primären konnektionistischen temporalen Klassifikation (CTC), dem Verlust der visuellen Verbesserung und dem Verlust der visuellen Ausrichtung. In der zweiten Stufe wurde ein zweischichtiger Transformer verwendet, um die log-likelihood über alle Glossentext-Paare zu maximieren.
Für weitere Details verweisen wir auf die Originalimplementierung von Transformer [4].
Nach der Abstimmung der Hyperparameter und der Modellvalidierung wurde das Modell auf verschiedene Videos aus den veröffentlichten Datensätzen und Clips von verschiedenen SL-freundlichen Nachrichtenkanälen angewendet. Die Videos wurden hauptsächlich aus deutschen SL-Quellen ausgewählt, da die Modelle auf einem deutschen SL-Datensatz trainiert wurden. Wir verwendeten zufällige Videos aus dem RWTH-Phoenix-Wetter 2014, dem RWTH-Phoenix-Wetter 2014-T-Datensatz, und nahmen SL-Schnipsel aus der Tagesschau, einer Nachrichtensendung in Deutschland, für die Bewertung. Diese Videos waren nicht sehr lang, nur einen Satz lang (also bis zu 8-10 Sekunden).
In der Übersetzungspipeline wird ein Video in Einzelbilder zerlegt, und für jedes Bild wird ein holistisches MediaPipe-Modell ausgeführt, das die Schlüsselpunkte des Bildes identifiziert. Wenn die identifizierten Schlüsselpunkte linke oder rechte Schlüsselpunkte enthalten, beginnt das SLR-Modell, Frames für die Vorhersage zu nehmen. Die Auswahl der Bilder erfolgt auf der Grundlage der Erkennung von Schlüsselpunkten der linken oder rechten Hand durch das holistische MediaPipe-Modell, d. h. bis eine der Hände im Bild ist. Nachdem wir die Glossen aus dem VAC-Modell erhalten haben, werden diese Glossen an das Transformer-Modell weitergeleitet, das die gesprochenen Übersetzungen liefert. Die endgültigen Übersetzungen wurden mit dem tatsächlichen Text für die SL-Videosequenz verglichen.
Darüber hinaus haben wir auch verschiedene Transformationen auf die aus den Videos aufgenommenen Bilder angewandt. Hier sind die Transformationen, die angewandt wurden:
★ Segmentierungsmasken: Eine Maske wird zur Segmentierung eines Bildes verwendet. Sie wird verwendet, um die Teile eines Bildes zu identifizieren, die ein bestimmtes Objekt enthalten, in diesem Fall einen Menschen. Sie wurde hauptsächlich verwendet, um Rauschen in den Bildern zu vermeiden, wobei der Hintergrund für die Vorhersage unbedeutend ist.
★ Bilddrehung: Dies ist eine gängige Operation zur Bildvergrößerung. Das Bild wird in verschiedenen Winkeln gedreht, um die verschiedenen Aspekte der Bildmerkmale in unterschiedlichen Ausrichtungen zu erfassen.
★ Bildgrößenänderung: Hierbei wurde die Größe des Bildes durch das zentrale Beschneidungsverfahren in verschiedenen Dimensionen geändert.
★ Bildskalierung: Dies unterscheidet sich von der Größenanpassung des Bildes, da es auf dem gesamten Bild durch Resampling geschieht. Die Bilder wurden zufällig in einem Intervall von 0,5 bis 1,5 skaliert.
Nach mehreren Experimenten mit der Architektur und verschiedenen Videos haben wir die Lücken aufgelistet, die wir beobachtet haben und die wichtig sind, um SLT für reale Anwendungen zu verbessern. Hier sind die beobachteten Lücken:
In diesem Blog haben wir die identifizierten Lücken in den Architekturen für SLR/SLT aufgezeigt, indem wir bestehende State-of-the-Art-Architekturen betrachtet und genutzt haben. Die von uns aufgezeigten Lücken deuten darauf hin, dass weitere Fortschritte bei den Architekturen und Datensätzen erforderlich sind, um anspruchsvolle Anwendungen in der realen Welt zu erreichen. Wir kommen zu dem Schluss, dass, obwohl die aktuellen Architekturen für SLR/SLT nicht vollständig für eine reale Anwendung zur SL-Interpretation ausgestattet sind, der Fortschritt in Bezug auf Datensätze und Architekturen vielversprechend aussieht. Da es sich bei der SLT um ein schwieriges Problem handelt, müssen verschiedene Aspekte der SL berücksichtigt werden, um dieses anspruchsvolle Problem zu lösen.
Referenzen
[1] Camgoz, Necati Cihan, et al. "Neural sign language translation". Proceedings of the IEEE conference on computer vision and pattern recognition. 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." Proceedings of the IEEE/CVF International Conference on Computer Vision. 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: a method for automatic evaluation of machine translation." Proceedings of the 40th annual meeting of the Association for Computational Linguistics. 2002. https://aclanthology.org/P02-1040.pdf