Leitfaden zur Bildgenerierung

<ph type="x-smartling-placeholder">

Mit der Aufgabe „MediaPipe Image Generator“ können Sie Bilder basierend auf einem Text-Prompt generieren. Dieses wird ein Text-zu-Bild-Modell verwendet, um Bilder mithilfe von Diffusionstechniken zu generieren.

Die Aufgabe akzeptiert einen Text-Prompt und ein optionales Bedingungsbild als Eingabe die das Modell erweitern und als Referenz für die Generierung verwenden kann. Weitere Informationen bedingter Text-zu-Bild-Generierung, siehe On-Device-Diffusion-Plug-ins für Konditioniertes Text-zu-Image Generation generiert.

Bildgenerator können auch Bilder basierend auf bestimmten Konzepten generieren, die dem Modell während oder Umschulungen. Weitere Informationen findest du unter Anpassen mit LoRA

Jetzt starten

Beginnen Sie mit dieser Aufgabe, indem Sie einen dieser Implementierungsleitfäden für Ihr Zielplattform. Diese plattformspezifischen Anleitungen führen Sie durch Implementierung dieser Aufgabe mit Codebeispielen, die ein Standardmodell und die empfohlene Konfigurationsoptionen:

Taskdetails

In diesem Abschnitt werden die Funktionen, Eingaben, Ausgaben und Konfiguration beschrieben. Optionen dieser Aufgabe.

Funktionen

Mit dem Image Generator können Sie Folgendes implementieren:

  1. Text-zu-Bild-Generierung: Bilder über einen Text-Prompt generieren.
  2. Bildgenerierung mit Zustandsbildern: Bilder mit Text generieren Prompt und ein Referenzbild. Der Bildgenerator nutzt Bedingungen für Bilder ähnlich wie ControlNet.
  3. Bildgenerierung mit LoRA-Gewichtungen – Bilder von bestimmten Personen, Objekte und Stile mit einem Text-Prompt und benutzerdefinierten Modellgewichtungen.
Aufgabeneingaben Aufgabenausgaben
Der Bildgenerator akzeptiert folgende Eingaben:
<ph type="x-smartling-placeholder">
    </ph>
  • Text-Prompt
  • Saatgut
  • Anzahl der generativen Iterationen
  • Optional: Bedingungsbild
Der Image Generator gibt die folgenden Ergebnisse aus:
<ph type="x-smartling-placeholder">
    </ph>
  • Generiertes Bild basierend auf den Eingaben.
  • Optional: Iterative Snapshots des generierten Images.

Konfigurationsoptionen

Diese Aufgabe hat die folgenden Konfigurationsoptionen:

Option Beschreibung Wertebereich
imageGeneratorModelDirectory Das Modellverzeichnis des Bildgenerators, in dem die Modellgewichtungen gespeichert sind. PATH
loraWeightsFilePath Legt den Pfad zur LoRA-Gewichtungsdatei fest. Optional und nur zutreffend, wenn das Modell mit LoRA angepasst wurde. PATH
errorListener Legt einen optionalen Fehler-Listener fest. N/A

Die Aufgabe unterstützt auch Plug-in-Modelle, mit denen Nutzer Zustandsbilder hinzufügen können in der Aufgabeneingabe, die das Foundation Model erweitern und als Referenz verwenden kann für die Generation. Dabei kann es sich um Sehenswürdigkeiten, Umrisse oder Tiefenschätzungen, die das Modell als zusätzlichen Kontext und Informationen verwendet, Bilder generieren.

Beim Hinzufügen eines Plug-in-Modells zum Foundation Model auch das Plug-in konfigurieren Optionen. Das Plug-in für die Gesichtsmarkierung verwendet faceConditionOptions, den Canny Edge verwendet das Plug-in edgeConditionOptions, das Depth-Plug-in depthConditionOptions

Canny Edge-Optionen

Konfigurieren Sie die folgenden Optionen in edgeConditionOptions.

Option Beschreibung Wertebereich Standardwert
threshold1 Erster Schwellenwert für die Hystereseprozedur. Float 100
threshold2 Zweite Schwelle für die Hystereseprozedur. Float 200
apertureSize Blendengröße für den Sobel-Operator. Der typische Bereich liegt zwischen 3 und 7. Integer 3
l2Gradient Ob zur Berechnung der Größe des Bildverlaufs die L2-Norm verwendet wird, statt der Standard-L1-Norm. BOOLEAN False
EdgePluginModelBaseOptions Das BaseOptions-Objekt, das den Pfad festlegt für das Plug-in-Modell. BaseOptions Objekt N/A

Weitere Informationen zur Funktionsweise dieser Konfigurationsoptionen finden Sie unter Canny Edge-Detektor

Optionen für Gesichts-Markierungen

Konfigurieren Sie die folgenden Optionen in faceConditionOptions.

Option Beschreibung Wertebereich Standardwert
minFaceDetectionConfidence Der minimale Konfidenzwert für die Gesichtserkennung als erfolgreich angesehen wird. Float [0.0,1.0] 0.5
minFacePresenceConfidence Der minimale Konfidenzwert für die Anwesenheit von Gesichtern bei der Erkennung von Gesichtsmerkmalen. Float [0.0,1.0] 0.5
faceModelBaseOptions Das BaseOptions-Objekt, das den Pfad festlegt für das Modell, das das Bedingungsbild erstellt. BaseOptions Objekt N/A
FacePluginModelBaseOptions Das BaseOptions-Objekt, das den Pfad festlegt für das Plug-in-Modell. BaseOptions Objekt N/A

Weitere Informationen zur Funktionsweise dieser Konfigurationsoptionen finden Sie in der Face Landmarker erstellen:

Tiefenoptionen

Konfigurieren Sie die folgenden Optionen in depthConditionOptions.

Option Beschreibung Wertebereich Standardwert
depthModelBaseOptions Das BaseOptions-Objekt, das den Pfad festlegt für das Modell, das das Bedingungsbild erstellt. BaseOptions Objekt N/A
depthPluginModelBaseOptions Das BaseOptions-Objekt, das den Pfad festlegt für das Plug-in-Modell. BaseOptions Objekt N/A

Modelle

Der Bildgenerator erfordert ein Foundation Model, also ein KI-Modell, das Text zu Bild generiert. die mithilfe von Diffusionstechniken neue Bilder generiert. Foundation Models die in diesem Abschnitt aufgeführt sind, sind einfache Modelle, die für die Ausführung auf High-End-Geräten optimiert sind. Smartphones.

Plug-in-Modelle sind optional und ergänzen die Basismodelle, Nutzende, ein zusätzliches Bild für die Bedingung zusammen mit einer Textaufforderung zur Verfügung zu stellen, und spezifischere Bildgenerierung. Foundation Models mit LoRA anpassen Gewichtungen ist eine Option, die dem Foundation Model ein bestimmtes Konzept näherbringt, (z. B. ein Objekt, eine Person oder einen Stil) und fügen diese in KI-generierte Bilder ein.

Basismodelle

Foundation Models sind latente Text-zu-Bild-Diffusionsmodelle, die Bilder von einem Prompt aus. Für den Image Generator muss das Foundation Model entsprechen dem Modellformat runwayml/stable-diffusion-v1-5 EMA-only, basierend auf dem folgendes Modell:

Die folgenden Foundation Models sind ebenfalls mit dem Image Generator kompatibel:

Verwenden Sie nach dem Herunterladen eines Basismodells die image_generator_converter das Modell in das entsprechende On-Device-Format für die Bildgenerator.

Installieren Sie die erforderlichen Abhängigkeiten:

$ pip install torch typing_extensions numpy Pillow requests pytorch_lightning absl-py

Führen Sie den convert.py Skript:

$ python3 convert.py --ckpt_path <ckpt_path> --output_path <output_path>

Plug-in-Modelle

Die Plug-in-Modelle in diesem Abschnitt werden von Google entwickelt und müssen in mit einem Foundation Model kombinieren. Plug-in-Modelle ermöglichen es dem Image Generator, Bedingungsbild mit einer Text-Eingabeaufforderung als Eingabe akzeptieren, und steuern die Struktur der generierten Bilder. Die Plug-in-Modelle bieten ähnlich wie ControlNet, mit einem neuartige Architektur speziell für On-Device-Diffusion.

Die Plug-in-Modelle müssen in den Basisoptionen angegeben werden und erfordern möglicherweise Folgendes: zusätzliche Modelldateien herunterladen. Jedes Plug-in hat spezifische Anforderungen an die Bedingungsbild ein, das mit dem Image Generator generiert werden kann.

Canny Edge-Plug-in

Das Canny Edge-Plug-in akzeptiert ein Bedingungsbild, das die vorgesehenen Kanten umrandet. des generierten Bildes. Das Foundation Model verwendet die Kanten, Zustandsbild und generiert anhand des Text-Prompts ein neues Bild. Die Der Image Generator verfügt über integrierte Funktionen zum Erstellen von Zustandsbildern. erfordert lediglich das Herunterladen des Plug-in-Modells.

<ph type="x-smartling-placeholder"></ph> Canny Edge-Plug-in herunterladen

Das Canny Edge-Plug-in enthält die folgenden Konfigurationsoptionen:

Option Beschreibung Wertebereich Standardwert
threshold1 Erster Schwellenwert für die Hystereseprozedur. Float 100
threshold2 Zweite Schwelle für die Hystereseprozedur. Float 200
apertureSize Blendengröße für den Sobel-Operator. Der typische Bereich liegt zwischen 3 und 7. Integer 3
l2Gradient Ob zur Berechnung der Größe des Bildverlaufs die L2-Norm verwendet wird, statt der Standard-L1-Norm. BOOLEAN False
EdgePluginModelBaseOptions Das BaseOptions-Objekt, das den Pfad festlegt für das Plug-in-Modell. BaseOptions Objekt N/A

Weitere Informationen zur Funktionsweise dieser Konfigurationsoptionen finden Sie unter Canny Edge-Detektor

Plug-in „Face Landmark“

Das Plug-in "Face Landmark" akzeptiert die Ausgabe vom MediaPipe-Face Landmark als Bedingungsbild festlegen. Das Gesicht Landmarker bildet ein detailliertes Flächennetz aus einem einzelnen Gesicht, das die Präsenz und Position von Gesichtszügen. Das Foundation Model nutzt die Gesichts- eine durch das Bedingungsbild implizierte Zuordnung und generiert eine neue Fläche über dem Mesh.

<ph type="x-smartling-placeholder"></ph> Plug-in für Gesichtsmarkierung herunterladen

Für das Plug-in für die Gesichtsmarkierung ist außerdem das Modell "Face Landmarker" erforderlich. Bundle hinzu, um das Bedingungsbild zu erstellen. Dieses Modell-Bundle ist dasselbe Bundle, das vom Face Landmarker erstellen.

<ph type="x-smartling-placeholder"></ph> Set mit Modell für Gesichts-Landmark-Modelle herunterladen

Das Plug-in „Face Landmark“ enthält die folgenden Konfigurationsoptionen:

Option Beschreibung Wertebereich Standardwert
minFaceDetectionConfidence Der minimale Konfidenzwert für die Gesichtserkennung als erfolgreich angesehen wird. Float [0.0,1.0] 0.5
minFacePresenceConfidence Der minimale Konfidenzwert für die Anwesenheit von Gesichtern bei der Erkennung von Gesichtsmerkmalen. Float [0.0,1.0] 0.5
faceModelBaseOptions Das BaseOptions-Objekt, das den Pfad festlegt für das Modell, das das Bedingungsbild erstellt. BaseOptions Objekt N/A
FacePluginModelBaseOptions Das BaseOptions-Objekt, das den Pfad festlegt für das Plug-in-Modell. BaseOptions Objekt N/A

Weitere Informationen zur Funktionsweise dieser Konfigurationsoptionen finden Sie in der Face Landmarker erstellen:

Tiefen-Plug-in

Das Depth-Plug-in akzeptiert ein Bedingungsbild, das die monokulare Tiefe eines Elements ein -Objekt. Das Foundation Model nutzt das Bedingungsbild, um die Größe Tiefe des zu generierenden Objekts und generiert anhand des Textes ein neues Bild. .

<ph type="x-smartling-placeholder"></ph> Tiefen-Plug-in herunterladen

Für das Tiefen-Plug-in ist außerdem ein Modell zur Tiefenschätzung erforderlich, um die Bedingung zu erstellen. Bild.

<ph type="x-smartling-placeholder"></ph> Modell zur Tiefenschätzung herunterladen

Das Depth-Plug-in enthält die folgenden Konfigurationsoptionen:

Option Beschreibung Wertebereich Standardwert
depthModelBaseOptions Das BaseOptions-Objekt, das den Pfad festlegt für das Modell, das das Bedingungsbild erstellt. BaseOptions Objekt N/A
depthPluginModelBaseOptions Das BaseOptions-Objekt, das den Pfad festlegt für das Plug-in-Modell. BaseOptions Objekt N/A

Anpassung mit LoRA

Durch das Anpassen eines Modells mit LoRA kann die Bildgenerator zum Generieren von Bildern basierend auf bestimmten Konzepten, die die während des Trainings durch eindeutige Tokens identifiziert werden. Mit den neuen LoRA-Gewichtungen kann das Modell Bilder des neuen Konzepts generieren, wenn das Token wird im Text-Prompt angegeben.

Das Erstellen von LoRA-Gewichtungen erfordert das Training eines Basismodells mit Bildern eines bestimmten Objekten, Personen oder Stilen, sodass das Modell das neue und bei der Bildgenerierung anwenden. Wenn Sie LoRa-Gewichtungen erstellen, Bilder von bestimmten Personen und Gesichtern zu generieren. Verwenden Sie diese Lösung nur Gesichter von Personen, die Ihnen die entsprechende Erlaubnis erteilt haben.

Unten sehen Sie die Ausgabe eines benutzerdefinierten Modells, das mit Bildern von Teekannen von das Dream Booth-Dataset unter Verwendung von das Token "monadikos teekanne":

Prompt: eine Monadikos-Teekanne neben einem Spiegel

Das benutzerdefinierte Modell hat das Token im Prompt empfangen und eine Teekanne eingeschleust, die anhand der LoRA-Gewichtungen darzustellen, und platziert das Bild neben einem wie im Prompt angefordert.

<ph type="x-smartling-placeholder"></ph> LoRA mit Vertex AI

Weitere Informationen finden Sie in der Anpassung Leitfaden, Dabei werden Model Garden in Vertex AI durch Anwenden von LoRA-Gewichtungen auf ein Basismodell anpassen.