Vorbemerkungen

4.1. Vorbemerkungen#

In den letzten Kapiteln haben wir einige Grundlagen filmanalytischer Arbeit dargelegt und ausgeführt, wie für die automatisierte Annotation von Filmen bzw. Videodateien Verfahren der Computer Vision eingesetzt werden können. Dabei sind wir unter anderem auf quantitative Ansätze in der Filmwissenschaft eingegangen und haben exemplarische Einsatzbereiche von Computer Vision und automatisierter Annotation für die Filmanalyse vorgestellt. So können etwa Objekte in Filmen erkannt oder die Farbgestaltung filmischer Werke analysiert werden.

In diesem Kapitel folgt nun die konkrete Erarbeitung und Umsetzung von Workflows zur automatisierten Annotation von Filmen. Im Kapitel zu Fragestellungen zur Fallstudie haben wir zwei Bereiche der automatisierten Annotation von Filmen herausgearbeitet, die wir in dieser OER näher betrachten möchten: Die Erkennung von Einstellungsübergängen bzw. Einstellungslängen und die Bestimmung des Auftretens von bestimmten Figuren in Filmen. Für diese beiden Bereiche haben wir Skripte in der Programmiersprache Python entwickelt, in denen die Workflows praktisch umgesetzt werden. Diese Python-Skripte wurden in Form von Jupyter Notebooks realisiert, die in diese OER integriert wurden. Durch diese Jupyter Notebooks kann der Python-Code direkt aus der OER heraus ausgeführt werden.

Hinweise zu Jupyter Notebooks

Jupyter Notebooks bestehen aus Codeblöcken und Textblöcken. Die einzelnen Codeblöcke mit Python-Code können nacheinander ausgeführt werden, während die Textblöcke ausführliche Erklärungstexte liefen, in denen z.B. die Funktion der einzelnen Codeblöcke erläutert wird. So können auch Lernende, die über keine Programmierkenntnisse verfügen, den Aufbau des Codes und die einzelnen, für die Annotation notwendigen Schritte nachvollziehen. In Jupyter Notebooks können zudem in den jeweiligen Codeblöcken erstellte Visualisierungen von Daten oder Tabellen zu Annotationsergebnissen direkt dargestellt werden.

Durch die ausführlichen Kommentare zu den Python-Skripten in den Jupyter Notebooks sollte die Funktion der Codeblöcke auch ohne Python Programmierkenntnisse verständlich sein. Python-Kenntnisse sind daher von Vorteil, aber nicht unbedingt notwendig.

Einführungen in Python

Im Rahmen dieser OER können wir keine Einführung in die Programmierung mit Python geben. Für einen Einstieg in Python und die Arbeit mit Datensätzen ist etwa der Kurs Python Programming MOOC 2024 der Universität Helsinki zu empfehlen. Eine deutschsprachige Einführung die für Geschichtswissenschaftler:innen konzipiert wurde findet sich unter Python für Historiker:innen.

Die Jupyter Notebooks sind im Inhaltsverzeichnis durch ein Raketensymbol 🚀 gekennzeichnet. In der OER werden sie zunächst als normale Textkapitel dargestellt. Für den besten Lernerfolg empfehlen wir jedoch, die Jupyter Notebooks in einer entsprechenden Umgebung zu öffnen und die einzelnen Codeblöcke nacheinander auszuführen.

Ausführen von Jupyter Notebooks

Ein Ausführen von Jupyter Notebooks ist in ganz unterschiedlichen Umgebungen möglich. In den Quadriga Lernhinweisen und im Abschnitt zu technischen Grundlagen dieser OER finden Sie genauere Informationen hierzu. Kurze Erläuterungen finden sich auch am Anfang der jeweiligen Notebooks.

Als zu untersuchendes Filmkorpus bei der praktischen Umsetzung der Workflows in den Notebooks sollen dabei die Filme Konrad Wolfs dienen. Bei dieser Umsetzung werden wir jedoch nicht mit den kompletten Filmen Konrad Wolfs, sondern lediglich mit Trailern zu seinen Filmen arbeiten. Dies hat zunächst rechtliche Gründe. Damit die Prozesse bei der automatisierten Annotation von den Lernenden selbst praktisch nachvollzogen werden können, möchten wir im Rahmen der OER entsprechende Videodateien zu Übungszwecken zum freien Download zur Verfügung stellen. Dies ist aufgrund der urheber- und nutzungsrechtlichen Bestimmungen für die Filme Konrad Wolfs leider nicht möglich. Die DEFA-Stiftung hat uns aber für die Bereitstellung der Videodaten zu den Film-Trailern die Genehmigung erteilt, wofür wir uns herzlich bedanken möchten. Die Trailer sind dabei von der für die OER geltenden CC BY-SA 4.0 Lizenz ausgenommen. Beachten Sie daher bitte folgenden Hinweis:

Wichtiger Hinweis zur Verwendung der Trailer

Die Verwendung und die Möglichkeit des Downloads der Trailer zu den Filmen Konrad Wolfs im Rahmen dieser OER erfolgt mit freundlicher Genehmigung der DEFA-Stiftung als ausschließliche Rechteinhaberin. Die Trailer sind von der freien CC-Lizenzierung dieser OER ausgenommen. Die Bearbeitung der Dateien zu wissenschaftlichen, Analyse- und Lehrzwecken im Rahmen dieser OER ist gestattet. Jede darüber hinausgehende Nutzung, Veränderung und Verwertung bedarf einer vorherigen Lizenzvereinbarung.

Die Arbeit mit den Trailern statt mit den kompletten Filme in Form von Videodateien hat zudem den Vorteil, dass die Verarbeitungszeiten für die automatisierte Annotation in einem angemessenen Rahmen bleiben sollten. Prozesse der Computer Vision und damit auch Annotationsprozesse zu Videodateien können sehr rechenintensiv sein und daher auch relativ viel Zeit in Anspruch nehmen. Auf dieses Problemfeld werden wir im Kapitel zu dem technischen Grundlagen noch genauer eingehen.

Annotationsdaten für das Kapitel Auswertung

Auch wenn wir in diesem Kapitel die konkrete Umsetzung der Annotationen in den Jupyter Notebooks anhand der Trailer demonstrieren werden, stellen wir dennoch für das nächste Kapitel zur Auswertung Annotationsdaten für komplette Filme Konrad Wolfs zur Verfügung. Diese wurden auf die in der OER vorgestellten Art und Weise automatisiert mit den Jupyter Notebooks erstellt. So können mögliche Auswertungsprozesse besser nachvollzogen und geübt werden.

Als Annotatiosdaten ergeben sich Angaben zu Beginn, Ende und Länge von Einstellungen in den Videodateien, sowie Informationen zu den Zeitpunkten des Auftretens einzelner Figuren in den Videos. Die genaue Form der Ausgabe der Annotationsdaten wird in den einzelnen Abschnitten zu den konkreten Annotationen besprochen. Die Annotationsdaten werden im csv-Format abgespeichert, das in vielen anderen Programmen für eine detaillierte Auswertung eingelesen und verwendet werden kann. Zusätzlich werden .eaf-Dateien erzeugt, die ebenfalls die Annotationsdaten enthalten und in Tools zur Filmanalyse wie VIAN importiert und weiter bearbeitet werden können. VIAN und dessen Rolle in unserem Workflow wird im Kapitel zu den technischen Grundlagen noch genauer vorgestellt.

In den nun folgenden Abschnitten legen wir zunächst die allgemeinen Schritte unseres Workflows zur Einstellungs- und Figurenerkennung dar, bevor genauer auf die Auswahl der verwendeten vortrainierten Analysemodelle eingegangen wird. Auf die Erläuterung der notwendigen technischen Grundlagen folgen die Abschnitte in denen zunächst die Einstellungserkennung durchgeführt wird, die sich in eine Einführung, ein Abschnitt mit dem entsprechenden Python Code in Form eines Jupyter Notebooks und die Sichtung der Annotationsergebnisse mit VIAN aufgliedern. Darauf folgen die Abschnitte zur Figurenerkennung, ebenfalls mit Einführung, Code und Sichtung.

Prinzipiell ist eine automatisierte Annotation von Filmen auch mit bereits existierenden Softwarelösungen und Tools möglich. In VIAN ist z.B. die automatisierte Erkennung von Einstellungen integriert und TIB-AV-Analytics (TIB-AV-A) vereint in einer Weboberfläche diverse automatisierte Annotationsmöglichkeiten mithilfe unterschiedlicher Analysemodelle, so z.B. auch die Erkennung von Figuren in Videodateien. Auf TIB-AV-Analytics wurde im Kapitel zu möglichen Einsatzbereichen von Computer Vision für die Filmanalyse eingegangen, ebenso auf das Distant Viewing Toolkit von Taylor Arnold und Lauren Tilton.

Der Vorteil solcher Tools und Softwarelösung ist die meist einfache Zugänglichkeit und Bedienbarkeit. Insbesondere Tools mit grafischen Benutzeroberflächen sind oft sehr intuitiv bedienbar und liefern schnell erste Ergebnisse. Der Nachteil ist jedoch, dass die konkreten Verfahren zur Analyse oft intransparent bleiben, also nicht immer klar ist, welche Modelle für die Erkennung bestimmter Eigenschaften auf welche Art und Weise verwendet wurden. Auch können einzelne wichtige Parameter wie Schwellenwerte in fertigen Softwarelösungen in der Regel nicht einfach selbst konfiguriert werden.

Für unsere OER haben wir uns daher entschieden, den Fokus nicht auf die Bedienung einzelner Analysetools zu legen, sondern auf die Entwicklung von eigenen, für eine Fragestellung passenden Workflows - hier die Erkennung und Annotation von Einstellungen und Figuren in Filmen und Videos. Uns ist dabei wichtig, dass die hierfür notwendigen grundsätzlichen Abläufe und Funktionsweisen verstanden und erlernt werden. Daher arbeiten wird in der OER mit Python-Code und nicht mit fertigen Tools. Dies ermöglicht auch eine größere Kontrolle und Konfigurierbarkeit, indem verschiedene Parameter wie Schwellenwerte und Speicherorte selbst eingestellt werden können. Zudem ist transparent, welche Modelle aus welchen Gründen verwendet wurden und prinzipiell können diese Modelle auch durch andere, aktuellere oder für andere Fragestellungen passendere Modelle ausgetauscht werden. Nach dem Bearbeiten der entsprechenden Abschnitte der OER sollte es den Lernenden möglich sein, den vorliegenden Python-Code für eigene Annotationsprojekte zu nutzen und ggf. entsprechen zu adaptieren.

Hinweis zum Aufbau der Jupyter Notebooks

Jupyter Notebooks können als eigenständige Dateien in verschiedenen Umgebungen ausgeführt werden. Daher sind die Jupyter Notebooks in dieser OER so konzipiert, dass sie für sich selbst stehen und unabhängig voneinander verwendet werden können. Daraus ergibt sich, dass sich in den Notebooks Wiederholungen von Codeblöcken und Kommentartexten finden, ohne dass explizit auf andere Notebooks verwiesen wird.

Im folgenden Abschnitt werden nun die Schritte des Workflows dargelegt.