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:
- Android – Codebeispiel – Leitfaden
- Mit LoRA anpassen – Code Beispiel – Colab
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:
- Text-zu-Bild-Generierung: Bilder über einen Text-Prompt generieren.
- Bildgenerierung mit Zustandsbildern: Bilder mit Text generieren Prompt und ein Referenzbild. Der Bildgenerator nutzt Bedingungen für Bilder ähnlich wie ControlNet.
- 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">
|
Der Image Generator gibt die folgenden Ergebnisse aus: <ph type="x-smartling-placeholder">
|
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.