Sprachen

Manipulation - SS 2017, WS 2017/2018

Thema: 

Entwicklung und kritische Beleuchtung eines Frameworks zur Extraktion und Übertragung semantischer Information zwischen Videos

Zeitraum: 

SS 2017, WS 2017/2018

Umfang: 

8 SWS pro Semester

Veranstalter: 

Prof. Dr. Kristian Kersting, Informatik VIII (Künstliche Intelligenz),
Jan Eric Lenssen, Informatik VII (Graphische Systeme),
Elena Erdmann, Informatik VIII (Künstliche Intelligenz)

Thematik: 

Längst haben wir uns daran gewöhnt, in Magazinen und Werbung mit Photoshop manipulierte Bilder und Körper zu sehen. Da wird hier die Haut verjüngt, da ein Speckröllchen wegretuschiert oder gleich ein Mensch zum Fliegen gebracht. Mit Snapchat hat auch die Videomanipulation Einzug in die Smartphones seiner Nutzer gehalten. Snapchats Gesichtserkennung, die es ermöglicht sich Hasenohren, riesige Augen oder gleich das Gesicht eines Freundes anzuzaubern, begeistert weltweit ein Millionenpublikum. Doch die Möglichkeiten enden lange nicht bei Snapchats harmlosen Spielereien. Mittlerweile gibt es etwa Technologien zur Live-Manipulation von Videos [1], die in Echtzeit Mimik und Gestik einer Person auf das Videobild einer zweiten Person übertragen. Mit Wavenet [2] liefert Google zusätzlich eine Technologie, die es ermöglicht einen beliebigen Text von einer zuvor gelernten Stimme vorlesen zu lassen. Adobe zieht nach und veröffentlicht eine kommerzielle Software, die einem Menschen nur 20 Minuten zuhören muss, um in seiner Stimme jeden beliebigen Text vorzulesen. Was macht diese Manipulation mit uns? Welche Möglichkeiten werden dadurch eröffnet? Werden wir bald unsere Sprache in Echtzeit von Computern übersetzen lassen? Können wir unsere zukünftigen Kleidungsstücke und Haarschnitte in einer virtuellen Umkleidekabine anprobieren? Werden Filme in Zukunft durch nur einen Klick in jeder beliebige Sprache synchronisiert? Werden so bald virtuelle Welten entstehen und Maschinen wie Menschen kommunizieren? Neben den vielen Möglichkeiten birgt die Manipulation von Inhalten im Netz durchaus auch problematisches Potential. Schon ein aus dem Kontext gerissener Mittelfinger des ehemaligen griechischen Finanzministers Varoufakis sorgte Anfang 2016 für einen großen Skandal. Nicht zuletzt eröffnen die diskutierten Techniken weitaus realistischere Methoden zur Propaganda als das in sozialen Netzwerken gehypte Foto des bärenreitenden russischen Präsidentens Putin.

4.1 Ziele

Das Primärziel der PG ist die technische Realisierung eines Frameworks zur Manipulation von Videos in Echtzeit. Vorgesehen ist dabei eine Manipulation durch Mimiktransfer, Gestiktransfer und, falls zeitlich möglich, Stimmentransfer. Der Aufbau des Frameworks gliedert sich in drei Teile:

  • Konzeption eines Modells der zugrundeliegenden Daten zur Trennung von semantischer Information und Kontext-Information
  • Extraktion der semantischen Information des ersten Videos durch Modellanpassung oder Methoden des Deep Learning
  • Synthese durch Kombination der semantischen Information des ersten mit der Kontextinformation des zweiten Bildes
Im Zuge der Implementierungen kann für die einzelnen Komponenten des Frameworks, soweit verfügbar, auf existierende kommerzielle und freie Software zurückgegriffen werden. Durch die eigene Umsetzung ist jedoch eine höhere Flexibilität für die spätere Auseinandersetzung mit der Thematik gegeben. Außerdem ist insbesondere für die Mimikübertragung bisher keine Software verfügbar. Anschließend soll eine künstlerische Auseinandersetzung mit dem erarbeiteten Framework stattfinden. Die Studenten sollen die Technik durchaus kritisch beleuchten und anschließend im Rahmen einer Ausstellung ihre Arbeiten präsentieren. Die Ausstellung konfrontiert ihre Besucher mit den Möglichkeiten einer manipulierten Gesellschaft. Der Besucher findet sich in einer dystopisch anmutenden Videoinstallation, in der er schließlich sein eigenes Bild manipuliert und fremdgesteuert findet. 5. Teilnahmevorraussetzungen: Für die Teilnahme an der Projektgruppe sind Programmierkenntnisse mit Schwerpunkten in C++ und/oder Python notwendig. Weiterhin sollten Vorkenntnisse in Bildverarbeitung, Optimierung, maschinellem Lernen oder Mensch-Maschine-Interaktion vorhanden sein. Ein Bonus sind Erfahrungen mit den GPU Schnittstellen CUDA oder OpenCL. Weiterhin wird von den Studierenden Engagement und die Motivation künstlerisch zu arbeiten erwartet. 6. Minimalziele: Erstellung eines Frameworks zur Videomanipulation: 1. Konzeption eines Modells der zugrundeliegenden Daten zur Trennung von semantischer Information und Kontext-Information. 2. Extraktion der semantischen Information des ersten Videos durch Modellanpassung oder Methoden des Deep Learning. 3. Synthese durch Kombination der semantischen Information des ersten mit der Kontextinformation des zweiten Bildes. Als Beispielanwendung soll die Übertragung der Mimik von einem Sprecher auf einen anderen realisiert werden. Die Echtzeitfähigkeit ist nicht Teil des Minimalziels. Zusätzlich soll eine Installation entworfen und erstellt werden.

4.2 Methodik und technische Anforderungen

Zur Realisierung des Mimiktransfers wird ein modell-basiertes Framework gewählt, durch den die Kontextinformation des einen mit der semantischen Information (Mimik) des anderen Videos kombiniert wird. Abbildung 1 illustriert diesen Ansatz. Die Realisierung einer Installation zur Echtzeit-Manipulation von Personen und Gesichtern stellt technische Herausforderungen in verschiedensten Gebieten der angewandten Informatik. Im Zentrum stehen dabei die Extraktion von semantischer Information aus einem gegebenen Medium und die anschließende Übertragung dieser Information in einen anderen Kontext. Einige dafür relevante Themen werden im Folgenden kurz vorgestellt.

Modellbildung und Optimierung Um komplexe semantische Information aus einem Video zu extrahieren, ist die Konzeption eines geeigneten Modells und dessen Parametrisierung notwendig. Die Auseinandersetzung mit dieser Fragestellung beinhaltet die Entwicklung eines solchen Modells, welches durch extrahierte Information parametrisiert werden kann [1]. Methoden zur Anpassung des Modells an Beispieldaten durch Methoden der Optimierung müssen evaluiert und angewendet werden [3].

Computer Vision und Deep Learning Im Bereich der Erkennung und Extraktion von semantischer Information aus Bildern haben Verfahren aus dem Bereich Deep Learning (insbesondere Convolutional Neural Networks) in den letzten Jahren für großen technischen Fortschritt gesorgt. Konkret bieten sie die Möglichkeit zur Posenerkennung in Videos und Bildern [6] sowie zur semantischen Segmentierung und Klassifikation [4,5]. Sie stellen dementsprechend eine Alternative zur klassischen Modellanpassung dar und können auf ihre Anwendbarkeit im Kontext hin untersucht werden.

Bildsynthese Das Ziel ist die Generierung von glaubhaften Bildern durch Kombination von Kontext und semantischer Information (gegeben zum Beispiel durch ein parametrisiertes Modell) aus verschiedenen Quellen. Ein mögliches Verfahren wären die Synthese durch optimierte Kombination von Teilbildern aus einer Datenbank. Außerdem ist hier ebenfalls die Anwendung von Convolutional Neural Networks denkbar, wie durch gute Ergebnisse im Bereich der Bildsynthese gezeigt wird [7].

Parallele Algorithmen und Datenverarbeitung auf GPUs Zur echtzeitfähigen Berechnung der entwickelten Algorithmen und Methoden ist die Ausführung auf aktuellen Graphics Processing Units (GPUs) unabdingbar. GPUs bieten die Möglichkeit zur hoch-parallelen Berechnung, welche insbesondere durch viele Bildverarbeitungsalgorithmen optimal ausgenutzt wird. Konkret werden die Schnittstellen CUDA und/oder OpenCL (siehe [8,9]) verwendet, um die entwickelte Methodik auf GPUs ausführen zu können. Für Convolutional Neural Networks stehen außerdem offene Frameworks wie Caffe und Tensorflow [10,11], welche CUDA verwenden, bereit.

Softwarearchitektur Zur Entwicklung eines generellen Frameworks für Bildmanipulation müssen oben genannte Module als Teil einer zusammenhängenden Software realisiert werden. Es ergeben sich übliche Problemstellungen im Bereich des Software-Engineerings, welche im Team gelöst werden müssen. Dazu gehört die Planung und Spezifikation des Frameworks sowie die plangetreue Umsetzung dieser durch kleine Teams.

Praktische und künstlerische Herausforderungen Neben der technischen Leistung stellt auch die Kuration einer Ausstellung der eigenen Arbeiten die Studierenden vor neue Herausforderungen. In der Vorbereitung der Ausstellung sind die Studierenden gezwungen, ein vielfältiges Aufgabenspektrum zu koordinieren. Dazu gehören die Beschaffung und Auswahl von Requisiten und technischer Ausstattung. Die in der ersten Phase entstandenen Programme müssen auf dieser Hardware zum Laufen gebracht werden. Insgesamt sollen die hochtechnisierten Arbeiten so aufbereitet werden, dass sie ein breites Spektrum an Ausstellungsbesuchern ansprechen. Dazu müssen die Manipulationen nicht zuletzt auch inhaltlich gründlich geplant und gestaltet werden.

5. Teilnahmevorraussetzungen:

Für die Teilnahme an der Projektgruppe sind Programmierkenntnisse mit Schwerpunkten in C++ und/oder Python notwendig. Weiterhin sollten Vorkenntnisse in Bildverarbeitung, Optimierung, maschinellem Lernen oder Mensch-Maschine-Interaktion vorhanden sein. Ein Bonus sind Erfahrungen mit den GPU Schnittstellen CUDA oder OpenCL. Weiterhin wird von den Studierenden Engagement und die Motivation künstlerisch zu arbeiten erwartet.

6. Minimalziele:

Erstellung eines Frameworks zur Videomanipulation: 1. Konzeption eines Modells der zugrundeliegenden Daten zur Trennung von semantischer Information und Kontext-Information. 2. Extraktion der semantischen Information des ersten Videos durch Modellanpassung oder Methoden des Deep Learning. 3. Synthese durch Kombination der semantischen Information des ersten mit der Kontextinformation des zweiten Bildes. Als Beispielanwendung soll die Übertragung der Mimik von einem Sprecher auf einen anderen realisiert werden. Die Echtzeitfähigkeit ist nicht Teil des Minimalziels. Zusätzlich soll eine Installation entworfen und erstellt werden.

7. Literatur:

[1] Thies, Justus, et al. "Face2face: Real-time face capture and reenactment of rgb videos." Proc. Computer Vision and Pattern Recognition (CVPR), IEEE 1 (2016).

[2] Oord, Aaron van den, et al. "WaveNet: A generative model for raw audio." arXiv preprint arXiv:1609.03499 (2016).

[3] Saragih, Mason M., et al. “Deformable Model Fitting by Regularized Landmark Mean-Shift”, International Journal of Computer Vision, 2011, 91:2, pages 200-215.

[4] Krizhevski, Alex, et al. “ImageNet Classification with Deep Convolutional Neural Networks.” Advances in Neural Image Processing Systems 25, 2012, pages 1097-1105

[5] Long, Jonathan, et al. “Fully convolutional networks for semantic segmentation.” Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pages 3431-3440.

[6] Toshev, Alexander, et al. “DeepPose: Human Pose Estimation via Deep Neural Networks.” Conference on Computer Vision and Pattern Recognition (CVPR), 2014, pages 1653-1660.

[7] Li, Chuan, et al. “Combining Markov Random Fields and Convolutional Neural Networks for Image Synthesis.” arXiv preprint arXiv:1601.04589 (2016).

[8] NVIDIA Corporation (2010), “NVIDIA CUDA C Programming Guide”, Version 3.2

[9] Stone, John E., et al. “OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems”, IEEE Design & Test, 2010, 12:3, pages 66-73.

[10] Yangqing et al., et al. “Caffe: Convolutional Architecture for Fast Feature Embedding”, arXiv preprint arXiv:1408.5093, (2014).

[11] Abadi, Martin, et al. “Tensorflow: Large-Scale Machine Learning on Heterogeneous Systems”, http://tensorflow.org/ (2015)