▸ English

Die Stable Diffusion Inpainting Anleitung

Bildmängel reparieren, inhaltsbasiertes Füllen, Retuschieren, Detaillieren, Bildelemente hinzufügen

von Andreas Kuhr

Mit künstlicher Intelligenz erzeugte Bilder sind oft alles andere als perfekt: beschädigte Gesichter, zusätzliche Beine, fehlende Arme, defekte Hände, chaotischer Hintergrund - mit der Inpaint-Funktion lassen sich diese Mängel beheben.

Bilder mit Inpaint korrigieren

Stable Diffusion Inpainting ermöglicht es Ihnen darüber hinaus, neue Objekte im Bild hinzu zu fügen (generative fill), vorhandene Objekte inhaltsbasiert zu löschen (content aware fill) oder den Hintergrund zu ändern. Damit ist das Inpaint-Modul z.B. eine kostenfreie Alternative zu Adobe Firefly.

Die Inpaint-Funktion finden Sie unter dem „img2img“-Reiter.

Stable Diffusion Inpaint Benutzeroberfläche

1. Ein Bild hochladen

Ein Bild, das Sie mit „txt2img“ oder „img2img“ erzeugt haben, können Sie dort mit dem „Send to inpaint“-Button an die Inpaint-Funktion senden. Dabei werden auch gleich die Prompts und die Bildeinstellungen übertragen.

Stammt das generierte Bild nicht aus der aktuellen Sitzung, ist es am einfachsten, die PNG-Datei unter dem „PNG“-Reiter zu importieren und nicht unter „Inpaint“. Sie können die Datei dort per Drag-and-Drop auf das dafür vorgesehene Feld schieben oder auf „Source“ klicken und die Datei öffnen. Die „PNG“-Funktion liest nun sämtliche Erzeugungsdaten der Datei aus, die Sie dann mit dem „Send to inpaint“-Button an die inpaint-Funktion weiterreichen können.

Alle anderen Bilddateien ziehen Sie unter „inpaint“ auf das dafür vorgesehene Feld (1) oder Sie klicken auf das Feld und öffnen die Datei auf Ihrem Rechner.

2. Das Modell (Checkpoint) auswählen

Wie bei „txt2img“ und „img2img“ wählen Sie oben links das Modell aus, mit dem Sie arbeiten wollen. In der Regel verwenden Sie das selbe Modell, das Sie für die Generierung des Bildes mit „txt2img“ oder „img2img“ verwendet haben.

Wenn Sie ein Bild bearbeiten wollen, das Sie nicht mit Stable Diffusion erzeugt haben, sollten Sie im Archiv von Civitai oder Huggingface nach einem Modell (Checkpoint) suchen, das dem Stil Ihrer Bildquelle entspricht. Laden Sie die „saftensors“-Datei herunter und speichern Sie diese in Ihrem Modell-Verzeichnis.

Für einige Checkpoints wird ein spezielles Inpaint-Modell angeboten, das für diesen Zweck optimiert ist. In den meisten Fällen liefert der Standard-Checkpoint aber brauchbare Resultate.

3. Die Texteingabe (Prompt)

In der Eingabeaufforderung „Prompt“ beschreiben Sie, was auf dem Bild in welchem Stil dargestellt werden soll.

Um Bildfehler zu beheben oder vorhandene Bildelemente zu verändern, tragen Sie hier eine vollständige Bildbeschreibung ein und wählen als Bezugsrahmen unter „Inpaint area“ (8) die Einstellung „whole picture“. Haben Sie ein Bild mit „txt2img“ oder „img2img“ erzeugt, ist bereits ein Text vorhanden, den Sie ggf. verändern können, um Variationen zu erzeugen.

Entsprechend beschreiben Sie im „negative Prompt“ Inhalte, Fehler und Genres, die Sie in Ihrem Bild ausschließen wollen. In diesem Fall nutzen Sie die negative Texteingabe aber vor allem, um Inhalte aus dem maskierten Bereich zu entfernen oder zu verändern. 

Das Strandbild mit dem Segelboot wurde mit diesem Prompt erzeugt:

photo of a sail boat on the sea, smooth surface, view from the beach, palm trees in the front, blue sky, bright daylight, vivid colors

 

Maske für inhaltsbasiertes Füllen erstellen

Die Maske deckt das Boot und dessen Spiegelung im Wasser vollständig ab.

Um das Segelboot aus dem Bild zu löschen und diesen Bereich inhaltsbasiert zu füllen (content aware fill), wurde der Begriff „sail boat“ aus dem Prompt entfernt und in den negativen Prompt eingefügt:

Prompt:

photo of the sea, smooth surface, view from the beach, palm trees in the front, blue sky, bright daylight, vivid colors

negative Prompt:

sail boat

 

Damit sich die Füllung auf die gesamte Umgebung bezieht, also in diesem Fall das Meer und den Himmel mit den Wolken, musste der Bezugsrahmen unter „Inpaint area“ (8) auf die Einstellung „whole picture“ gesetzt werden.

Inhaltsbasiertes Füllen der Maske (content aware fill)

Wollen Sie ein Objekt in das Bild einfügen, vorhandenen Bildelementen mehr Details hinzufügen oder diese stark verändern, beschreiben Sie ausschließlich das neue Objekt bzw. Bildelement und und wählen Sie als Bezugsrahmen unter „Inpaint area“ (8) die Einstellung „only masked“.

In unserem Strandbild könnten wir damit nun das Segelboot durch ein Fischerboot ersetzen. Da der Rest des Bildes unverändert bleiben soll, maskieren wir den Bereich, in dem wir das Boot sehen möchten und setzen den Bezugsrahmen unter „Inpaint area“ (8) auf „only masked“.

Unseren Prompt reduzieren wir auf das, was wir im maskierten Bereich erzeugen wollen, also:

photo of a white fisher boat on the sea, bright daylight, vivid colors

generative fill

4. Eine Maske erstellen

Haben Sie ein Bild in den Arbeitsbereich von Inpaint importiert, erscheint ein kleiner Kreis auf dem Bild. Das ist Ihr Pinsel, mit dem Sie die Maske erstellen. Klicken Sie auf den Stift-Button, um die Pinselbreite zu vergrößern oder zu verkleinern.

Stable Diffusion Inpaint Maske erstellen

Mit dem Pinsel können Sie nun die Bereiche markieren, die Sie bearbeiten wollen. Die Maske muss nicht besonders präzise gezeichnet werden, der grobe Umriss reicht. Wichtig ist dabei, dass die Fläche der Maske komplett geschlossen ist. Es empfiehlt sich, nur ein Detail zur Zeit zu ändern: also z.B. zuerst den Hintergrund, dann das Gesicht und zum Schluß die Hände.
 
Der linke Button in der Werkzeugleiste oben rechts macht die letzte Masken-Aktion rückgängig, das Radiergummi entfernt die Maske und der X-Button löscht die Bildquelle.

Weitere Funktionen erhalten Sie über die Tastaturkurzbefehle:

  • Alt + Mausrad:     In die Arbeitsfläche hinein zoomen
  • Ctrl + Mausrad:   Pinselbreite anpassen
  • R:     Zoom zurücksetzen
  • S:     Vollbildmodus
  • F:     Arbeitsfläche verschieben

Wenn Ihnen das Zeichnen der Maske in Automatic1111 zu umständlich ist, können Sie diese auch in einem Programm wie Affinity Photo, Photoshop, Gimp oder online mit Photopea vorbereiten und dann mit „Inpaint upload“ importieren. Inpaint erwartet hier ein schwarz-weiß Bild in derselben Größe wie die Bildquelle.

5. Die Rand-Unschärfe der Maske (Mask blur)

Inpaint Mask blur

Um nahtlose Übergänge zwischen den neu erzeugten Details auf der maskierten Fläche und dem Rest des Bildes zu garantieren, erhält die Kontur der Maske einen unscharfen Bereich. Der „Mask blur“ legt die Breite dieses Überblendungsbereichs in Pixeln fest. Der Standard-Wert von 4 Pixeln ist in den meisten Fällen ausreichend. Gibt es sichtbare Übergänge zwischen den Bildelementen, sollten Sie diesen Wert schrittweise erhöhen.

6. Die Masken-Auswahl (Mask mode)

Inpaint mask mode

Der „Mask mode“ bestimmt , welcher Bereich des Bildes modifiziert  werden soll:

  • Inpaint masked: Der maskierte Bereich soll verändert werden.
  • Inpaint not masked: Der unmaskierte Bereich soll bearbeitet werden.

7. Der Masken-Inhalt / Startwert (Mask content)

Inpaint masked content

Die Einstellung „Mask content“ legt fest, mit welchem Inhalt die Berechnung im neu generierten Bildbereich gestartet werden soll:

  • fill: Generierung mit den Farben des Bildes starten
  • original: Generierung mit dem vorhandenen Maskeninhalt starten
  • latent noise: Generierung mit zufälligen Bildrauschen starten
  • latent nothing: Generierung ohne Inhalt starten

Um Bildfehler zu beheben oder vorhandene Bildelemente zu verändern, verwenden Sie in der Regel die Einstellung „original“. Das bearbeitete Element im Bereich der Maske bezieht sich dann auf den Inhalt des gesamten Bildes.

Möchten Sie ein neues Objekt in das Bild einfügen, empfiehlt sich die Einstellung „latent noise“. Im maskierten Bereich wird dann ein völlig neues Bild erzeugt.

8. Der Bezugsrahmen (Inpaint area)

Inpaint area

Der Bezugsrahmen (Inpaint area) gibt an, welcher vorhandene Bild-Inhalt die Generierung des neuen Bild-Elements beeinflussen soll.

  • Whole picture: berücksichtigt das gesamte Umfeld der Maske. Die Neuberechnung des maskierten Bereichs bezieht dann z.B. bei einer Person mit drei Beinen den vorhanden Vorder- und Hintergrund in die Berechnung ein und ersetzt das überzählige Bein durch Elemente in der Umgebung. Diese Einstellung eignet sich vor allem für großflächige Veränderungen oder zum inhaltsbasierten Füllen, wie im Strandbild-Beispiel oben gezeigt.
  • Only masked: berücksichtigt nur den Inhalt des maskierten Bereichs. Dies ist z.B. sinnvoll, wenn Sie ein neues Objekt in das Bild einfügen oder ein Bildelement stark verändern wollen. In diesem Fall wird die Auflösung der Maske auf die eingestellte Bildgröße vergrößert, das neue Element generiert und dann die Auflösung wieder auf das ursprüngliche Maß verkleinert. Der Vorteil dieser Methode ist, dass das erzeugte Element sehr viel detaillierter dargestellt wird, als mit der „whole picture“-Prozedur. Dies ist z.B. für die Überarbeitung von Gesichtern hilfreich.

Hier ist ein weiteres Anwendungsbeispiel für die „only masked“-Einstellung:

Bildelement korrigieren mit Inpaint only mask

In diesem Bild wirkt die rote Einkaufstasche auf dem Rücken der Frau unrealistisch und fehl am Platze. Außerdem ist die linke Hand deformiert. Die Einkaufstasche komplett verschwinden zu lassen, dürfte sich schwierig gestalten, da es sich um ein auffälliges, zentrales Bildelement handelt. Am sinnvollsten wäre es an dieser Stelle, die Dame stattdessen mit einem roten Rucksack auszustatten.

Dazu maskieren wir zuerst die Einkaufstasche einschließlich der Henkel und beschränken uns darauf, im Prompt nur das zu beschreiben, was wir im Bereich der Maske generieren wollen:

photo of a red leather rucksack

 

Inpaint generativ fill Beispiel

Die Hand der Frau läßt sich dann anschließend mit derselben Prozedur reparieren. 

9. Die Bezugsrahmen-Erweiterung (Only masked padding, pixels)

Die Einstellung „Only masked padding“ beeinflußt ausschließlich die „Only masked“-Methode. Da die „Only masked“-Prozedur nur den Inhalt des maskierten Bereichs zugrunde legt und den Rest der Bildquelle ignoriert, kann es passieren, dass das neue Bildelement wenig Bezug zum Rest des Bildes hat und wie ein Fremdkörper wirkt.

Mit dem „Only masked padding, pixel“-Wert lässt sich der Bezugsrahmen schrittweise erweitern, so dass die Umgebung der Maske größeren Einfluß auf die Erzeugung des neuen Bildelements hat.

10. Bildanzahl / Stapelgröße (Batch count)

Der „Batch count“ legt fest, wieviele Bilder erzeugt werden sollen. Da nicht jedes mit Inpaint generierte Bild ein brauchbares Ergebnis liefert, sollten Sie hier mindestens 6 Variationen erstellen.

11. Das Mischungsverhältnis zwischen Texteingabe und Zufall (CFG Scale)

Wie bei der img2img-Bildgenerierung, sollte man bei der Bild-zu-Bild-Generierung mit Inpaint zurückhaltend mit dem Classifier Free Guidance Scale (CFG Scale) umgehen. Da der CFG Scale den Umfang festlegt, in dem die Texteingaben bei der Bilderzeugung berücksichtigt werden, ist die „Denoising strength“ (12) hier der entscheidende Regler.

Je größer der CFG Scale ist, desto zufälliger und kreativer fällt das Ergebnis aus. Der Standardwert von 7 führt hier meistens zu den besten Resultaten.

12. Das Mischungsverhältnis zwischen Bildquelle und Zufall (Denoising strength)

Die „Denoising strength“ regelt, in welchem Ausmaß die Bildquelle verändert wird. Je höher das Bildrauschen (Noise) ist, das beim Start der Bildgenerierung über die Bildquelle gelegt wird, desto größer sind die Veränderungen. Einstellbar sind Werte von 0 - 1. Ein Wert von 0 gibt das Originalbild unverändert aus. Ein Wert von 1 ignoriert die Bildquelle komplett und berücksichtigt nur die Texteingabe in dem Maß, das der CFG-Scale vorgibt.

Da die Bildquelle im maskierten Bereich meistens stark verändert werden soll, empfehlen sich hier Werte zwischen 0.6 und 0.9:

  • 0.4 - 0.5: geringe Veränderung der Bildquelle - hilfreich, um mehr Details zu erhalten.
  • 0.5 - 0.65: milde Veränderung der Bildquelle - erzeugt leichte Variationen, z.B. für Gesichter oder Materialien.
  • 0.65 - 0.75: kreative Veränderung der Bildquelle - Farben und Bildkomposition der Bildquelle werden berücksichtigt, aber Objekte werden stärker verändert.
  • 0.75 - 0.9: umfangreiche Veränderung der Bildquelle - Farben und Bildkomposition der Bildquelle werden berücksichtigt, aber Objekte werden komplett durch andere Bildelemente ersetzt.

13. Der Bildursprung (Seed)

Jedes erzeugte Bild erhält eine Identifikationsnummer, die Sie als Startwert nutzen oder mit der Sie das Bild jederzeit wieder herstellen können. Je nachdem, in welchem Umfang Sie Bildelemente verändern oder neu einfügen wollen, verwenden Sie hier den Seed der Bildquelle oder den Zufallswert -1.

Mit dem Newsletter nichts mehr verpassen!

Lassen Sie sich alle Neuigkeiten und Updates per E-Mail zusenden. Kein Spam, keine Werbung, kein Influencing.



Diese Seite teilen:

E-Mail Facebook Reddit Whatsapp