So verwenden Sie die stabile Diffusion, um KI-GIFs und -Videos zu erstellen
Veröffentlicht: 2023-02-20Stable Diffusion kann mehr als nur Standbilder erzeugen. Mit einigen integrierten Tools und einer speziellen Erweiterung können Sie ohne großen Aufwand sehr coole KI-Videos erhalten. So generieren Sie Frames für ein animiertes GIF oder eine tatsächliche Videodatei mit Stable Diffusion.
Stabile Diffusion kann Video erzeugen?
Animieren Sie ein Bild mit Inpaint
Schritt 1: Holen Sie sich ein Bild und seine Eingabeaufforderung
Schritt 2: Maskieren Sie die zu animierenden Teile mit InPaint
Schritt 3: Generieren Sie Ihre Frames
Schritt 4: Stapeln Sie Ihre Frames hoch (optional)
Schritt 5: Animieren Sie die Frames in einem GIF oder Video Maker
Erstellen Sie ein Video mit Deforum
Schritt 1: Installieren Sie die Deforum-Erweiterung
Schritt 2: Schreiben Sie Ihre Eingabeaufforderungen
Schritt 3: Deforum-Einstellungen anpassen
Schritt 4: Generieren Sie Ihr Video
Stabile Diffusion kann Video erzeugen?
Während KI-generierter Film noch ein junges Gebiet ist, ist es technisch möglich, einige einfache Animationen mit Stable Diffusion zu erstellen, entweder als GIF oder als tatsächliche Videodatei. Es gibt jedoch Einschränkungen.
Da img2img es einfach macht, Variationen eines bestimmten Bildes zu erzeugen, eignet sich Stable Diffusion gut zum schnellen Erstellen einer Reihe von Frames für Animationen, insbesondere für zyklische. Stellen Sie sich Flammen vor, die aus einem Feuer lecken, Räder, die sich an einem Auto drehen, oder Wasser, das in einem Springbrunnen spritzt. Eine praktische Anwendung könnte darin bestehen, einigen RPG-Kunstwerken ein lebensechtes Ambiente zu verleihen:
Stabile Diffusion
Sie können sogar Videos erstellen, die auf echten Bildern statt auf synthetischen basieren. Hier habe ich eine Pflanze beim Gießen fotografiert und mit wenigen Klicks den Wasserstrahl animiert:
Jordan Gloor / Stabile Diffusion
Wenn Sie ein Objekt so animieren möchten, dass es sich von Punkt A nach Punkt B bewegt, ist das für Stable Diffusion (zumindest im Moment) eine große Herausforderung. Sie würden wahrscheinlich viel Zeit damit verbringen, Eingabeaufforderungen und Einstellungen zu optimieren und dann über einer Tonne Ausgabe zu brüten, um die besten Frames zu finden und sie in der richtigen Reihenfolge zu platzieren. An diesem Punkt können Sie genauso gut Adobe Illustrator ausbrechen und einfach mit der Animation von Hand beginnen.
Trotzdem können Sie einige coole, einfache Animationen mit einem grundlegenden Stable Diffusion-Setup und einem anderen Tool Ihrer Wahl zum Zusammenfügen der Frames in einer Animation erstellen. Es gibt auch ein Projekt namens Deforum, das Stable Diffusion verwendet, um „Morphing“-Animationen zu erstellen, die ziemlich interessant aussehen. Es spuckt ein MP4-Video aus, sodass keine externen Tools erforderlich sind, und Sie können sogar Audio hinzufügen. Wir zeigen Ihnen die Grundlagen beider Methoden.
Hinweis: Für die Zwecke dieses Artikels gehen wir davon aus, dass Sie bereits eine grafische Benutzeroberfläche für Stable Diffusion installiert haben, insbesondere die Stable Diffusion-Webbenutzeroberfläche von AUTOMATIC1111. Im Vergleich zur Standard-Befehlszeileninstallation macht es das Generieren von Bildern viel einfacher und enthält eine Menge praktischer Tools und Extras.
Animieren Sie ein Bild mit Inpaint
Mit dem img2img-Tool Inpaint können Sie den Teil eines Bildes hervorheben, den Sie animieren möchten, und mehrere Variationen davon erstellen. Dann ziehen Sie sie in einen GIF- oder Video-Maker und speichern die Frames als Animation.
Schritt 1: Holen Sie sich ein Bild und seine Eingabeaufforderung
Beginnen Sie, indem Sie ein Bild, das Sie animieren möchten, in die Registerkarte Inpaint des Tools img2img ziehen. Wenn Sie noch keine erstellt haben, nehmen Sie sich etwas Zeit, um eine gute Aufforderung zu schreiben, damit Sie ein gutes Starterfoto erhalten. Sie können auch ein selbst fotografiertes oder gezeichnetes Bild importieren.
Wenn Sie ein Bild importieren, das Sie nicht mit Stable Diffusion generiert haben, benötigen Sie dennoch eine entsprechende Eingabeaufforderung zum Generieren von Variationen. Klicken Sie daher oben auf der Img2Img-Seite auf „CLIP abfragen“. Dadurch wird eine Startaufforderung generiert, die auf dem basiert, was Stable Diffusion für den Inhalt Ihres Bildes hält . Vervollständigen Sie die Eingabeaufforderung, indem Sie weitere wichtige Details hinzufügen.
Für unseren Leitfaden haben wir ein 512×512-Bild eines Roboters unter einem Nachthimmel erstellt, dem wir eine Zeitraffer-Animation mit vorbeiziehenden Sternschnuppen und Galaxien geben möchten.
Wenn Sie genau folgen möchten, können Sie es mit der von uns verwendeten Eingabeaufforderung nachbilden:
Ein Roboter steht auf einem Feld und blickt während eines Meteoritenschauers in den Nachthimmel, Sternschnuppen, Galaxien, den Kosmos, die Milchstraße, ultrarealistisch, hochdetailliert, 4k uhd
Und das sind die Einstellungen, die wir verwendet haben:
Checkpoint: Stable Diffusion 2.0
Sampling-Methode: DPM++ SDE
Abtastschritte: 20
CFG-Skala: 5
Samen: 4177542269
Schritt 2: Maskieren Sie die zu animierenden Teile mit InPaint
Wenn Ihr Bild und Ihre Eingabeaufforderung vorhanden sind, verwenden Sie im Inpaint-Werkzeug den Pinsel, um jeden Teil des Bildes zu maskieren (abzudecken), den Sie animieren möchten. Lassen Sie alles unbedeckt, was Sie statisch wollen.
In unserem Beispiel decken wir den größten Teil des Himmels ab. Wir haben ein wenig Polsterung um den Roboter gelassen, denn in unseren Tests fügte Stable Diffusion dem Roboter manchmal Antennen und andere Anhängsel hinzu, wenn wir ihm zu nahe kamen.
Tipp: Sie können die Inpaint-Pinselgröße mit einem Schieberegler anpassen, indem Sie auf die Pinselschaltfläche in der oberen rechten Ecke der Leinwand klicken.
Schritt 3: Generieren Sie Ihre Frames
Nachdem Sie nun jeden Teil Ihres Bildes maskiert haben, den Sie in Bewegung sehen möchten, ist es an der Zeit, die Frames unserer Animation zu generieren. Aber zuerst sollten Sie sicherstellen, dass img2img die richtigen Einstellungen hat. Sie können verwirrend sein, deshalb erklären wir, was einige von ihnen bedeuten und warum Sie sie möglicherweise optimieren möchten oder nicht:
- Maskenmodus: Inpaint Masked – Dies stellt sicher, dass alles Bedeckte geändert wird und nicht umgekehrt. Wenn Sie aus irgendeinem Grund stattdessen den unmaskierten Teil ändern möchten, ändern Sie ihn in „Inpaint Not Masked“.
- Maskierter Inhalt: Original – Dadurch wird sichergestellt, dass Stable Diffusion das vorhandene Bild sieht und berücksichtigt, wenn es Variationen generiert. Andernfalls wird der maskierte Inhalt als leere oder randomisierte Leinwand betrachtet.
- Inpaint-Bereich: Ganzes Bild – Dies zwingt Stable Diffusion dazu, ein ganz neues Bild für jedes Bild zu erzeugen, bevor es mit dem Originalbild integriert wird. Das Umschalten auf „Nur maskiert“ kann die Generierung beschleunigen, aber auch zu schlechteren Ergebnissen führen.
- Sampling-Methode: DPM++ SDE – Dies ist die gleiche Sampling-Methode, die wir zum Generieren unseres Originalbildes verwendet haben, und wir bleiben dabei, um ein konsistentes Aussehen zu gewährleisten. Wenn Sie nicht wissen, was Sie verwenden sollen, ist „Euler a“ eine rundum gute Wahl.
- Stapelanzahl: 60 – So viele Bilder möchten Sie generieren. Sie benötigen möglicherweise mehr oder weniger, je nachdem, wie schnell und wie lang Ihre Animationssequenz sein soll.
- CFG-Skala: 5 – Die CFG-Skala bestimmt gewissermaßen, wie viel kreative Freiheit Stable Diffusion hat. Je höher die Zahl, desto strenger versucht Stable Diffusion, Ihrer Aufforderung zu folgen. Um es zu erhöhen und gute Ergebnisse zu erzielen, ist eine sehr gute Eingabeaufforderung erforderlich.
- Entrauschungsstärke: 0,3 – Die möglicherweise wichtigste Einstellung für dieses Projekt, die Entrauschungsskala, bestimmt, wie stark Stable Diffusion das Originalbild verändert. Sie sollten es wahrscheinlich bei etwa 0,2 oder 0,3 halten, da zu viele Bild-zu-Bild-Änderungen die Animation ruinieren können.
- Seed: -1 – Dies weist Stable Diffusion an, mit einem zufälligen Seed zu beginnen. Wir empfehlen nicht, den Seed aus Ihrem Originalbild wiederzuverwenden, da dies die Menge an Variationen verringert, die Sie erhalten (falls überhaupt vorhanden).
Klicken Sie mit all Ihren Einstellungen auf „Generieren“ und lehnen Sie sich zurück, während Stable Diffusion Ihre Animationsframes für Sie zeichnet. Sie finden sie im Ordner /outputs/img2img-images
Ihres Stable Diffusion-Verzeichnisses. Wenn Ihnen die Ergebnisse nicht gefallen, optimieren Sie die Einstellungen (wahrscheinlich beginnend mit der Rauschunterdrückungsstärke und den Abtastschritten) und versuchen Sie es erneut.
Schritt 4: Stapeln Sie Ihre Frames hoch (optional)
Wenn Sie vorhaben, ein HD-Video zu erstellen, denken Sie daran, alle Ihre neu generierten Frames auf die gewünschte Auflösung hochzuskalieren. Klicken Sie auf „An Extras senden“, um loszulegen.
Wechseln Sie in den Extras zur Registerkarte „Batch-Prozess“.
Passen Sie die „Resize“-Skala so an, wie oft die Größe geändert werden soll (bei Einstellung auf 2 werden 512×512-Bilder in 1024×1024-Bilder geändert). Wechseln Sie alternativ von „Scale by“ zu „Scale to“ und stellen Sie eine bestimmte Auflösung ein. Stellen Sie auch „Upscaler 1“ auf den Upscaler Ihrer Wahl ein. Wir hatten gute Ergebnisse mit R-ESRGAN 4x+, aber Sie können gerne experimentieren, um zu sehen, welches Ihre Bilder am besten verarbeitet.
Klicken Sie dann auf „Generieren“ und Stable Diffusion gibt Ihnen eine höher aufgelöste Version jedes Frames, die in Ihrem /outputs/extras
Ordner gespeichert ist.
Schritt 5: Animieren Sie die Frames in einem GIF oder Video Maker
Jetzt, da Sie Ihre Frames haben, ist es an der Zeit, sie alle zusammenzufügen und Ihre endgültige Animation zu erstellen. Es gibt viele Tools, mit denen Sie dies tun können, einschließlich kostenloser spezieller Websites wie Ezgif und Flixier, die einfach zu bedienen sind und über viele Feinabstimmungsfunktionen verfügen. Denken Sie jedoch daran, dass diese Websites alles sehen können, was Sie hochladen, also geben Sie ihnen nichts, von dem Sie sich nicht sicher sind, dass die Welt es weiß.
Während diese Websites ziemlich selbsterklärend sind, werden wir demonstrieren, wie Sie ein kostenloses Offline-Fotobearbeitungstool, GIMP, verwenden, um ein GIF zu erstellen. Wenn Sie eine Videodatei möchten, verwenden Sie stattdessen Kdenlive oder einen ähnlichen Video-Editor – stellen Sie einfach sicher, dass Sie die Einstellungen so anpassen, dass alle Ihre Frames als Clips importiert werden, die eine Sekunde oder kürzer sind, je nach gewünschter Anzahl von Frames pro Sekunde.
Laden Sie zunächst GIMP herunter und installieren Sie es auf Ihrem Computer, falls Sie dies noch nicht getan haben. Starten Sie es und gehen Sie dann zu Datei > Als Ebenen öffnen.
Finden Sie heraus, wo sich die von Ihnen generierten Frames befinden, und wählen Sie alle auf einmal aus, bevor Sie auf „Öffnen“ klicken. (Halten Sie die Umschalttaste gedrückt, um schnell mehrere Dateien auszuwählen.) GIMP importiert alle Ihre Bilder als separate Ebene auf einer Leinwand. Wir wollen das, weil die GIF-Generierung von GIMP so funktioniert, dass jede Ebene von unten nach oben durchlaufen wird und jede aufeinanderfolgende Ebene als nächster Frame in der Animation behandelt wird.
Jetzt ist der lustige Teil. Um eine Vorschau Ihres GIFs anzusehen, gehen Sie zu Filter > Animation > Wiedergabe.
Drücken Sie die Leertaste, um das GIF abzuspielen und anzuhalten. Wenn Frames zu schnell oder zu langsam vergehen, passen Sie die FPS unten im Wiedergabedialog an und klicken Sie oben auf die Schaltfläche „Aktualisieren“, um die Vorschau mit der neuen Framerate neu zu laden.
Sobald die Animation für Sie gut aussieht, ist es an der Zeit, die GIF-Datei zu generieren. Schließen Sie die Vorschau und klicken Sie auf Datei > Exportieren als. Wenn Sie den Speichernamen der Datei eingeben, fügen Sie am Ende die Erweiterung .gif
hinzu, damit GIMP weiß, dass Sie ein GIF möchten.
Vergewissern Sie sich, dass im angezeigten GIF-Exportdialogfeld das Kontrollkästchen „Als Animation“ aktiviert ist. Passen Sie auch die Anzahl der Millisekunden zwischen den Bildern an, wenn Sie eine andere Bildrate wünschen. Es gibt 1000 Millisekunden in einer Sekunde, also werden Sie mit 100 ungefähr 10 FPS erreichen. Klicken Sie abschließend auf „Exportieren“.
Boom, du hast dein komplettes animiertes GIF.
Erstellen Sie ein Video mit Deforum
Wenn Sie mit Stable Diffusion interessantere Animationen erstellen und Videodateien statt nur einer Reihe von Frames ausgeben möchten, mit denen Sie arbeiten können, verwenden Sie Deforum. Es ist ein Bildsyntheseprojekt mit einer Erweiterung, die für die Stable Diffusion-Webbenutzeroberfläche verfügbar ist, mit der Sie MP4-Videodateien, sogar mit Audio, leiten und generieren können. Es ist ein sehr leistungsfähiges und komplexes Tool mit vielen Einstellungen zum Experimentieren, darunter Kameraschwenks und Zooms, mehrere Eingabeaufforderungen und Videoimport.
Für unsere Zwecke führen wir Sie nur in die Grundlagen der Generierung einer ziemlich einfachen, aber interessanten Animation ein.
Schritt 1: Installieren Sie die Deforum-Erweiterung
Um die Deforum-Erweiterung zu erhalten, öffnen Sie eine Eingabeaufforderung und wechseln Sie in das Verzeichnis Ihres stable-diffusion-web-ui
Ordners. Verwenden Sie dann diesen Git-Clone-Befehl, um Deforum in Ihrem Erweiterungsordner zu installieren.
Git-Klon https://github.com/deforum-art/deforum-for-automatic1111-webui extensions/deforum
Starten Sie die Web-Benutzeroberfläche von Stable Diffusion wie gewohnt und öffnen Sie die Registerkarte Deforum, die sich jetzt in Ihrer Benutzeroberfläche befindet.
Tipp: Die Deforum-Erweiterung ist bereits mit Standardeinstellungen ausgestattet, sodass Sie sofort auf die Schaltfläche „Generieren“ klicken können, um ein Video zu erstellen, in dem sich ein Kaninchen in eine Katze, dann in eine Kokosnuss und dann in eine Durian verwandelt. Ziemlich cool!
Schritt 2: Schreiben Sie Ihre Eingabeaufforderungen
Sie sind es vielleicht gewohnt, einzelne Eingabeaufforderungen mit Stable Diffusion zu schreiben, aber Deforum lässt Sie mehrere Eingabeaufforderungen schreiben, die „geplant“ sind, was bedeutet, dass an jedem Punkt in der Animation, den Sie wählen, Frames basierend auf der nächsten Eingabeaufforderung im Zeitplan generiert werden.
Klicken Sie auf die Registerkarte „Eingabeaufforderungen“ und ändern Sie die vorhandenen Eingabeaufforderungen nach Belieben, wobei Sie die Klammer- und Registerkartenstruktur beibehalten. Für unser Beispiel verwenden wir diesen Satz von Eingabeaufforderungen:
{ "0": "Ein Roboter steht während eines Meteoritenschauers unter dem Nachthimmel, Sternschnuppen, Galaxien, der Kosmos, Milchstraße, ultrarealistisch, hochdetailliert, 4k uhd", "40": "Eine Raumstation fliegt während eines Meteoritenschauers durchs All, ultrarealistisch, hochdetailliert", "80": "Eine Supernova explodiert, leuchtende Farben, ultrarealistisch, hochdetailliert" }
Was bedeuten diese Zahlen? Standardmäßig generiert Deforum 120 Frames für Ihre Animation, und wir teilen diesen Satz von Frames in drei Teile. 0
steht für das erste Bild, also sind es und alle Bilder danach im2img-Variationen der ersten Eingabeaufforderung. Dann beginnt Stable Diffusion bei Frame 40 damit, Variationen basierend auf unserer zweiten Eingabeaufforderung vorzunehmen. Bei 80 wechselt er in den dritten. Sie können beliebig viele Eingabeaufforderungsänderungen hinzufügen und die maximale Frame-Grenze auf der Registerkarte „Keyframes“ nach Bedarf anpassen.
Schritt 3: Deforum-Einstellungen anpassen
Sie haben wahrscheinlich bereits bemerkt, dass es in Deforum eine Menge Einstellungen gibt, aber wir werden einige durchgehen, um Ihnen den Einstieg zu erleichtern. Zunächst finden Sie auf der Registerkarte „Ausführen“ viele Ihrer typischen Stable Diffusion-Einstellungen. Benennen Sie die Charge um, geben Sie den Seed ein, mit dem Sie beginnen möchten (wir verwenden den für unseren Roboter wieder) und ändern Sie den Sampler in den gewünschten.
Auf der Registerkarte Keyframes können Sie die Bewegung der „Kamera“ für die Animation anpassen. Es ist standardmäßig so eingestellt, dass es in Intervallen zoomt, aber wir möchten eine vertikale „Pan“-Bewegung hinzufügen, also fügen wir 0:(-2), 100:(4)
zum Frame „Translation Y“ hinzu. Das weist Deforum an, den ersten Frame so zu behandeln, dass er sich bei Pixel -2 auf der Y-Achse befindet, und sich dann um Frame 100 zu Pixel 4 bewegt. Das gibt uns einen leichten Schwenk nach oben, während die Animation fortschreitet.
Auf der Registerkarte „Ausgabe“ aktivieren wir das Kontrollkästchen „GIF erstellen“, wodurch wir zusätzlich zur MPEG-Videodatei eine GIF-Datei erhalten. Hier würden Sie auch Audio mit den Einstellungen „Soundtrack hinzufügen“ und „Soundtrack-Pfad“ hinzufügen, falls Sie welche haben.
Schritt 4: Generieren Sie Ihr Video
Klicken Sie schließlich auf die große Schaltfläche „Generieren“. Da Deforum viele Frames erstellt und zusammenfügt, wird dies einige Zeit in Anspruch nehmen, also schnappen Sie sich einen Kaffee, während Sie warten. Wenn es fertig ist, finden Sie die MPEG-Datei, die GIF-Version sowie jedes einzelne Bild und eine Anzeige der von Ihnen verwendeten Einstellungen unter dem Stapelnamen in Ihrem /outputs/img2img-images
Verzeichnis.
Hier ist, was uns unsere Eingabeaufforderung gebracht hat:
Es ist kein Sommer-Blockbuster, aber es ist immer noch irgendwie faszinierend! Sehen Sie sich die offizielle Schnellstartanleitung von Deforum an, um mehr über alle anderen Knöpfe und Regler zu erfahren, die Sie einstellen können.
Wenn Sie nach anderen coolen KI-Projekten suchen, erfahren Sie, wie Sie Minecraft-Texturpakete mit Stable Diffusion generieren oder mit ChatGPT beginnen, sowie die überraschenden Dinge, die Sie mit ChatGPT tun können.