Auf dieser Seite wird beschrieben, wie Sie Objekte aus einem Bild entfernen, indem Sie einen Maskenbereich verwenden. Dieser Vorgang wird auch als Inpainting bezeichnet. Sie können Ihre eigene Maske verwenden oder Imagen eine Maske für Sie generieren lassen.
Beispiel für die Entfernung von Inhalten
Im folgenden Beispiel werden Inpainting und eine Bildmaske verwendet, um Inhalte aus einem vorhandenen Bild zu entfernen:
Eingaben
Basisbild* zum Bearbeiten |
Mit Tools in der Google Cloud Console angegebener Maskenbereich |
Text-Prompt |
|---|---|---|
|
|
Prompt: Remove selected objects from the image (Entferne ausgewählte Objekte aus dem Bild) |
* Bildnachweis: Inside Weather auf Unsplash
Ausgabe nach Angabe eines Maskenbereichs in der Google Cloud -Konsole
|
|
|
Modellkarte für Imagen for Editing and Customization ansehen
Hinweise
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
Richten Sie die Authentifizierung für Ihre Umgebung ein.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
Python
Wenn Sie die Python -Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, installieren und initialisieren Sie die gcloud CLI und richten Sie dann die Standardanmeldedaten für Anwendungen mit Ihren Nutzeranmeldedaten ein.
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.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Weitere Informationen finden Sie in der Dokumentation zur Google Cloud -Authentifizierung unter ADC für eine lokale Entwicklungsumgebung 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.
Mit einem definierten Maskenbereich entfernen
Verwenden Sie die folgenden Beispiele, um ein Inpainting zum Entfernen von Inhalten anzugeben. In diesen Beispielen geben Sie ein Basisbild, einen Text-Prompt und einen Maskenbereich an, um das Basisbild zu ändern.
Console
1. Rufen Sie in der Google Cloud Console die Seite Vertex AI > Media Studio auf.<a href="https://console.cloud.google.com/vertex-ai/studio/media/generate;tab=image" class="button button-primary" target="console" track-name="consoleLink" track-type="task">Go to Media Studio</a>Klicken Sie auf Hochladen. Wählen Sie im angezeigten Dateidialogfeld eine Datei zum Hochladen aus.
Klicken Sie auf Inpaint.
Klicken Sie im Bereich Parameter auf Inpaint (Remove) (Ausbessern – Entfernen).
Führen Sie einen der folgenden Schritte aus:
Eigene Maske hochladen:
Erstellen Sie eine Maske auf Ihrem Computer.
Klicken Sie auf Maske hochladen. Wählen Sie im angezeigten Dialogfeld eine Maske zum Hochladen aus.
Eigene Maske definieren:Verwenden Sie in der Bearbeitungssymbolleiste die Maskentools (Feld, Pinsel oder masked_transitions-Invertierungstool), um den Bereich oder die Bereiche anzugeben, in denen Inhalte hinzugefügt werden sollen.
Optional: Passen Sie im Bereich Parameter die folgenden Optionen an:
Modell: Das zu verwendende Imagen-Modell
Anzahl der Ergebnisse: Die Anzahl der zu generierenden Ergebnisse
Negativer Prompt: Elemente, die nicht generiert werden sollen
Geben Sie im Prompt-Feld einen Prompt zum Ändern des Bildes ein.
Klicken Sie auf Erstellen.
Python
Installieren
pip install --upgrade google-genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Gen AI SDK mit Vertex AI festlegen:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=True
REST
Bevor Sie die Anfragedaten verwenden, ersetzen Sie folgende Werte:
- PROJECT_ID: Ihre Google Cloud Projekt-ID.
- LOCATION: Die Region Ihres Projekts. Beispiel:
us-central1,europe-west2oderasia-northeast3. Eine Liste der verfügbaren Regionen finden Sie unter Generative AI an Vertex AI-Standorten. prompt: Beim Inpainting von Bildern können Sie einen leeren String angeben, um die bearbeiteten Bilder zu erstellen. Wenn Sie einen Prompt angeben, sollten Sie den maskierten Bereich beschreiben, um die besten Ergebnisse zu erzielen. Beispiel: „ein blauer Himmel“ statt „füge einen blauen Himmel ein“.referenceType: EinReferenceImageist ein Bild, das zusätzlichen Kontext für die Bildbearbeitung liefert. Für Bearbeitungsanwendungsfälle ist ein normales RGB-Rohbild als Referenz (REFERENCE_TYPE_RAW) erforderlich. Eine Anfrage darf höchstens ein rohes Referenzbild enthalten. Das Ausgabebild hat dieselbe Höhe und Breite wie das RAW-Referenzbild. Für Anwendungsfälle mit maskierter Bearbeitung ist ein Maskenreferenzbild (REFERENCE_TYPE_MASK) erforderlich. Wenn ein rohes Referenzbild vorhanden ist, muss das Maskenbild dieselbe Höhe und Breite wie das rohe Referenzbild haben. Wenn das Maskenreferenzbild leer ist undmaskModenicht aufMASK_MODE_USER_PROVIDEDfestgelegt ist, wird die Maske anhand des Rohreferenzbilds berechnet.- B64_BASE_IMAGE: Das Basisbild, das bearbeitet oder hochskaliert werden soll. Das Bild muss als base64-codierter Bytestring angegeben werden. Größenbeschränkung: 10 MB.
- B64_OUTPAINTING_MASK: Das Schwarz-Weiß-Bild, das Sie als Maskenebene zum Bearbeiten des Originalbilds verwenden möchten. Die Maske muss dieselbe Auflösung wie das Eingabebild haben. Das Ausgabebild hat dieselbe Auflösung wie das Eingabebild. Dieses Maskenbild muss als base64-codierter Bytestring angegeben werden. Größenbeschränkung: 10 MB.
- MASK_DILATION – Gleitkommazahl. Der Prozentsatz der Bildbreite, um die diese Maske erweitert werden soll. Für die Funktion „Bild erweitern“ wird ein Wert von
0.03empfohlen. Wenn Sie"dilation": 0.0festlegen, kann dies zu sichtbaren Rändern am Erweiterungspunkt oder zu einem weißen Randeffekt führen. - EDIT_STEPS – Ganzzahl. Die Anzahl der Stichprobenschritte für das Basismodell. Für Outpainting beginnen Sie mit
35Schritten. Erhöhen Sie die Anzahl der Schritte, wenn die Qualität nicht Ihren Anforderungen entspricht. - EDIT_IMAGE_COUNT: Die Anzahl der bearbeiteten 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": "", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_RAW", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "B64_BASE_IMAGE" } }, { "referenceType": "REFERENCE_TYPE_MASK", "referenceId": 2, "referenceImage": { "bytesBase64Encoded": "B64_OUTPAINTING_MASK" }, "maskImageConfig": { "maskMode": "MASK_MODE_USER_PROVIDED", "dilation": MASK_DILATION } } ] } ], "parameters": { "editConfig": { "baseSteps": EDIT_STEPS }, "editMode": "EDIT_MODE_OUTPAINT", "sampleCount": EDIT_IMAGE_COUNT } }Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
Die folgende Beispielantwort bezieht sich auf eine Anfrage mitcurl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.jsonund 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.jsonund 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"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" } ] }Entfernen mit automatischer Maskenerkennung
Verwenden Sie die folgenden Beispiele, um ein Inpainting zum Entfernen von Inhalten anzugeben. In diesen Beispielen geben Sie ein Basis-Image und einen Text-Prompt an. Imagen erkennt und erstellt automatisch einen Maskenbereich, um das Ausgangsbild zu verändern.
Console
1. Rufen Sie in der Google Cloud Console die Seite Vertex AI > Media Studio auf.<a href="https://console.cloud.google.com/vertex-ai/studio/media/generate;tab=image" class="button button-primary" target="console" track-name="consoleLink" track-type="task">Go to Media Studio</a>Klicken Sie auf Hochladen. Wählen Sie im angezeigten Dateidialogfeld eine Datei zum Hochladen aus.
Klicken Sie auf Inpaint.
Klicken Sie im Bereich Parameter auf Inpaint (Remove) (Ausbessern – Entfernen).
Klicken Sie in der Bearbeitungssymbolleiste auf background_replaceExtraktion.
Wählen Sie eine der Optionen zum Extrahieren von Masken aus:
Hintergrundelemente: Erkennt die Hintergrundelemente und erstellt eine Maske um diese Elemente.
Vordergrundelemente: Erkennt die Objekte im Vordergrund und erstellt eine Maske um diese herum.
background_replacePersonen: Erkennt Personen und erstellt eine Maske um sie herum.
Optional: Passen Sie im Bereich Parameter die folgenden Optionen an:
Modell: Das zu verwendende Imagen-Modell
Anzahl der Ergebnisse: Die Anzahl der zu generierenden Ergebnisse
Negativer Prompt: Elemente, die nicht generiert werden sollen
Geben Sie im Prompt-Feld einen neuen Prompt zum Ändern des Bildes ein.
Klicken Sie auf SendenGenerieren.
Python
Installieren
pip install --upgrade google-genai
Weitere Informationen finden Sie in der SDK-Referenzdokumentation.
Umgebungsvariablen für die Verwendung des Gen AI SDK mit Vertex AI festlegen:
# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values # with appropriate values for your project. export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT export GOOGLE_CLOUD_LOCATION=us-central1 export GOOGLE_GENAI_USE_VERTEXAI=True
REST
Bevor Sie die Anfragedaten verwenden, ersetzen Sie folgende Werte:
- PROJECT_ID: Ihre Google Cloud Projekt-ID.
- LOCATION: Die Region Ihres Projekts. Beispiel:
us-central1,europe-west2oderasia-northeast3. Eine Liste der verfügbaren Regionen finden Sie unter Generative AI an Vertex AI-Standorten. prompt: Um optimale Ergebnisse zu erzielen, lassen Sie einen Prompt undnegativePromptweg, wenn Sie Inpainting zum Entfernen verwenden.- B64_BASE_IMAGE: Das Basisbild, das bearbeitet oder hochskaliert werden soll. Das Bild muss als base64-codierter Bytestring angegeben werden. Größenbeschränkung: 10 MB.
- MASK_MODE: Ein String, der den Typ der automatischen Maskenerstellung festlegt, die vom Modell verwendet wird.
Verfügbare Werte:
MASK_MODE_BACKGROUND: Generiert automatisch eine Maske mithilfe der Hintergrundsegmentierung. Mit dieser Einstellung können Sie Hintergrundinhalte ändern.MASK_MODE_FOREGROUND: Generiert automatisch eine Maske mithilfe der Vordergrundsegmentierung. Mit dieser Einstellung können Sie Vordergrundinhalte bearbeiten, z. B. Vordergrundobjekte entfernen (Entfernung durch Inpainting).MASK_MODE_SEMANTIC: Generiert automatisch eine Maske mithilfe der semantischen Segmentierung basierend auf den Segmentierungsklassen, die Sie immaskImageConfig.maskClasses-Array angeben. Beispiel:"maskImageConfig": { "maskMode": "MASK_MODE_SEMANTIC", "maskClasses": [175, 176], // bicycle, car "dilation": 0.01 }
- MASK_DILATION – Gleitkommazahl. Der Prozentsatz der Bildbreite, um die Maske zu erweitern. Ein Wert von
0.01wird empfohlen, um unvollkommene Eingabemasken auszugleichen. - EDIT_STEPS – Ganzzahl. Die Anzahl der Stichprobenschritte für das Basismodell. Für das Entfernen von Inpainting-Elementen beginnen Sie mit
12Schritten. Erhöhen Sie die Anzahl der Schritte auf das obere Limit von75, wenn die Qualität nicht Ihren Anforderungen entspricht. Wenn Sie die Anzahl der Schritte erhöhen, steigt auch die Anfragelatenz. - EDIT_IMAGE_COUNT: Die Anzahl der bearbeiteten 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": "", "referenceImages": [ { "referenceType": "REFERENCE_TYPE_RAW", "referenceId": 1, "referenceImage": { "bytesBase64Encoded": "B64_BASE_IMAGE" } }, { "referenceType": "REFERENCE_TYPE_MASK", "referenceId": 2, "maskImageConfig": { "maskMode": "MASK_MODE", "dilation": MASK_DILATION } } ] } ], "parameters": { "editConfig": { "baseSteps": EDIT_STEPS }, "editMode": "EDIT_MODE_INPAINT_REMOVAL", "sampleCount": EDIT_IMAGE_COUNT } }Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
Die folgende Beispielantwort bezieht sich auf eine Anfrage mitcurl
Speichern Sie den Anfragetext in einer Datei mit dem Namen
request.jsonund 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.jsonund 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"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" } ] }Beschränkungen
In den folgenden Abschnitten werden die Einschränkungen der Funktion „Objekte entfernen“ von Imagen erläutert.
Geänderte Pixel
Pixel, die vom Modell generiert werden und sich nicht in der Maske befinden, werden mit der Auflösung des Modells (z. B. 1.024 × 1.024) generiert und sind nicht garantiert identisch mit der Eingabe. Das kann zu geringfügigen Änderungen am generierten Bild führen.
Für eine perfekte Bildwiederherstellung empfehlen wir, das generierte Bild mithilfe der Maske mit dem Eingabebild zu verschmelzen. Das Blending ist in der Regel erforderlich, wenn die Auflösung des Eingabebilds 2K oder höher ist.
Einschränkung bei der Entfernung
Kleine Objekte, die an die Maske angrenzen, werden möglicherweise ebenfalls entfernt. Für optimale Ergebnisse sollte die Maske so genau wie möglich sein.
Wenn Sie große Bereiche des Himmels auf Außenaufnahmen entfernen, kann das zu unerwünschten Artefakten führen. Für optimale Ergebnisse empfehlen wir, einen Prompt anzugeben.
Nächste Schritte
Artikel zu Imagen und anderen Produkten für generative KI in Vertex AI:
- Leitfaden für Entwickler zum Einstieg in Imagen 3 in Vertex AI
- Neue generative Medienmodelle und ‑tools, die von und für Creator entwickelt wurden
- Neu in Gemini: Benutzerdefinierte Gems und verbesserte Bildgenerierung mit Imagen 3
- Google DeepMind: Imagen 3 – unser bisher bestes Text-zu-Bild-Modell
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-12-04 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-12-04 (UTC)."],[],[]]