Update vom 19.09.2021
- Inhaltlich überarbeitet, Aktualisierung auf neue Software-Standards
- Hinweis auf DeepFaceLive integriert
Deepfakes schnell und einfach erstellen - das geht mit Programmen wie Reface oder DeepFaceLab. So benutzt ihr sie.
Als im Herbst 2017 das erste Mal im großen Stil Deepfake-Videos auftauchten, war klar: Künstliche Intelligenz ist aus den hochgezüchteten Serverfarmen bei Heimnutzern angekommen.
Anfang 2018 verbreitete sich die “FakeApp”, mit der Nutzer relativ einfach Gesichter in Videos austauschen können. Neben Nicolas-Cage-Fakes wurde die App vor allem für Fake-Pornos von Prominenten genutzt. Das sorgte für Proteste im Internet. Am Ende wurden entsprechende Unterforen und Kanäle bei Reddit sowie weitere Plattformen gelöscht. Die offizielle FakeApp-Website ist mittlerweile nicht mehr erreichbar.
Doch die Dose der Pandora blieb offen und Alternativen zur FakeApp entstanden. Einige haben aus den Fehlern der ersten Deepfake-App gelernt. Einfach zu bedienende Apps wie Reface (früher Doublicat) oder Impressions verbieten explizit fragwürdige Videos oder setzen auf automatische Erkennung und Blockierung solcher Inhalte.
Solche Apps schaffen ansehnliche Deepfakes in wenigen Minuten. Doch wer wirklich glaubwürdige Deepfakes möchte, greift zur derzeit besten Deepfake-Software DeepFaceLab. Wir zeigen euch den Weg zum eigenen, überzeugenden Deepfake.
Reface & Impressions: Der schnellste Weg zum eigenen Deepfake
Beide Apps haben Deepfakes erfolgreich in den Mainstream gebracht: Reface ist eine der meist heruntergeladenen Android-Apps und laut Entwickler Neocortext unter den Top-5-Apps in knapp 100 Ländern.
Reface erlaubt es, mit wenig Aufwand das eigene Gesicht als Deepfake über eine ganze Reihe von Videos im GIF-Format zu legen - vollständig automatisiert. Die Nutzung ist leicht: App herunterladen, Selfie machen oder Foto einer Person hochladen und eines von unzähligen Videos auswählen. Eigene Videos lassen sich auch auswählen, sofern ein Premium-Account vorhanden ist.
Per Knopfdruck lädt die App das Foto in die Google-Cloud und ein GAN-Netzwerk tauscht in wenigen Sekunden das Gesicht im Zielvideo aus. Laut Neocortext werden die Nutzerfotos spätestens nach einer Stunde gelöscht.
Impressions verfolgt einen anderen Ansatz: Nutzer drehen kurze Videos und tauschen ihr eigenes Gesicht mit dem eines Prominenten aus. Die App bietet eine ganze Reihe solcher vorgefertigten Profile zur Auswahl, von Nicolas Cage bis Barack Obama.
Der Gesichtertausch in Impressions dauert je nach Account-Status einige Minuten bis eine halbe Stunde. Premium-Nutzer werden bevorzugt und können unbegrenzt Videos erstellen.
Die Technologie von Reface und Impressions ist Deepfake-Fastfood: Leicht zu bekommen, schnell gemacht und das Ergebnis kann täuschen, wenn man nicht zu genau hinsieht. Wer allerdings mehr will und die Qualität der Deepfake-Videos großer YouTube-Kanäle erwartet, ist hier falsch.
DeepFaceLab 2.0: Die beste Deepfake-App
DeepFaceLab bietet zwar kein nutzerfreundliches Interface wie Reface, aber dafür aktuellere Algorithmen und mehr Einstellungsmöglichkeiten, die bessere Ergebnisse ermöglichen.
Der größte Unterschied: Während etwa Reface für jeden Gesichtstausch das gleiche KI-Modell nutzt, könnt ihr mit DeepFaceLab einen eigenen Algorithmus für jedes Gesicht trainieren.
Eine funktionsfähige Version von DeepFaceLab für Windows gibt es kostenlos bei Github. Sie setzt auf Googles Machine-Learning-Framework TensorFlow und benötigt eine Nvidia-Grafikkarte. Ältere Versionen sind mit AMD-Karten kompatibel.
Mit DeepFaceLive gibt es mittlerweile einen Ableger für DeepFaceLab, mit dem sich Deepfakes in Live-Streaming und Videokonferenz-Anwendungen integrieren lassen. DeepFaceLive beruht auf DeepFaceLab und ist ebenfalls als Open Source bei Github verfügbar.
DeepFaceLab 2.0: In vier Schritten zum eigenen Deepfake
DeepFaceLab bietet kein klassisches Desktop-Interface. Stattdessen müsst ihr die Software über einige .bat-Dateien ausführen, die ihr im heruntergeladenen Ordner findet. Damit könnt ihr alle notwendigen Deepfake-Arbeitsschritte ausführen. Per Klick wird der in der .bat-Datei hinterlegte Python-Code ausgeführt.
Schritt 1: Trainingsdaten vorbereiten (15 bis 30 Minuten)
Für den Deepfake müssen zuerst Quell- und Zielvideo festgelegt und im Workspace-Ordner von DeepFaceLab hinterlegt werden. Das Quellvideo („data_src.mp4“) liefert das Gesicht, das ihr faken und über das Zielvideo („data_dst.mp4“) legen wollt. Alternativ könnt ihr statt eines Quellvideos einen fertigen Gesichtsdatensatz nutzen.
Für meine Demonstration nutze ich die mitgelieferten Videos von Robert Downey Jr. und Elon Musk. Nachdem beide Videos bereitstehen, müssen sie in einzelne Bilder aufgeteilt und anschließend die jeweiligen Gesichter erkannt und in separate Fotos extrahiert werden. Für jeden Arbeitsschritt gibt es eine eigene .bat-Datei für Quell- und Zielvideo.
Bei der Aufteilung kann es je nach Länge des Quellvideos reichen, nur jedes zweite oder vierte Bild abzugreifen. Für das Zielvideo muss jedoch jedes einzelne Bild aufgeteilt werden, da schließlich in jedem Bild das Gesicht ausgetauscht werden soll.
Gesichter extrahieren & überprüfen
Nachdem das Video aufgeteilt wurde, extrahiere ich die Gesichter. DeepFaceLab bietet drei Möglichkeiten: „Face“ umfasst das Gesicht ohne Stirn, „Whole face“ das Gesicht inklusive Stirn und „Head“ umfasst eine per Hand festgelegte Fläche. Das erlaubt etwa auch Haare mit in den Deepfake zu übernehmen. Dafür muss allerdings das XSeg-Werkzeug genutzt werden, um per Hand in einigen Dutzend Fotos die gewünschte Gesichtsmaske zu markieren. Anschließend kann ein XSeg-Netz trainiert werden, das anhand der Beispiele lernt, den Kopf auf den restlichen Fotos auszuschneiden. „Head“ ist also wesentlich arbeitsintensiver und auch nach dem Training des XSeg-Netzes muss häufig noch einmal per Hand nachgearbeitet werden.
Ich wähle daher „Whole face“ und überprüfe anschließend die Fotos mit dem mitgelieferten XnView-Werkzeug, das ich über eine eigene .bat-Datei starte. In der Ansicht werden alle Gesichts-Bilder angezeigt. Unscharfe Bilder und Bilder, in denen das Gesicht verdeckt oder über den Bildrand geht, sollten gelöscht werden.
Profis nutzen üblicherweise Datensätze von circa 5.000 Gesichtsfotos aus unterschiedlichen Winkeln. Je besser der Datensatz, desto besser das Ergebnis. Für meinen Test habe ich lediglich 650 Fotos verwendet. Da mein Zielvideo jedoch eine Frontalaufnahme von Elon Musk mit wenig Änderungen im Aufnahmewinkel oder Beleuchtung ist, reicht die geringe Datenmenge dennoch für ein akzeptables Ergebnis.
Das klappt super, nur wenige Bilder zeigen kein Gesicht. Die lösche ich manuell. Meine Trainingsdaten sind bereit.
Schritt 2: KI-Training (circa 17 Stunden)
Nun beginnt das eigentliche Training der KI, an dessen Ende ein ausgereiftes Deepfake-Modell stehen soll. Ich trainiere mein Modell komplett neu, um das Vorgehen zu dokumentieren.
Es ist jedoch meist einfacher, ein bereits vortrainiertes Modell herunterzuladen, das den eigenen Wünschen und der eigenen Hardware entspricht. Das Modell kann anschließend auf den Wunsch-Deepfake spezialisiert werden. Der Trainingsablauf ist identisch zum beschriebenen Vorgehen. Es muss lediglich die Variable „pretrain“ in den Einstellungen des Algorithmus vor dem Trainingsstart auf „false“ gesetzt werden.
Erste Trainingsrunde
DeepFaceLab bietet zwei verschiedene Algorithmen, die unterschiedliche Hardware-Anforderungen haben und verschiedene Ergebnisse liefern. Ich wähle den empfohlenen SAEHD-Algorithmus. Der produziert die glaubwürdigsten Fakes, braucht aber starke Hardware. Der Quick96-Algorithmus wird nur für schnelle Experimente empfohlen.
Vor dem Training lässt sich der Algorithmus mit zahlreichen Einstellungen modifizieren. Ich wähle eine Auflösung von 256 x 256 Bildpunkten für das generierte Gesicht im Modus „Whole face“, die Anzahl gleichzeitig trainierte Bilder setze ich auf drei (Batch-size). Höhere Auflösungen oder Batch-Größen brauchen mehr GPU-Speicher. Ich trainiere auf meiner RTX 3060 Ti mit 8 Gigabyte.
Ich aktiviere außerdem „random_flip“ und „random_warp“. Dadurch spiegelt und verändert der Algorithmus die Trainingsfotos zufällig. Das macht das KI-Training abwechslungsreicher und verbessert das Ergebnis. Alle anderen Einstellungen verändere ich nicht.
Das Training beginnt und ich kann den Fortschritt in Zahlen und Bildern beobachten. Am Anfang sehe ich nur schwammigen Pixelbrei. Nach einigen Iterationen zeichnen sich erste Gesichter ab. Die gängige Empfehlung für ein gutes Ergebnis sind 50.000 – 100.000 Iterationen plus eventuelles Nachtraining.
Nachtraining für ein besseres Ergebnis
Ich mache nach etwa 45.000 Iterationen eine Pause und verändere ein paar Einstellungen, um das Ergebnis zu verfeinern. Ich deaktiviere „random_warp“ und aktiviere „eyes_mouth_prio“. Das hilft bei Mund- und Augenposition.
Die deutlichste Verbesserung bringt die Option „gan_power“. Die zwingt das neuronale Netz, feine Details im Gesicht zu lernen. Ich stelle den Wert auf 0.15 und starte das Training erneut. Schon nach etwa 2.500 Iterationen werden die Deepfake-Gesichter in der Vorschau deutlich schärfer.
Nach knapp 100.000 Iterationen und etwa 17 Stunden stoppe ich das Training. Auf den Bildern sind deutlich die Gesichter von Elon Musk und Robert Downey Jr. zu erkennen.
Mein KI-Modell ist bereit.
Schritt 3: Das Gesicht kopieren (circa 20 Minuten)
Nun wende ich das KI-Modell für meinen Deepfake an: Ich starte den Konvertierungsbefehl („merge SAEHD.bat“). Falls gewünscht, legt die KI jetzt vollautomatisch passende Downey-Jr.-Gesichter über alle extrahierten Bilder des Ziel-Videos.
Ich wähle jedoch den „Interactive Merger“ aus. Der Merger öffnet sich in einem separaten Fenster. Dort können über die Tastatur alle Bilder per Hand nachbearbeitet werden. So lassen sich etwa verschiedene Farbprofile für das Fake-Gesicht wählen, das gesamte Bild oder nur das Gesicht mit Schärfe- oder Unschärfeeffekten verändern oder die Größe des Gesichts ändern.
Ich passe die Farbe an und lege etwas Unschärfe über das Gesicht – mein Deepfake-Robert ist nämlich schärfer als der Rest des Musk-Videos.
Nachdem ich mit dem Ergebnis zufrieden bin, führe ich die Konvertierung zu Ende. Nun habe ich knapp 1.600 einzelne Bilder mit ausgetauschten Gesichtern.
Schitt 4: Das Video zusammensetzen (5 Minuten bis mehrere Tage)
Spätestens an diesem Punkt gehen Profi und Amateure verschieden Wege. Während ich per Doppelklick in wenigen Minuten alle Fotos automatisiert per .bat-Datei zusammensetzen lasse, nutzten Profis Compositing-Software wie Adobe After Effects oder Davinci Resolve, um etwa Übergänge zwischen Fake-Gesicht und Kopf zu verschönern oder die Farbgebung in dynamischer Beleuchtung anzupassen.
Je nach Länge und Art des Clips kann das mehrere Stunden bis einige Tage in Anspruch nehmen. Eine Anleitung für den Profi-Prozess gibt es auf YouTube.
Fazit: Deepfake 2019 vs. 2021 - bessere Qualität bei geringerem Trainingsaufwand
Doch selbst ohne Profi-Werkzeug, riesigen Datensatz und vortrainiertes Modell: Mein neuer Deepfake ist ein deutlicher Schritt nach vorne gegenüber meinem ersten Versuch mit Deepfacelab 1.0.
Deepfake 2019
Deepfake 2021
Das zeigt, dass die Fortschritte der letzten Jahre bei Künstlicher Intelligenz die Erstellung glaubwürdiger Deepfakes deutlich leichter gemacht haben. DeepFaceLab 2.0 bietet höhere Auflösungen, feinere Details im Gesicht, effizienteres Training und viele andere Verbesserungen gegenüber der ersten Softwareversion.
Zugänglicher ist DeepFaceLab jedoch nicht geworden. Der gerade entstehende „Machine Video Editor“ will das ändern: Er integriert DeepFaceLab mit anderen Videobearbeitungsfeatures und bietet ein Interface, das die einzelnen Funktionen zusammenbringt. Die Entwicklung des Editors steht zwar noch am Anfang und es gibt nicht einmal eine rudimentäre Bedienungsanleitung. Doch in ein paar Monaten könnten solche KI-Editoren das Deepfaken gerade Anfängern stark erleichtern.
Keine schnelle Nvidia Grafikkarte? Kein Problem
Wer keine Nvidia-Karte oder nur eine langsame GPU hat, kann DeepFaceLab auch über Googles Colab nutzen. Colab ist ein kostenloses Jupyter Notebook, das Computer-Code und Textelemente enthalten kann und in der Cloud läuft.
So könnt ihr jeden erdenklichen Code ausführen – auch DeepFaceLab. Google erlaubt bis zu zwölf Stunden KI-Training am Stück. Das entsprechende Colab-Notebook findet ihr hier. Eine ausführliche Anleitung für die Einrichtung steht im mrdeepfakes-Forum.
Das Training per Colab richtet sich allerdings an diejenigen, die den grundlegenden Deepfake-Prozess bereits verstanden haben. Anfänger werden sich mit dem Cloud-Training schwertun und sollten zunächst mit lokalem Training experimentieren oder sich ausführlich in Colab und das Deepfake-Training einlesen.