Kontrollierte Anpassung

Mit der kontrollierten Anpassung können Sie neue Bilder anhand eines Quellbilds oder eines Quellbildsignals (Canny Edge oder Scribble) erstellen. Auf dieser Seite wird beschrieben, wie Sie zwei Arten von Anfragen zur kontrollierten Anpassung senden:

  1. Kontrollierte Anpassung von Imagen 3 (allgemein verfügbare Funktion)

    Modellkarte für Imagen zur Bearbeitung und Anpassung ansehen

  2. Imagen 2 – Kontrollierte Anpassung – Canny Edge- oder Scribble-Quellbildsignal (Funktion in der Vorabversion)

Die folgenden Modelle unterstützen die kontrollierte Anpassung:

Anwendungsfälle

Imagen 3 Controlled Customization bietet die Möglichkeit, Prompts im Freistil zu verwenden. Das kann den Eindruck erwecken, dass das Modell mehr kann, als es gelernt hat. In den folgenden Abschnitten werden Anwendungsfälle und Beispiele für Imagen 3 Controlled Customization beschrieben.

Das Modell wurde für die von uns bereitgestellten Anwendungsfälle trainiert. Wir erwarten gute Ergebnisse, wenn Sie Imagen 3 Controlled Customization verwenden. Wenn Sie das Modell dazu bringen, auf unerwartete Weise zu antworten, erwarten wir keine guten Ergebnisse.

Beispiele für vorgesehene Anwendungsfälle

Die folgenden Anwendungsfälle sind für Imagen 3 Controlled Customization trainiert und liefern gute Ergebnisse:

  • Bild generieren, das dem Prompt und den Canny-Edge-Kontrollbildern entspricht.

  • Bild generieren, das dem Prompt und den Skizzen entspricht.

  • Ein Foto einer Person stilisieren, ohne den Gesichtsausdruck zu verändern

Beispiele für unbeabsichtigte Anwendungsfälle

Die folgenden Anwendungsfälle sind nicht für die kontrollierte Anpassung mit Imagen 3 geeignet und führen zu schlechten Ergebnissen:

  • Erstellen Sie ein Bild mit einem im Prompt angegebenen Stil.

  • Ein Bild aus Text generieren, der einem bestimmten Stil folgt, der von einem Referenzbild vorgegeben wird, wobei die Bildkomposition mithilfe eines Kontrollbilds in gewissem Maße gesteuert werden kann.

  • Ein Bild aus Text generieren, das einem bestimmten Stil folgt, der durch ein Referenzbild vorgegeben wird. Dabei kann die Bildkomposition mithilfe eines Kontroll-Scribbles bis zu einem gewissen Grad gesteuert werden.

  • Ein Bild aus Text generieren, das einem bestimmten Stil folgt, der durch das Referenzbild vorgegeben wird. Die Bildkomposition kann mithilfe eines Kontrollbilds gesteuert werden. Die Person auf dem Bild hat einen bestimmten Gesichtsausdruck.

  • Stilisiere ein Foto von zwei oder mehr Personen und behalte ihre Gesichtsausdrücke bei.

  • Stilisiere ein Foto eines Haustiers und verwandle es in eine Zeichnung. Die Komposition des Bildes beibehalten oder angeben (z. B. Aquarell).

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie einfach ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Vertex AI API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Vertex AI API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  8. Richten Sie die Authentifizierung für Ihre Umgebung ein.

    Wählen Sie den Tab für die gewünschte Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud -Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI.

      Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

    Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Prompts für Anpassungen schreiben

Der Prompt, den Sie für die Imagen 3-Anpassung verwenden, kann sich auf die Qualität der KI-generierten Bilder auswirken. Verwenden Sie die folgenden Prompt-Vorlagen als Ausgangspunkt für das Schreiben von Anpassungs-Prompts. Möglicherweise müssen Sie mehrere Anfragen senden, um die gewünschte Ausgabe zu erhalten.

Anwendungsfall Referenzbilder Prompt-Vorlage Beispiel
Kontrollierte Anpassung Skizzenkarte (1) Generieren Sie ein Bild, das dem scribble map [1] entspricht und zur Beschreibung passt: ${STYLE_PROMPT} ${PROMPT}. Bild generieren, das dem scribble map [1] entspricht, um der Beschreibung gerecht zu werden: Das Bild sollte im Stil eines impressionistischen Ölgemäldes mit entspannten Pinselstrichen sein. Es hat ein natürlich beleuchtetes Ambiente und sichtbare Pinselstriche. Ein Auto in der Seitenansicht. Das Auto parkt auf einer nassen, reflektierenden Fahrbahn, wobei sich die Lichter der Stadt in den Pfützen spiegeln.
Kontrollierte Anpassung Canny-Kontrollbild (1) Bild generieren, das dem edge map [1] entspricht und der Beschreibung ${STYLE_PROMPT} ${PROMPT} entspricht. Bild generieren, das dem edge map [1] entspricht , und zwar im Stil eines impressionistischen Ölgemäldes mit entspannten Pinselstrichen. Es hat eine natürlich beleuchtete Atmosphäre und sichtbare Pinselstriche. Seitenansicht eines Autos. Das Auto parkt auf einer nassen, reflektierenden Fahrbahn, wobei sich die Lichter der Stadt in den Pfützen spiegeln.
Stilisierung von Personenbildern mit FaceMesh-Eingabe Bild des Motivs (1–3)

FaceMesh-Kontrollbild (1)
Erstelle ein Bild von SUBJECT_DESCRIPTION [1] in der Pose von CONTROL_IMAGE [2], das der Beschreibung entspricht: ein Porträt von SUBJECT_DESCRIPTION [1] ${PROMPT} Erstelle ein Bild von a woman with short hair [1] in der Pose von control image [2], das der Beschreibung entspricht: ein Porträt von a woman with short hair [1] im 3D-Cartoon-Stil mit einem weichgezeichneten Hintergrund. Eine niedliche und liebenswerte Figur mit einem lächelnden Gesicht, die in die Kamera blickt, Pastellfarben, hohe Qualität, 4K, Meisterwerk, superdetailliert, Hautstruktur, Textur-Mapping, weiche Schatten, weiche realistische Beleuchtung, lebendige Farben
Stilisierung von Personenbildern mit FaceMesh-Eingabe Bild des Motivs (1–3)

FaceMesh-Kontrollbild (1)
Erstelle ein ${STYLE_PROMPT}-Bild von SUBJECT_DESCRIPTION [1] in der Pose des CONTROL_IMAGE [2], das der Beschreibung entspricht: ein Porträt von SUBJECT_DESCRIPTION [1] ${PROMPT} Erstelle ein Bild im 3D‑Cartoon-Stil von a woman with short hair [1] in der Pose des control image [2], das der Beschreibung entspricht: ein Porträt von a woman with short hair [1] im 3D‑Cartoon-Stil mit einem verschwommenen Hintergrund. Eine niedliche und liebenswerte Figur mit einem lächelnden Gesicht, die in die Kamera blickt, Pastellfarben, hohe Qualität, 4K, Meisterwerk, superdetailliert, Hautstruktur, Textur-Mapping, weiche Schatten, weiche realistische Beleuchtung, lebendige Farben

Anfrage für kontrollierte Anpassung von Imagen 3 senden

Verwenden Sie die folgenden Beispiele, um eine Anfrage für die kontrollierte Anpassung mit Imagen 3 zu senden:

REST

Weitere Informationen zur Imagen API finden Sie hier:

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID.
  • LOCATION: Die Region Ihres Projekts. Beispiel: us-central1, europe-west2 oder asia-northeast3. Eine Liste der verfügbaren Regionen finden Sie unter Generative AI an Vertex AI-Standorten. Wenn ein regionaler API-Endpunkt verwendet wird, wird die Region, in der die Anfrage verarbeitet wird, durch die URL des Endpunkts bestimmt. Das LOCATION im Ressourcenpfad wird ignoriert, wenn es zu Konflikten kommt.
  • TEXT_PROMPT ist der Text-Prompt, der bestimmt, welche Bilder das Modell generiert. Wenn Sie die kontrollierte Anpassung mit Imagen 3 verwenden möchten, fügen Sie die referenceId des von Ihnen bereitgestellten Kontrollreferenzbilds im Format [$referenceId] ein. Beispiel:
    • Bild generieren, das der Skizzenkarte [1] entspricht und der Beschreibung: [image description].
  • BASE64_CONTROL_IMAGE: Das Basis-Kontrollbild (Skizze). Das Bild muss als base64-codierter Bytestring angegeben werden.
    Für CONTROL_TYPE_SCRIBBLE: Das erwartete Scribble-Kontrollbild hat einen schwarzen Hintergrund und eine weiße Scribble-Linie. Beispielbild für die Kritzelsteuerung
    Für CONTROL_TYPE_CANNY: Das erwartete Canny-Edge-Kontrollbild hat einen schwarzen Hintergrund und weiße Canny-Edges. Beispiel für ein Canny-Edge-Steuerungsbild
  • CONTROL_TYPE: Der Typ des Steuersignals. Verwenden Sie CONTROL_TYPE_CANNY für Canny-Kanten. Verwende CONTROL_TYPE_SCRIBBLE für Kritzeleien.
  • enableControlImageComputation: Setzen Sie diese Option auf false, wenn Sie ein eigenes Kontrollbild bereitstellen. In diesem Fall sollte B64_BASE_IMAGE das Kontrollsignalbild sein. Auf true setzen, wenn Imagen das Kontrollbild aus dem Referenzbild berechnen soll. In diesem Fall sollte B64_BASE_IMAGE das Rohbild im RGB-Format sein.
  • IMAGE_COUNT ist die Anzahl der generierten Bilder. Zulässige Ganzzahlwerte: 1–4. Standardwert: 4

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict

JSON-Text der Anfrage:

{
  "instances": [
    {
      "prompt": "TEXT_PROMPT",
      "referenceImages": [
        {
          "referenceType": "REFERENCE_TYPE_CONTROL",
          "referenceId": 1,
          "referenceImage": {
            "bytesBase64Encoded": "BASE64_CONTROL_IMAGE"
          },
          "controlImageConfig": {
            "controlType": "CONTROL_TYPE",
            "enableControlImageComputation": false
          }
        }
      ]
    }
  ],
  "parameters": {
    "sampleCount": IMAGE_COUNT
  }
}

Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:

curl

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict"

PowerShell

Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json und führen Sie den folgenden Befehl aus:

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/imagen-3.0-capability-001:predict" | Select-Object -Expand Content
Die folgende Beispielantwort bezieht sich auf eine Anfrage mit "sampleCount": 2. Die Antwort gibt zwei Vorhersageobjekte zurück, wobei die generierten Bildbyte base64-codiert sind.
{
  "predictions": [
    {
      "bytesBase64Encoded": "BASE64_IMG_BYTES",
      "mimeType": "image/png"
    },
    {
      "mimeType": "image/png",
      "bytesBase64Encoded": "BASE64_IMG_BYTES"
    }
  ]
}

Anfrage für die kontrollierte Anpassung mit Imagen 2 senden

Eingabebild Sonstige Parameter Ausgabebild
Schacheingaben
Eingabebild. Bildquelle: Alec Cutter auf Unsplash.

Prompt: „digital art version“

Negativ-Prompt: „schwarz-weiß“

Typ des Führungsbilds:Standard-RGB

Kontrollbedingung:canny edge

Imagen-Kontrollskala:0,95

Stilisierte Ausgabe
Schacheingaben
Eingabebild. Bildquelle: Alec Cutter auf Unsplash
(Canny-Kantenerkennung angewendet).

Prompt: „digital art version“

Negativ-Prompt: „schwarz-weiß“

Typ des Führungsbilds: canny edge

Imagen-Kontrollskala:0,95

Stilisierte Ausgabe

Verwenden Sie die folgenden Beispiele, um eine Anfrage für die kontrollierte Anpassung mit Imagen 2 zu senden:

Produktnutzung

Informationen zu den Nutzungsstandards und Inhaltsbeschränkungen für Imagen in Vertex AI finden Sie in den Nutzungsrichtlinien.

Modellversionen

Es gibt mehrere Modelle zur Bildgenerierung, die Sie verwenden können. Weitere Informationen finden Sie unter Imagen-Modelle.

Nächste Schritte

Artikel zu Imagen und anderen Produkten für generative KI in Vertex AI: