So trainieren Sie stabile Diffusions-KI mit Ihrem Gesicht, um mit DreamBooth Kunst zu erstellen

Veröffentlicht: 2022-10-10

Gastbeitrag von Tarunabh Dutta.

Wenn 2021 das Jahr der wortbasierten KI-Sprachmodelle war, hat 2022 einen Sprung in die Text-to-Image-KI-Modelle gemacht. Heutzutage sind viele Text-zu-Bild-KI-Modelle verfügbar, die qualitativ hochwertige Bilder erzeugen können. Stable Diffusion ist eine der beliebtesten und bekanntesten Optionen. Es ist ein schnelles und stabiles Modell, das konsistente Ergebnisse liefert.

how to train stable diffusion

Der Prozess der Bilderzeugung ist immer noch etwas mysteriös, aber es ist klar, dass Stable Diffusion hervorragende Ergebnisse liefert. Es kann verwendet werden, um Bilder aus Text zu generieren oder vorhandene Bilder zu verändern. Die verfügbaren Optionen und Parameter ermöglichen eine umfassende Anpassung und Kontrolle über das endgültige Bild.

Während es relativ einfacher ist, Bilder von Prominenten und populären Persönlichkeiten zu bearbeiten, ist es allein aufgrund des bereits verfügbaren Bildsatzes nicht so einfach, die KI dazu zu bringen, auf Ihrem eigenen Gesicht zu arbeiten. Die Logik sagt, man solle das KI-Modell mit seinen Bildern füttern und es dann wirken lassen, aber wie genau kann man das machen?

In diesem Artikel versuchen wir zu demonstrieren, wie man ein Stable Diffusion-Modell mit DreamBooth-Textinversion auf einer Bildreferenz trainiert, um KI-Darstellungen Ihres eigenen Gesichts oder eines anderen Objekts zu erstellen und Ergebnisfotos mit unglaublichen Ergebnissen, Präzision und Konsistenz zu erzeugen. Wenn es zu technisch klingt, bleib dran, und wir werden versuchen, es so anfängerfreundlich wie möglich zu machen.

Inhaltsverzeichnis

Was ist stabile Diffusion?

Lassen Sie uns die Grundlagen entfernen. Das Stable Diffusion-Modell ist ein hochmodernes Text-zu-Bild-Modell für maschinelles Lernen, das auf einem großen Bildsatz trainiert wurde. Die Ausbildung ist teuer und kostet rund 660.000 US-Dollar. Das Stable Diffusion-Modell kann jedoch verwendet werden, um Kunst mit natürlicher Sprache zu erzeugen.

Deep-Learning-Text-to-Image-KI-Modelle werden aufgrund ihrer Fähigkeit, Text genau in Bilder zu übersetzen, immer beliebter. Dieses Modell kann kostenlos verwendet werden und ist auf Hugging Face Spaces und DreamStudio zu finden. Die Modellgewichte können auch heruntergeladen und lokal verwendet werden.

Stable Diffusion verwendet einen Prozess namens „Diffusion“, um Bilder zu erzeugen, die der Textaufforderung ähneln.

Kurz gesagt, der Stable Diffusion-Algorithmus nimmt eine Textbeschreibung und generiert ein Bild auf der Grundlage dieser Beschreibung. Das generierte Bild sieht ähnlich aus wie der Text, ist aber keine exakte Kopie. Zu den Alternativen zu Stable Diffusion gehören die Modelle Dall-E von OpenAI und Imagen von Google.

Leitfaden zum Trainieren stabiler Diffusions-KI mit Ihrem Gesicht zum Erstellen von Bildern mit DreamBooth

Heute zeige ich Ihnen, wie Sie ein Stable Diffusion-Modell trainieren, indem Sie mein Gesicht als anfängliche Referenz verwenden, um Bilder mit einem äußerst konsistenten und genauen Stil zu erzeugen, der sowohl originell als auch frisch ist.

Zu diesem Zweck werden wir also ein Google Colab namens DreamBooth verwenden , um Stable Diffusion zu trainieren.

Bevor wir dieses Google Colab starten, müssen wir bestimmte Inhalte vorbereiten.

Stufe 1: Google Drive mit genügend freiem Speicherplatz

Dazu benötigen Sie ein Google Drive-Konto mit mindestens 9 GB freiem Speicherplatz.

Ein kostenloses Google Drive-Konto enthält 15 GB freien Speicherplatz, was für diese Aufgabe ausreicht. Sie können also nur für diesen Zweck ein brandneues (Wegwerf-) Gmail-Konto erstellen.

google drive

Stufe 2: Referenzbilder zum Trainieren der KI

Zweitens müssen Sie mindestens ein Dutzend Porträts Ihres Gesichts oder eines Zielobjekts als Referenz bereithalten.

  • Bitte stellen Sie sicher, dass die Gesichtszüge in den aufgenommenen Bildern sichtbar und ausreichend beleuchtet sind. Vermeiden Sie harte Schatten, insbesondere im Gesicht.
  • Außerdem sollte das Motiv der Kamera zugewandt sein oder ein Seitenprofil haben, in dem beide Augen und alle Gesichtszüge gut sichtbar sind.
  • Die Kamera sollte in der Lage sein, Gesichtszüge in hoher Qualität zu erfassen. Die beste Option ist eine professionelle DSLR- oder spiegellose Kamera. Eine Smartphone-Kamera von ausgezeichneter Qualität kann auch ausreichen.
  • Die Komposition sollte mit etwas Abstand in der Mitte des Rahmens positioniert werden.
  • Als Eingabebilder sollten mindestens zwölf Nahaufnahmen des Gesichts, fünf Mid-Shot-Fotos vom Kopf bis über die Taille und ungefähr drei Ganzkörperfotos ausreichend sein.
  • Hierfür sollten mindestens zwanzig Referenzfotos ausreichen.

birme faces

In meinem Fall habe ich eine Sammlung von ungefähr 50 Selbstporträts aufgenommen und gesammelt, die ich mit dem Online-Tool – Birme – auf 512 x 512 Pixel zugeschnitten habe. Sie können für diesen Zweck auch einen beliebigen alternativen Bildeditor verwenden.

Bitte beachten Sie, dass das endgültige Ausgabebild für das Web optimiert und in der Dateigröße mit minimalem Qualitätsverlust reduziert werden muss.

Stufe 3: Google Colab

Die Google Colab Runtime kann nun ausgeführt werden.

Es gibt sowohl kostenlose als auch kostenpflichtige Versionen der Google Colab-Plattform. Dreambooth kann auf der kostenlosen Version ausgeführt werden, aber die Leistung ist deutlich schneller und konsistenter auf der Colab Pro (kostenpflichtigen) Version, die die Verwendung einer Hochgeschwindigkeits-GPU priorisiert und der anstehenden Aufgabe mindestens 15 GB VRAM zuweist.

Wenn es Ihnen nichts ausmacht, ein paar Dollar auszugeben, ist ein Colab Pro-Abonnement im Wert von 10 US-Dollar, das 100 Recheneinheiten pro Monat umfasst, für diese Sitzung mehr als ausreichend.

google colab signup

Sie haben auch Zugriff auf zusätzlichen Arbeitsspeicher und GPUs, die relativ leistungsstärker und schneller sind.

Lassen Sie mich das wiederholen: Sie müssen KEIN technischer Spezialist sein, um dieses Colab zu betreiben. Sie benötigen auch keine vorherige Programmiererfahrung.

Sobald Sie sich bei Google Colab (kostenlose oder kostenpflichtige Version) angemeldet haben, melden Sie sich mit Ihren Anmeldeinformationen an und gehen Sie zu diesem Link , um DreamBooth Stable Diffusion zu öffnen.

Ein Google Colab hat „Laufzeit“-Abschnitte oder -Zellen mit anklickbaren Wiedergabeschaltflächen auf der linken Seite, die nacheinander angeordnet sind. Um die Laufzeit von oben beginnend abzuspielen, klicken Sie einfach nacheinander auf die Wiedergabeschaltflächen. Jedes Segment besteht aus einer Laufzeit, die ausgeführt werden muss. Wenn Sie auf eine Wiedergabeschaltfläche klicken, wird der entsprechende Abschnitt als Laufzeit ausgeführt. Nach einiger Zeit erscheint links neben der Wiedergabeschaltfläche ein grünes Häkchen, um anzuzeigen, dass die Laufzeit erfolgreich ausgeführt wurde.

Bitte stellen Sie sicher, dass Sie jeweils nur eine Laufzeit manuell ausführen und erst dann zum nächsten Abschnitt „Laufzeit“ wechseln, wenn die aktuelle Laufzeit beendet ist.

Im Laufzeitbereich der oberen Menüleiste haben Sie die Möglichkeit, alle Laufzeiten gleichzeitig auszuführen. Dies wird jedoch nicht empfohlen.

change runtime type dreambooth

Darunter befindet sich eine Option mit der Bezeichnung „Laufzeittyp ändern“. Wenn Sie ein Pro-Abonnement abonniert haben, können Sie eine „Premium“-GPU und viel RAM für Ihre Ausführung auswählen und speichern.

choose high ram

Jetzt können Sie das DreamBooth Colab starten.

run dream booth

10 Schritte zum erfolgreichen Abschluss eines trainierten KI-Modells auf DreamBooth

SCHRITT 1: Entscheiden Sie sich für GPU und VRAM

Der erste Schritt besteht darin, den verfügbaren GPU- und VRAM-Typ zu bestimmen. Pro-Benutzer haben Zugriff auf eine schnelle GPU und einen verbesserten VRAM, der stabiler ist.

determine GPU VRAM

Sobald Sie auf die Wiedergabeschaltfläche klicken, wird eine Warnung angezeigt, da auf GitHub, die Quellwebsite des Entwicklers, zugegriffen wird. Sie müssen nur auf „ Trotzdem ausführen “ klicken, um fortzufahren.

choose vram

SCHRITT 2: Führen Sie DreamBooth aus

Im nächsten Schritt müssen Sie bestimmte Anforderungen und Abhängigkeiten installieren. Sie müssen nur auf den Play-Button klicken und es laufen lassen.

dreambooth play

SCHRITT 3: Melden Sie sich bei Hugging Face an

Nachdem Sie auf die Wiedergabeschaltfläche geklickt haben, müssen Sie sich im nächsten Schritt bei Ihrem Hugging Face-Konto anmelden. Sie können ein kostenloses Konto erstellen, falls Sie noch keines haben. Navigieren Sie nach der Anmeldung von der oberen rechten Ecke zu Ihrer Einstellungsseite.

hugging face settings

Klicken Sie dann auf den Abschnitt „ Zugriffstoken “ und die Schaltfläche „ Neu erstellen “, um ein neues „Zugriffstoken“ zu generieren und es wie gewünscht umzubenennen.

access tokens

Kopieren Sie das Zugriffstoken, kehren Sie dann zur Registerkarte Colab zurück und geben Sie es in das dafür vorgesehene Feld ein. Klicken Sie dann auf „ Anmelden “.

login to huggingface

SCHRITT 4: Installieren Sie xformers

In diesem Schritt können Sie auf die Laufzeit klicken, um xformers zu installieren, indem Sie einfach auf die Wiedergabeschaltfläche klicken.

install xformers

SCHRITT 5: Verbinden Sie Google Drive

Nachdem Sie auf die Wiedergabeschaltfläche geklickt haben, werden Sie in einem neuen Popup-Fenster um Erlaubnis gebeten, auf Ihr Google Drive-Konto zuzugreifen. Klicken Sie auf „Zulassen“, wenn Sie nach Berechtigungen gefragt werden.

access google drive folder

Nachdem Sie Berechtigungen erteilt haben, müssen Sie bestätigen, dass „ Auf Google Drive speichern “ ausgewählt ist. Sie müssen auch einen neuen Namen für die Variable „ KLASSENNAME “ festlegen. Wenn Sie Referenzbilder einer Person einreichen möchten, geben Sie einfach „Person“, „Mann“ oder „Frau“ ein. Wenn Ihre Referenzbilder einen Hund zeigen, geben Sie „Hund“ ein und so weiter. Die restlichen Felder können Sie unverändert lassen. Alternativ können Sie das Eingabeverzeichnis in „INSTANCE DIR“ oder das Ausgabeverzeichnis in „OUTPUT DIR“ umbenennen.

dreambooth settings

SCHRITT 6: Referenzfotos hochladen

Nachdem Sie im vorherigen Schritt auf die Wiedergabeschaltfläche geklickt haben, sehen Sie die Option zum Hochladen und Hinzufügen aller Ihrer Referenzfotos.

upload images

Ich würde mindestens 6 und höchstens 20 Fotos empfehlen. Unter „STUFE 2“ oben finden Sie eine kurze Erklärung zur Auswahl des besten Referenzbildes basierend auf der Aufnahme des Motivs.

select images

Sobald alle Ihre Bilder hochgeladen wurden, können Sie sie in der linken Spalte anzeigen. Es gibt ein Ordnersymbol. Sobald Sie darauf klicken, können Sie die Ordner und Unterordner anzeigen, in denen Ihre Daten derzeit gespeichert sind.

Unter dem Datenverzeichnis können Sie Ihr Eingabeverzeichnis anzeigen, in dem alle Ihre hochgeladenen Fotos gespeichert sind. In meinem Fall ist es als „sks“ (Standardname) bekannt.

Beachten Sie außerdem, dass diese Inhalte nur vorübergehend in Ihrem Google Colab-Speicher und nicht auf Google Drive gespeichert werden.

input directory

start training

SCHRITT 7: KI-Modell mit DreamBooth trainieren

Dies ist der wichtigste Schritt, da Sie ein neues KI-Modell basierend auf all Ihren hochgeladenen Referenzfotos mit DreamBooth trainieren werden.

train images dreambooth

Sie müssen sich nur auf zwei Eingabefelder konzentrieren. Der erste Parameter ist „—instance prompt“. Hier müssen Sie einen sehr eindeutigen Namen eingeben. In meinem Fall verwende ich meinen Vornamen, gefolgt von meinen Initialen. Die ganze Idee ist, den vollständigen Namen eindeutig und präzise zu halten.

Das zweite entscheidende Eingabefeld ist der Parameter '—class prompt'. Sie müssen es umbenennen, damit es mit dem übereinstimmt, den Sie in „SCHRITT 4“ verwendet haben. In meinem Fall habe ich den Begriff „Mann“ verwendet. Also werde ich es erneut in dieses Feld eingeben und alle vorherigen Einträge überschreiben.

dreambooth parameters

Die restlichen Felder können unberührt gelassen werden. Ich habe beobachtet, wie Benutzer experimentierten, indem sie Felder wie „—num class images“ auf 12 und „—max train steps“ auf 1000, 2000 oder sogar noch höher änderten. Bitte denken Sie jedoch daran, dass das Ändern dieser Felder dazu führen kann, dass Colab nicht mehr genügend Arbeitsspeicher hat und abstürzt, sodass Sie von Anfang an neu starten müssen. Daher ist es ratsam, sie nicht beim ersten Versuch zu bearbeiten. Sie könnten in Zukunft damit experimentieren, nachdem Sie genügend Erfahrung gesammelt haben.

Sobald Sie diese Laufzeit durch Klicken auf die Wiedergabeschaltfläche ausführen, beginnt Colab mit dem Herunterladen der erforderlichen ausführbaren Dateien und kann dann mit Ihren Referenzbildern trainieren.

Das Trainieren des Modells dauert zwischen 15 Minuten und über einer Stunde. Sie müssen geduldig sein und den Fortschritt verfolgen, bis die Laufzeit abgeschlossen ist. Wenn Ihr Google Colab zu lange inaktiv ist, wird es möglicherweise zurückgesetzt. Überprüfen Sie also weiterhin den Fortschritt und klicken Sie gelegentlich auf die Registerkarte.

colab executing

execution complete

SCHRITT 8: Konvertieren Sie das AI-Modell in das ckpt-Format

Nach Abschluss des Trainings haben Sie die Möglichkeit, das trainierte Modell in eine Datei im ckpt-Format zu konvertieren, das direkt mit Stable Diffusion kompatibel ist.

Die Konvertierung kann in zwei Laufzeitphasen durchgeführt werden. Die erste ist „ Skript herunterladen “ und die zweite „ Konvertierung ausführen “, bei der Sie die Downloadgröße des trainierten Modells reduzieren können. Dadurch wird jedoch die resultierende Bildqualität erheblich beeinträchtigt.

Um die Originalgröße beizubehalten, muss daher die Option „ fp16 “ deaktiviert bleiben.

run conversion

Am Ende dieser speziellen Laufzeit wird eine Datei mit dem Namen „ model.ckpt “ auf Ihrem verbundenen Google Drive gespeichert.

model ckpt

Wir können diese Datei für die zukünftige Verwendung speichern, da Ihre Laufzeiten sofort gelöscht werden, wenn Sie die DreamBooth Colab-Browserregisterkarte schließen. Wenn Sie die Colab-Version von DreamBooth später erneut öffnen, müssen Sie von vorne beginnen.

Angenommen, Sie speichern die trainierte Modelldatei auf Ihrem Google Drive. In diesem Fall können Sie es später abrufen, um es mit Ihrer lokal installierten Stable Diffusion-GUI, DreamBooth oder allen Stable Diffusion Colab-Notebooks zu verwenden, für die die Datei „model.ckpt“ geladen werden muss, damit die Laufzeit effektiv funktioniert. Sie können es auch zur späteren Verwendung auf Ihren lokalen Festplatten speichern.

SCHRITT 9: Bereiten Sie sich auf die Texteingabe vor

Die nächsten zwei Laufzeitprozesse unter der Kategorie „Inferenz“ bereiten das neu trainierte Modell für die Texteingabeaufforderung vor, die für die Bilderzeugung verwendet wird. Drücken Sie einfach die Play-Taste für jede Laufzeit, und es wird in wenigen Minuten beendet.

inference

SCHRITT 10: Generieren Sie KI-Bilder

Dies ist der letzte Schritt, in dem Sie die Textaufforderungen eingeben können und die KI-Bilder generiert werden.

Sie müssen die exakten Namen von „instance_prompt“ und „–class_prompt“ zusammen aus STEP 6 am Anfang der Texteingabeaufforderung verwenden. In meinem Fall habe ich zum Beispiel „a portrait of tarunabhtd man, digital painting“ verwendet, um neue KI-Bilder zu erzeugen, die mir ähneln.

image prompt

image generation

Unten sehen Sie einige Bildergebnisse, die mit dem trainierten Modell von DreamBooth generiert wurden.

sample generated images

Spielen Sie mit Eingabeaufforderungen herum, um die besten Ergebnisse zu erzielen

Wenn Sie die oben beschriebenen Schritte sorgfältig befolgen, können Sie KI-Bilder erstellen, die den Gesichtszügen in Ihren Referenzbildern sehr ähnlich sind. Diese Methode erfordert lediglich, dass die Online-Plattform Google Colab eine aktualisierte Version der KI-Technologie für die Textinversion ausführt.

Für bessere Ideen für Texteingabeaufforderungen können Sie Websites wie –

  • OpenArt-KI
  • Krea AI
  • Lexika-Kunst

Sie müssen auch die Kunst erlernen, bessere und effektivere Texteingabeaufforderungen mit einer Vielzahl von künstlerischen Stilen und verschiedenen Kombinationen zu erstellen. Ein guter Ausgangspunkt wäre das Stable Diffusion SubReddit.

Reddit hat eine riesige Community, die sich der Stable Diffusion verschrieben hat. Es gibt auch eine Reihe von Facebook-Gruppen und Discord-Communities, die aktiv diskutieren, teilen und neue Wege der Stable Diffusion erkunden.

Unten teile ich auch Links zu einigen DreamBooth-Tutorial-Videos, die Sie auf Youtube ansehen können –

Ich hoffe, Sie finden diesen Leitfaden nützlich. Wenn Sie Fragen haben, können Sie unten einen Kommentar hinterlassen, und wir werden versuchen, Ihnen zu helfen.

Autor:
Tarunabh Dutta ist ein preisgekrönter Filmemacher, der in den letzten 16 Jahren unter seinem unabhängigen Banner „TD Film Studio“ mehr als 45 Projekte abgeschlossen hat, darunter Spielfilme, Kurzfilme, Musikvideos, Dokumentationen und Werbespots.