Das Red Hen Lab ist ein internationales, interdisziplinäres Forschungsnetzwerk, das sich mit multimodaler Kommunikation beschäftigt: Wie hängen Sprache, Gestik, Bilder, Geräusche und andere Kommunikationsformen zusammen? Dafür sammelt und verarbeitet Red Hen enorme Datenmengen, von Fernsehsendungen, Radioaufnahmen und Untertiteln über historische Texte und alte Schriftsysteme bis hin zu Darstellungen von Gesten auf antiken griechischen Vasen.
Ein wichtiger Teil des Projekts ist die Entwicklung der Werkzeuge, die für die Arbeit mit diesen Daten benötigt werden. Dazu gehören die automatisierte Datenerfassung, verteilte Datenspeicherung, multimodale Analysen, Machine Learning sowie Such- und Visualisierungstools. Ein großer Teil der Software wird als Open Source entwickelt.
2020 habe ich als studentische Hilfskraft an der Universität Osnabrück an einem der Videoverarbeitungsprojekte von Red Hen gearbeitet, unter Peter Uhrig, der damals die Professur für Computerlinguistik und Kognitionswissenschaft vertrat. Mein Schwerpunkt lag auf der Entwicklung und Wartung von Teilen einer Pipeline zur automatischen Gestenanalyse in großen Videokorpora, insbesondere der Identifikation und Verfolgung von Personen über den Verlauf von Videos hinweg.
Gestenerkennung in der Ellen DeGeneres Show
Einer der von Red Hen verwendeten Datensätze besteht aus 30 Folgen der Ellen DeGeneres Show, in denen verschiedene Prominente interviewt werden. Für die Forschung ist dabei vor allem der Zusammenhang zwischen gesprochener Sprache und Handgesten interessant: Menschen begleiten ihre Sprache häufig mit Gesten, die zusätzliche Informationen vermitteln, bestimmte Aussagen betonen oder auf andere Weise mit dem Gesagten zusammenhängen. [1]https://sites.google.com/case.edu/techne-public-site/datasets/gsoc21-ellen-gestures
Die Videos wurden von der Gestenforscherin Yao Tong manuell mit ELAN annotiert, einem Tool zur Annotation von Audio- und Videoaufnahmen. Diese Annotationen bilden die Grundlage für die Entwicklung und Evaluation von Methoden, mit denen sich Gesten automatisch erkennen und mit gesprochener Sprache in Verbindung bringen lassen.
Um diese Analyse zu automatisieren, sind einige Verarbeitungsschritte notwendig. Zunächst wird mit OpenPose die Körperhaltung der Personen in den Videos geschätzt, indem Keypoints für Körper, Hände und Gesicht erkannt werden. Es reicht allerdings nicht, einfach in jedem Frame ein Skelett zu erkennen. Personen bewegen sich, verschwinden hinter anderen und werden aus unterschiedlichen Kameraperspektiven gezeigt. Gerade bei einer Talkshow, in der die Kamera ständig zwischen den Gesprächspartnern wechselt, muss die Pipeline herausfinden, welche Erkennungen zur selben Person gehören, auch über verschiedene Kameraeinstellungen hinweg.
Mein Beitrag
Ich habe an mehreren Teilen dieser Verarbeitungspipeline gearbeitet, insbesondere an der Personenidentifikation und dem Tracking über Kamerawechsel hinweg. Dafür wurden neuronale Netze zur Gesichtserkennung eingesetzt, um festzustellen, ob Personen, die an unterschiedlichen Stellen eines Videos erkannt wurden, tatsächlich dieselbe Person sind. Die entsprechenden Pose- und Gestendaten konnten so den richtigen Personen zugeordnet werden.
Außerdem habe ich an der Shot-Segmentierung gearbeitet, also der Erkennung von Schnitten zwischen Kameraeinstellungen, um Videos in sinnvolle Abschnitte zu unterteilen. Zusammen mit Personenerkennung, Tracking und Posenschätzung ermöglichen diese Schritte, zusammenhängende Informationen über die Bewegungen einer Person zu extrahieren, statt nur eine Sammlung voneinander unabhängiger Erkennungen in einzelnen Frames zu erhalten.
Die Pipeline basierte unter anderem auf SkelShop, einem Open-Source-Toolkit zur Verarbeitung großer Videosammlungen. Neben OpenPose bietet es Funktionen zum Tracking von Personen, zur Extraktion und zum Vergleich von Face Embeddings, zur Gesichtsidentifikation und zur Verarbeitung von Videodaten.
Eine weitere Herausforderung war die Verarbeitung sehr großer Datenmengen. Tausende Stunden Videomaterial zu verarbeiten, insbesondere mit rechenintensiven neuronalen Netzen, ist nichts, was man auf einem einzelnen Rechner machen möchte. Deshalb haben wir die Pipeline auf einem High-Performance-Computing-Cluster (HPC) ausgeführt. Dabei kam Snakemake zur Orchestrierung der verschiedenen Verarbeitungsschritte und Singularity zur Containerisierung der Software und ihrer Abhängigkeiten zum Einsatz.
Der Cluster verwendete SLURM, um Jobs auf verschiedene Rechenknoten zu verteilen, darunter sowohl CPU- als auch GPU-Nodes. So konnten die unterschiedlichen Verarbeitungsschritte auf der jeweils passenden Hardware ausgeführt und große Videosammlungen parallel verarbeitet werden. Mit Snakemake ließen sich außerdem die Abhängigkeiten zwischen den einzelnen Schritten verwalten und unnötige Wiederholungen rechenintensiver Berechnungen vermeiden.
Meine eigenen Beiträge zum Projekt sind nicht öffentlich verfügbar, aber das Open-Source-Repository von SkelShop und die zugehörige Dokumentation geben einen guten Überblick über die verwendeten Tools und die zugrunde liegende Verarbeitungsarchitektur.
Weiterentwicklung
Der Ellen-DeGeneres-Datensatz wurde anschließend in einem separaten Benchmark zur Gestenerkennung verwendet, der im Rahmen des Google Summer of Code 2021 entwickelt wurde.
In diesem Projekt wurden die von OpenPose erkannten Keypoints in Zeitreihen umgewandelt, welche die erkannten Personen und ihre Bewegungen repräsentieren. Diese Daten wurden anschließend in ein neuronales Netz eingespeist, das Convolutional-LSTM-Layer mit 3D-Convolutions kombiniert, um Handgesten zu klassifizieren. Das Modell erreichte eine Accuracy von etwa 72 %, eine Precision von 76 % und einen Recall von 67 %.
Dieser Benchmark war zwar nicht Teil meiner eigenen Arbeit, zeigt aber gut, was die Verarbeitungspipeline ermöglichen sollte: Große Mengen an audiovisuellem Rohmaterial in strukturierte, automatisch annotierte Datensätze umzuwandeln, mit denen sich der Zusammenhang zwischen Sprache und Gestik untersuchen lässt.
Links
- Red Hen Lab - Das internationale Forschungsnetzwerk.
- Video Processing Pipeline - Überblick über die Videoverarbeitungstools von Red Hen.
- Gesture Detection Thesis - Frühere Arbeit zur automatischen Gestenerkennung bei Red Hen.
- SkelShop und die zugehörige Dokumentation - Open-Source-Toolkit zur Videoverarbeitung, einschließlich Personentracking, Gesichtserkennung und HPC-Workflows.
- Ellen DeGeneres Gesture Dataset and Benchmark - Beschreibung des Datensatzes und Ergebnisse des späteren Gestenerkennungs-Benchmarks (die neueste Arbeit von Red Hen an der Ellen-PipelineAuf diesem Datensatz wurde ein Deep-Learning-Benchmark-Modell zur Erkennung von Handgesten entwickelt.
Das Modell arbeitet in zwei Schritten: Zunächst werden mit OpenPose Keypoints für die
Personen im Video generiert. Anschließend werden diese verarbeitet und in 3D-Zeitreihendaten der Form
(Anzahl Keypoints X Anzahl Personen X Fenstergröße) umgewandelt. Diese Daten werden in ein Modell eingespeist,
das aus 2D-Convolutional-LSTM-Layern (ConvLSTM2D in Keras) und 3D-Convolutional-Layern besteht […]
Der Code wird in einem Singularity-Container auf dem Case-HPC-Cluster ausgeführt.
Die besten Ergebnisse waren Accuracy: 0.7207, Precision: 0.7581 und Recall: 0.6684. https://sites.google.com/case.edu/techne-public-site/datasets/gsoc21-ellen-gestures) - ELAN und Anleitung zur Annotation - Tools zur manuellen Annotation von Videos.
- Singularity an der Case Western Reserve University und HPC-Einführung - Hintergrundinformationen zur verwendeten Recheninfrastruktur.