... | @@ -20,7 +20,7 @@ Das Tool <a href="https://cloud.ibm.com/catalog/services/speech-to-text">_Watson |
... | @@ -20,7 +20,7 @@ Das Tool <a href="https://cloud.ibm.com/catalog/services/speech-to-text">_Watson |
|
Mit Hinblick auf eine dauerhafte und freie Nutzung eines Spracherkennungs-Tools im Accelerator werden die Tools Watson Speech to text und Dialogflow im Rahmen dieses Projektes nicht verwendet. Aufgrund der leichten Implementierung der Web Speech API durch JavaScript-Code in Webprojekte und die uneingeschränkte Nutzungsdauer der Spracherkennung fiel die Entscheidung auf dieses Tool.
|
|
Mit Hinblick auf eine dauerhafte und freie Nutzung eines Spracherkennungs-Tools im Accelerator werden die Tools Watson Speech to text und Dialogflow im Rahmen dieses Projektes nicht verwendet. Aufgrund der leichten Implementierung der Web Speech API durch JavaScript-Code in Webprojekte und die uneingeschränkte Nutzungsdauer der Spracherkennung fiel die Entscheidung auf dieses Tool.
|
|
|
|
|
|
<h3>Gebärdensprache</h3>
|
|
<h3>Gebärdensprache</h3>
|
|
Die erkannte Sprache sollte anschließend in Gebärdenanimationen umgewandelt werden. Hierzu wurde zunächst eine erste Grobrecherche durchgeführt. Dabei ergab sich zu Beginn des Projektes der Plan die erkannten Texte zunächst zu analysieren und anschließend in Gebärdengrammatik umzustellen. Für die Analyse wurde dabei zunächst ermittelt, dass von der Universität Leipzig das Angebot der Leipzig Corpora Collection <a href="http://api.corpora.uni-leipzig.de/ws/swagger-ui.html#/word-service/getWordRelationsUsingGET">_Leipzig Corpora Collection_</a> besteht, welches eine API für den deutschen Wortschatz zur Verfügung stellt . Über diese können deutsche Texte auf die vorhandenen Wörter und deren Eigenschaften untersucht werden. So wurde der Plan entwickelt die erkannten Texte mithilfe dieser API zunächst auf die enthaltenen Worte und Wortarten zu analysieren. Anschließend sollten diese Informationen genutzt werden, um die bestehende Grammatik mithilfe von Context-Free Grammar in Gebärdengrammatik umzuwandeln. Hierzu wurde eine Recherche zum grammatikalischen Aufbau von Sätzen der deutschen Gebärdensprache (DGS) durchgeführt. Dabei hat sich herausgestellt, dass die DGS über eine vollständige eigene Grammatik verfügt. Der Satz Wie alt bist du? würde in der Gebärdensprache du, wie alt? gebärdet werden. Des Weiteren hat die Gebärdensprache keine offizielle Schriftform. Es ist also schwierig einen Zwischenschritt in der Übersetzung hin zur Darstellung durch einen Gebärden-Avatar einzulegen. Das heißt die Schriftsprache des Deutschen kann nicht in die Schriftsprache der Gebärdensprache übersetzt werden, weil diese offiziell nicht existiert. Es gibt zwar Ansätze und Versuche, Gebärdensprache schriftlich darzustellen, jedoch finden diese in der Praxis keine Anwendung. Außerdem sind diese Schriften sehr kompliziert. Der Grund hierfür ist, dass für die schriftliche Darstellung der Lautsprache nur eine Repräsentation, also ein oder mehrere Buchstaben, des Lautes benötigt wird. Eine Schrift der Gebärdensprache muss mehr Informationen darstellen, z.B. Ausführungsstelle, Mundbild, Mimik oder Handflächen-Orientierung. Um diese fehlende Schriftsprache zu umgehen sollten die Worte in ihrer Grundform direkt in Gebärden umgesetzt und damit ein “Wörterbuch” erstellt werden. So könnte das Gesprochene zunächst analysiert, in die Grundform umgewandelt, in die neue Satzstruktur umgestellt und mithilfe des Wörterbuchs in Animationen dargestellt werden.<br><br>
|
|
Die erkannte Sprache sollte anschließend in Gebärdenanimationen umgewandelt werden. Hierzu wurde zunächst eine erste Grobrecherche durchgeführt. Dabei ergab sich zu Beginn des Projektes der Plan die erkannten Texte zunächst zu analysieren und anschließend in Gebärdengrammatik umzustellen. Für die Analyse wurde dabei zunächst ermittelt, dass von der Universität Leipzig das Angebot der Leipzig Corpora Collection <a href="http://api.corpora.uni-leipzig.de/ws/swagger-ui.html#/word-service/getWordRelationsUsingGET">Leipzig Corpora Collection</a> besteht, welches eine API für den deutschen Wortschatz zur Verfügung stellt . Über diese können deutsche Texte auf die vorhandenen Wörter und deren Eigenschaften untersucht werden. So wurde der Plan entwickelt die erkannten Texte mithilfe dieser API zunächst auf die enthaltenen Worte und Wortarten zu analysieren. Anschließend sollten diese Informationen genutzt werden, um die bestehende Grammatik mithilfe von Context-Free Grammar in Gebärdengrammatik umzuwandeln. Hierzu wurde eine Recherche zum grammatikalischen Aufbau von Sätzen der deutschen Gebärdensprache (DGS) durchgeführt. Dabei hat sich herausgestellt, dass die DGS über eine vollständige eigene Grammatik verfügt. Der Satz Wie alt bist du? würde in der Gebärdensprache du, wie alt? gebärdet werden. Des Weiteren hat die Gebärdensprache keine offizielle Schriftform. Es ist also schwierig einen Zwischenschritt in der Übersetzung hin zur Darstellung durch einen Gebärden-Avatar einzulegen. Das heißt die Schriftsprache des Deutschen kann nicht in die Schriftsprache der Gebärdensprache übersetzt werden, weil diese offiziell nicht existiert. Es gibt zwar Ansätze und Versuche, Gebärdensprache schriftlich darzustellen, jedoch finden diese in der Praxis keine Anwendung. Außerdem sind diese Schriften sehr kompliziert. Der Grund hierfür ist, dass für die schriftliche Darstellung der Lautsprache nur eine Repräsentation, also ein oder mehrere Buchstaben, des Lautes benötigt wird. Eine Schrift der Gebärdensprache muss mehr Informationen darstellen, z.B. Ausführungsstelle, Mundbild, Mimik oder Handflächen-Orientierung. Um diese fehlende Schriftsprache zu umgehen sollten die Worte in ihrer Grundform direkt in Gebärden umgesetzt und damit ein “Wörterbuch” erstellt werden. So könnte das Gesprochene zunächst analysiert, in die Grundform umgewandelt, in die neue Satzstruktur umgestellt und mithilfe des Wörterbuchs in Animationen dargestellt werden.<br><br>
|
|
|
|
|
|
|
|
|
|
Bei den ersten Versuchen der Umsetzung dieses Plans haben sich jedoch mehrere Schwierigkeiten herauskristallisiert. Die größte Schwierigkeit stellte dabei die Analyse der gesprochenen Sprache dar. Da Deutsch über eine Vielzahl verschiedener Satzstrukturen verfügt ist es schwierig zu ermittelt, bei welchem Wort es sich um Subjekt, Verb, Objekt, Nebenverb oder Ähnliches handelt. Ohne diese Information kann jedoch das Konzept der Context-Free Grammar nicht angewendet werden, um die bestehenden Satzstrukturen in Neue umzuwandeln. Zudem nutzt der Accelerator Node.js als Programmiersprache, welche wiederum nur wenige Möglichkeiten zum Natural Language Processing bietet. Eine weitere Herausforderung stellte sich außerdem bei der DGS-Grammatik, da diese auch über flexible Elemente, wie das Zeigen auf eine bestimmte Person im Raum, verfügt, welche so in der deutschen gesprochenen Sprache nicht existieren und schwer übersetzt werden können. Außerdem stellte sich bei der Recherche zu bereits bestehenden Projekten heraus, dass aktuelle Ansätze Deep-Learning einsetzen. Dies ist beispielsweise im Projekt von Saunders et al. (2020) der Fall, in welchem Gebärdensprach-Übersetzungen aus dem Fernsehen eingesetzt werden, um Übersetzungen zwischen DGS und gesprochenem Deutsch zu erstellen. Der Zugriff auf das Gesprochene als auch auf die gebärdete Übersetzung stellt sich hierbei als großer Vorteil heraus und das Projekt konnte vielversprechende Ergebnisse erzielen. Leider stehen die Technik und die Ressourcen dieser Ansätze in diesem Projekt nicht nicht zur Verfügung.<br>
|
|
Bei den ersten Versuchen der Umsetzung dieses Plans haben sich jedoch mehrere Schwierigkeiten herauskristallisiert. Die größte Schwierigkeit stellte dabei die Analyse der gesprochenen Sprache dar. Da Deutsch über eine Vielzahl verschiedener Satzstrukturen verfügt ist es schwierig zu ermittelt, bei welchem Wort es sich um Subjekt, Verb, Objekt, Nebenverb oder Ähnliches handelt. Ohne diese Information kann jedoch das Konzept der Context-Free Grammar nicht angewendet werden, um die bestehenden Satzstrukturen in Neue umzuwandeln. Zudem nutzt der Accelerator Node.js als Programmiersprache, welche wiederum nur wenige Möglichkeiten zum Natural Language Processing bietet. Eine weitere Herausforderung stellte sich außerdem bei der DGS-Grammatik, da diese auch über flexible Elemente, wie das Zeigen auf eine bestimmte Person im Raum, verfügt, welche so in der deutschen gesprochenen Sprache nicht existieren und schwer übersetzt werden können. Außerdem stellte sich bei der Recherche zu bereits bestehenden Projekten heraus, dass aktuelle Ansätze Deep-Learning einsetzen. Dies ist beispielsweise im Projekt von Saunders et al. (2020) der Fall, in welchem Gebärdensprach-Übersetzungen aus dem Fernsehen eingesetzt werden, um Übersetzungen zwischen DGS und gesprochenem Deutsch zu erstellen. Der Zugriff auf das Gesprochene als auch auf die gebärdete Übersetzung stellt sich hierbei als großer Vorteil heraus und das Projekt konnte vielversprechende Ergebnisse erzielen. Leider stehen die Technik und die Ressourcen dieser Ansätze in diesem Projekt nicht nicht zur Verfügung.<br>
|
... | @@ -174,7 +174,27 @@ socket.on('subtitle', function(text){ |
... | @@ -174,7 +174,27 @@ socket.on('subtitle', function(text){ |
|
<br>Somit ist der Untertitel nun für alle Nutzer sichtbar, die sich die Gebärde-Animation eingeblendet haben. Der Untertitel verändert sich nach jedem aufgenommen Satz, beziehungsweise wenn der Sprecher eine kurze Pause macht. Es kam diesbezüglich ebenfalls die Idee auf, das Gesprochene Wort für Wort zu transkribieren und diesen direkt auszugeben, jedoch kamen hier einige Probleme auf, wie beispielsweise das Markieren eines Satzendes oder die Inkompatibilität mit dem Blending der Animationen. Dies wäre ein möglicher Ansatz für weiterführende Arbeiten.
|
|
<br>Somit ist der Untertitel nun für alle Nutzer sichtbar, die sich die Gebärde-Animation eingeblendet haben. Der Untertitel verändert sich nach jedem aufgenommen Satz, beziehungsweise wenn der Sprecher eine kurze Pause macht. Es kam diesbezüglich ebenfalls die Idee auf, das Gesprochene Wort für Wort zu transkribieren und diesen direkt auszugeben, jedoch kamen hier einige Probleme auf, wie beispielsweise das Markieren eines Satzendes oder die Inkompatibilität mit dem Blending der Animationen. Dies wäre ein möglicher Ansatz für weiterführende Arbeiten.
|
|
|
|
|
|
<h2>Umsetzung Gebärdensprache</h2>
|
|
<h2>Umsetzung Gebärdensprache</h2>
|
|
...
|
|
Das erkannte Gesprochene soll nun mithilfe eines Gebärden-Avatars in dargestellt werden. Da, wie in Kapitel 2.2 beschrieben, eine Umsetzung einer flexiblen Übersetzung im Rahmen des Projektes nicht möglich war wurde die Darstellung konkreter Beispielsätze umgesetzt. Dafür wurde ein Set aus Sätzen und Wörtern ausgewählt, welches als besonders nützlich für Online-Konferenzen erachtet wurde. <br><br>
|
|
|
|
|
|
|
|
Diese Wörter und Sätze lauten wie folgt:
|
|
|
|
<ul>
|
|
|
|
<li>Hallo</li>
|
|
|
|
<li>Tschüss</li>
|
|
|
|
<li>Mir geht es gut</li>
|
|
|
|
<li>Könnt ihr die Gebärden sehen?</li>
|
|
|
|
<li>Könnt ihr den Untertitel sehen?</li>
|
|
|
|
<li>Kannst du das wiederholen?</li>
|
|
|
|
<li>Etwas langsamer bitte</li>
|
|
|
|
<li>Sind meine Folien zu sehen?</li>
|
|
|
|
<li>Ist mein Bildschirm zu sehen?</li>
|
|
|
|
<li>Dankeschön</li>
|
|
|
|
|
|
|
|
<br>
|
|
|
|
Bevor die Sätze animiert werden konnten, wurde eine kompetente Übersetzung der Sätze in Gebärdensprache benötigt. Hierzu wurde ein studentische Leiter der Deutschen Gebärdensprachkurse der Pädagogischen Hochschule Heidelberg, Tim Eidam, zu Rat gezogen. Tim Eidam erstellte ein Video, in dem er die Sätze und Wörter gebärdet. <br>
|
|
|
|
|
|
|
|
Basierend auf diesem Video wurde dann ein Gebärden-Avatar in der Software Blender animiert. Hierzu kam zunächste der Open-Source Avatar “Rain” zum Einsatz . Dieser ist speziell für Animationen entwickelt und verfügt über ein ausführliches Körper- und Gesichts-Rig. Aufgrund der hohen Detailtreue des 3D-Modell benötigt die Darstellung des Characters jedoch viel Kapazitäten. Dies führte bei Einbindung einfacher Testanimationen in den Accelerator zu Probleme, da das Modell teilweise nur langsam und falsch dargestellt werden konnte. Aufgrund dieser Schwierigkeiten wurde dann der frei verfügbare Avatar “Amy” der Plattform Mixamo eingesetzt . Dieser umfasst weniger Flächen und kann somit besser in den Accelerator eingebunden werden. Für das Modell steht zunächst jedoch ausschließlich ein Körper-Rig zur Verfügung. Da für die korrekte Darstellung von Gebärden jedoch auch Mimik und Mundbewegungen animiert werden müssen, musste zusätzlich ein Gesichts-Rig erstellt werden. Hierzu wurden in Blender sogenannte Shape Keys erstellt. Dabei handelt es sich um Transformationen des 3D-Objektes, die nach Belieben prozentual angewandt werden können. Diese teilweise Anwendung der einzelnen Shape Keys kann über zugeordnete Bones geschehen. So können mithilfe des Gesichts-Rigs die verschiedenen Gesichtspartien, wie Augenbrauen, Kieferpartie, Wangen und der gesamte Mund animiert werden.<br>
|
|
|
|
Nachdem Amy vollständig mit einem Rig versehen war wurden anhand der Beispielvideos Animationen der geplanten Gebärden erstellt. Dabei wurde für jedes Wort eine einzelne Animation erstellt, welche als Aktion mit dem entsprechenden Namen gespeichert wurde. Diese Aktionen wurden anschließend in einem Blender-Dokument vereint und als eine alle Animationen umfassende GLB-Datei exportiert. Dieses Datei bildete die Vorbereitung für den gezielten Zugriff auf die Animationen mit Three.js und das Darstellen der passenden Sätze im Accelerator.
|
|
|
|
|
|
|
|
|
|
<h2>ThreeJs</h2>
|
|
<h2>ThreeJs</h2>
|
|
[ThreeJs](https://threejs.org/) ist ein eine JavaScript Bibliothek, mit der 3D animierte Computergrafiken durch WebGL in einem Browser erstellt und dargestellt werden können.
|
|
[ThreeJs](https://threejs.org/) ist ein eine JavaScript Bibliothek, mit der 3D animierte Computergrafiken durch WebGL in einem Browser erstellt und dargestellt werden können.
|
... | | ... | |