Ähnliche Fälle: https://cloud.tencent.com/developer/article/2365063
ein aktuelles Beispiel
Eine schöne Frau in einem weißen, mit Spitze verzierten Hochzeitskleid geht bei Sonnenuntergang am Strand entlang. Ihr Haar wird sanft von der Brise angehoben, und sie hält einen Strauß weißer Rosen. Ihr Haar wird sanft von der Brise angehoben, und sie hält einen Strauß weißer Rosen. dynamische Pose, Fotografie, Meisterwerk, beste Qualität, 8K, HDR, hochauflösend, absurdres: 1.2, Kodak portra portra 400, Filmkorn, unscharfer Hintergrund, bokeh: 1.2, Filmkorn. unscharfer Hintergrund, Bokeh: 1.2, Linsenreflexion
Reverse: nsfw, hässlich, Gemälde, Skizzen, (schlechteste Qualität:2), (niedrige Qualität:2), (normale Qualität:2), lowres
Es gibt zum Beispiel Fotos wie dieses von einer bekleideten Schaufensterpuppe, das in unserem eigenen Ausstellungsraum aufgenommen wurde.

Aufdachplan
Wenn Sie Stable Diffusion verwenden können, werden Sie nicht mehr als 10 Minuten brauchen, um das erste Bild zu erstellen.
Selbst wenn Anpassungen vorgenommen werden müssen, ist eine Stunde ausreichend. Zum Beispiel:

Schaufensterpuppe Generation Live Model 1

Schaufensterpuppe Generation Live Model 2

Schaufensterpuppe Generation Live Model 2
I. Ideen für die praxisnahe Erstellung von Mensch-Plattform-Diagrammen
Wie verwandelt man eine Tischattrappe in eine echte Person und behält trotzdem die Kleidung?
An dieser Stelle werden Freunde, die mit Stable Diffusion vertraut sind, sagen: Ich weiß, es ist die Inpaint-Funktion in der Tuchengtu zu verwenden, und dann eine Maske außerhalb der Kleidung zu machen, so dass Stable Diffusion Nachmalen.
Wie machen Sie die Maske? Wenn du die Maske mit einem Strich von Hand machen musst, ist das zu langsam. Wenn das der Fall ist, muss ich mit diesem hier nicht herauskommen.
Auch hier wird jemand sagen, ich weiß, erst die Maske in Photoshop erstellen und dann die Funktion zum Neuzeichnen der Maske verwenden.
Das ist eine Möglichkeit, aber es könnte jetzt klüger sein.
Heute werden wir ein Plugin verwenden, um ein Foto zu malen, das das Foto nimmt und es mit Farbblöcken für verschiedene Dinge aufteilt. Am Ende des Tages müssen wir nur noch auswählen, welche Farbblöcke wir zu Masken machen wollen, und auf diese Weise werden die Masken erstellt.
Die Ummalfunktion wird dann verwendet, um die Puppe unter Beibehaltung der Kleidung lebensgroß zu machen.
Die Grundidee ist zwar die gleiche, aber wenn Sie es selbst gemacht haben, werden Sie wissen, dass es auf dem Weg dorthin noch viele Schlaglöcher gibt.
In diesem Artikel zeige ich Ihnen nicht nur, wie Sie einen Dummy in eine echte Person verwandeln können, sondern vor allem, wie ich diese Löcher fülle.
Ich werde sie Ihnen jetzt alle erklären.
II. vorbereitende Werkzeuge für die Realisierung des Dummy-Tisch-Modells
Für diese Demonstration wird die WebUI von Automatic 1111 mit dem Modell SD 1.5 verwendet, also machen wir uns bereit!
Vorbereitung 1: alles übermalen
Zunächst werden wir das Plug-in Inpaint Anything verwenden. Bitte prüfen Sie in der WebUI von Automatic 1111, ob das Plug-in Inpaint Anything vorhanden ist, falls nicht, installieren Sie es.
Installieren Sie Inpaint alles
Gehen Sie zu Installieren von URL, geben Sie
https://github.com/Uminosachi/sd-webui-inpaint-anything.git
Fertig zum Einbau
Gehen Sie nach der Installation zurück zur Registerkarte "Installieren", drücken Sie auf "Übernehmen" und beenden Sie den Vorgang.
Vorbereitung 2: Verletzungsspezifisches Modell
Dieses Mal werde ich epiCPhotoGasm verwenden, um zu demonstrieren, dass die Qualität des Modells so aussieht, als ob es von einem Meisterfotografen aufgenommen wurde, was es besonders geeignet für den Einsatz an Orten macht, die realistische Bilder erfordern.
Anstelle seines Hauptmodells werden wir heute sein Inpaint-Modell verwenden.
Über den unten stehenden Link können Sie das Inpaint-Modell herunterladen und zur späteren Verwendung installieren.
https://civitai.com/models/132632?modelVersionId=201346
Vorbereitung 3: Dummy-Foto
Nehmen wir unser Beispiel
Dies wurde in seinem eigenen Ausstellungsraum aufgenommen. Seien Sie gewarnt, er ist eine schwarze Schaufensterpuppe, die später für einige Probleme sorgen wird. Der Teaser ist zuerst hier drüben.
Sobald diese 3 Dinge fertig sind, können wir beginnen.
III. betriebliche Demonstrationen
In diesem Unterricht wird das Modell SD 1.5 verwendet, um den gesamten Prozess zu demonstrieren.
Schritt 1: SAM-Modell auswählen und Modell herunterladen
Klicken Sie auf die Registerkarte "Alles einfärben" und Sie sehen einen Bildschirm wie diesen
Wählen Sie die Segmentmodell-ID des zu verwendenden semantischen Segmentierungsmodells. Hier wählen wir das Modell sam_vit_l_0b3195.pth. Wenn Sie es gerade erst installiert haben, werden diese Modelle noch nicht heruntergeladen. Sie müssen die Schaltfläche "Modell herunterladen" betätigen, bevor es heruntergeladen wird.
Belastung.
Schritt 2: Besorgen Sie sich ein Beispiel für ein Segmentierungsdiagramm
Laden Sie das zu bemalende Bild hoch und drücken Sie Segment Anything ausführen.
Ein Beispiel für ein geteiltes Diagramm finden Sie rechts
Schritt 3: Erstellen Sie eine vorläufige Maske.
Wenn wir später die Funktion "Neuzeichnen" verwenden wollen, müssen wir eine Maske für den Bereich erstellen, den wir neu zeichnen wollen. Da wir nun semantisch getrennte Farbblöcke haben, wie können wir schnell eine Maske erstellen?
Es ist ganz einfach: Nimm die Maus und tippe auf den Farbblock, den du maskieren willst. Du musst nicht den ganzen Block malen, sondern nur auf den Block tippen und ein bisschen warten, dann wird er zu einer Maske.
Denn wir wollen, dass die Hintergründe, Attrappen usw. neu gestrichen werden, also müssen diese Stellen aufgegriffen werden, aber die Hintergründe sind ein bisschen kompliziert zu machen
Das ist zu umständlich, deshalb können wir stattdessen auf den Farbblock des Kleides klicken und dann die Option Maske umkehren wählen.
Wenn Sie alle ausgewählt haben, drücken Sie auf Maske erstellen, und Sie sehen das Ergebnis der Maske.
Schritt 4: Anzeigen der Maskenergebnisse
Überprüfen Sie die Ergebnisse der Maske, um zu sehen, ob es irgendwelche verpasst, in der Tat, der Bildschirm, wenn komplexer, so ist es schwierig, klar zu sehen, hier ist ein Trick, die Seite der Maske nur Registerkarte zu öffnen.
Darauf befinden sich zwei Tasten:
Maske als Alphawert des Bildes erhalten
Maske holen
Sobald diese beiden Tasten gedrückt werden, können Sie sehen, ob die Maske fertig ist.
Beachten Sie, dass das Weiße hier die Maske ist, der Bereich, der in Zukunft mit KI gefüllt werden soll, und das Schwarze ist der Teil, der beibehalten werden soll, also verstehen Sie das nicht falsch.
Schritt 5: Feinabstimmung der Maske
Wie Sie auf diesem maskierten Bild sehen können, gibt es außer der Kleidung noch andere Stellen, die noch nicht maskiert wurden (d. h. es gibt Dinge, die nicht dort sein sollten)
(schwarze Linien).
Dann erfolgt die Feinabstimmung von Hand.
Gehen Sie zurück zu dem Diagramm, das die Maske erzeugt hat, und malen Sie die Bereiche, in denen Sie die Maske hinzufügen möchten. Wenn es Bereiche gibt, die Sie schwarz hinzufügen möchten, verschieben Sie sie manuell und drücken Sie auf die Schaltfläche Maske durch Skatchen trimmen, und umgekehrt, um Weiß hinzuzufügen, verschieben Sie sie manuell und drücken Sie auf die Schaltfläche Maske durch Skatchen hinzufügen.
Wenn Sie das Gefühl haben, dass das Diagramm zu klein ist, um es zu malen, können Sie es durch Drücken von S vergrößern und dann erneut S drücken, um es wiederherzustellen.
Plus Schwarz: Ziermaske mit Skatchtaste
Weiß hinzufügen: Maske über die Schaltfläche Skatchen hinzufügen
Nach der Anwendung drücken Sie die Add mask by sketch
.
Gehen Sie dann auf die Registerkarte Nur Maske und drücken Sie die Get mask
bis zu Get mask as alpha of image
Ist es das, was wir wollen?
Die Maske.
Wenn es noch andere verirrte Stellen gibt, schneiden Sie sie auf die gleiche Weise ab; wenn das in Ordnung ist, machen wir mit dem nächsten Schritt weiter.
Schritt 6: Beginnen Sie mit dem Übermalen in inpaint anything
Sobald unsere Masken fertig sind, können wir eine stabile Diffusion anfordern, um den Hintergrund aufzufüllen.
Gehen Sie auf die Registerkarte "Einfärben" und geben Sie die Erwähnung und die umgekehrte Erwähnung ein. Denn das Bild, das ich erzeugen möchte, ist: schöne Frau im Hochzeitskleid mit einer weißen Rose in der Hand. Geben Sie also den folgenden Teleprompter ein:
A beautiful woman wearing a white wedding dress while holding a bouquet of white roses.
Dynamic pose, photography, masterpiece, best quality, 8K, HDR, highres, absurdres: 1.2,
Kodak portra 400, film grain, blurry background, bokeh: 1.2, lens flare
Der umgekehrte Teleprompter sieht folgendermaßen aus:
Nsfw, ugly, paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres
Wählen Sie eines der Inpaint-Modelle aus, das sind die Inpaint-Voreinstellungen.
Da wir echte Fotos machen wollen, verwenden wir die Uminosachi/realistischeVisionV51_v51VAE-Bemalung diese
Modelle.
Drücken Sie Run Inpainting und Sie erhalten ein Bild des Live-Modells.
Sieht gut aus, lass uns noch ein paar mehr machen.
Glauben Sie, dass dieser Unterricht vorbei ist, nachdem Sie die Karte erhalten haben?
Noch nicht! Denn es gibt noch einige Fragen, ob wir es wirklich nutzen wollen
- Es ist unmöglich, viele Bilder auf einmal auszuwählen.
- Es gibt keine Möglichkeit, das von uns gewünschte Modell zu verwenden
Was ist also zu tun? Wir brauchen also den nächsten Schritt.
Schritt 7: Verwenden Sie die Redraw-Funktion von Tupelo
Gehen Sie zurück zur Registerkarte "Nur Maske" und klicken Sie auf "Senden an img 2 img inpaint".
Wenn Sie das Maskenfoto senden, gelangen Sie auf die Registerkarte "Inpaint Upload" von Tupelo. Sie werden sehen, dass Ihr Bild und Ihre Maske gesendet wurden!
Diejenigen, die mit der SD vertraut sind, werden sich freuen, wieder an einem vertrauten Ort zu sein und endlich ihr Lieblingsmodell auswählen zu können.
Wählen wir also ein Modell aus! Hier wähle ich chilloutmix.
Dann passen Sie die Größe des Bildes an. Nach dem Drücken der Dreieckstafel passt das System die Breite und Höhe automatisch an das Foto an, ohne dass wir es erneut eingeben müssen.
Um nun den Teleprompter auszufüllen, wollen wir ihn so ändern, dass die schöne Frau in ihrem Hochzeitskleid am Strand steht, ihr Haar sanft im Wind weht und sie einen Strauß weißer Rosen in der Hand hält. Ändern wir also den Teleprompter wie folgt:
A beautiful woman wearing a white wedding dress adorned with lace, walking along the
beach at sunset. Her hair is gently lifted by the breeze, and she is holding a bouquet of white roses. Dynamic pose, photography, masterpiece, best quality, 8K, HDR, highres, absurdres: 1.2,
Kodak portra 400, film grain, blurry background, bokeh: 1.2, lens flare
Der umgekehrte Teleprompter bleibt unverändert:
Nsfw, ugly, paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres
Der Sampler ist DPM++ 2 M Karras mit einem Abtastschritt von 40.
Alle anderen Parameter werden als Voreinstellungen verwendet, wie unten gezeigt:
Sie sollten jetzt alle bereit sein, die Daten zu generieren!
Seltsame Dinge sind aufgetaucht!
Warum wechselt das KI-generierte Modell seine Kleidung nicht? Die Kleidung sieht aus, als würde sie in der Luft schweben.
Ist es der maskierte Inhalt, der angepasst werden muss? Die aktuelle Voreinstellung ist das Original.
Ändern wir es in etwas anderes, beginnen wir mit Füllen.
Es trägt sich immer noch nicht gut. Dann schalten Sie es auf latentes Rauschen und sehen.
Das Bild ist noch merkwürdiger. Wird es also ein latentes Nichts sein?
Und zwar nicht angezogen! Was ist denn hier los? Warum bleiben die Kleider immer an?
Hier kommen wir also zu dem Schluss... es ist kaputt ....
Ziehen Sie noch keine voreiligen Schlüsse, hier geht es wirklich darum, dass wir das falsche Modell gewählt haben.
Schritt 8: Wählen Sie epiCPhotoGasm Inpainting Model Repainting
Der Grund dafür, dass die Kleidung nicht immer passt, ist ganz einfach: Wir malen um, wir erzeugen nicht einfach nur, wir verwenden ein Modell, das speziell für das Ummalen entwickelt wurde.
ChilloutMix ist nicht das Modell, das für das Repainting verwendet werden soll, also werden wir jetzt stattdessen das zuvor heruntergeladene epiCPhotoGasm_zinpainting verwenden.
Modelle.
Nachdem das Modell geändert wurde, können wir nun mit der Generierung beginnen. Das sollte jetzt klappen!
Schauen wir uns die Ergebnisse an:
Wir haben eine verkleidete, wunderschöne Schaufensterpuppe.
Was ist denn hier los? Eben waren die Kleider noch nicht angezogen, und jetzt ist die Person weg, wo ist die versprochene Schönheit? Könnte es Pech sein, erzeugen Sie es wieder und sehen Sie.
Die Schönheit ist also da, aber was hat es mit dem schwarzen Tuch auf seiner Brust auf sich? Wir haben nicht um dieses Tuch gebeten!
Der Grund dafür ist, dass der aktuelle Parameter für den Maskeninhalt "Original" ist, der sich beim Neuzeichnen auf die Struktur und die Farbe des Originalbildes bezieht, d. h. auf das Erscheinungsbild der Plattformen und des schwarzen Stoffes, da diese im Originalbild vorhanden sind. Wie lässt sich dieses Problem also lösen?
Ändern Sie einfach den Parameter in etwas anderes, z. B. ändern wir in füllen. erhalten Sie ein Diagramm wie das folgende.
Wenn latentes Rauschen verwendet wird, sieht das Ergebnis wie folgt aus
Wenn das latente Nichts verwendet wird, dann ist die
Ist das nicht ein tolles Bild? Es ist noch nicht einmal auf diese Qualität abgestimmt, es wird noch besser, wenn es noch einmal optimiert wird, was ist also der nächste Schritt zur Optimierung?
IV. häufig gestellte Fragen
Sobald Sie auf diese Weise arbeiten, werden Sie vielleicht einige Fragen haben, die Sie nach und nach erklären müssen.
Frage 1: Was ist Instanzpartitionierung?
Die Instanzensegmentierung bezieht sich auf den Prozess der Unterscheidung zwischen Dingen in einem Bild, indem verschiedene Dinge mit unterschiedlichen Farben gekennzeichnet werden, wobei jede Farbe ein Ding darstellt.
Diesmal geht es um die Aufteilung mit Beispielen, um die Zeit zu verkürzen, die wir für die Erstellung einer Maske benötigen.
Frage 2: Inpaint Anything hat verschiedene Segment Anything Modelle, was ist der Unterschied?
Das Segment Anything Model, auch SAM genannt, bietet 9 Arten von Segment Anything Modellen in Inpaint Anything.
Sie kann in 4 Kategorien unterteilt werden, die wir nacheinander erläutern.
Klasse 1: beginnend mit sam_vit - SAM-Modell bereitgestellt von Meta
Der Anfang von sam_vit ist das von meta bereitgestellte Modell. Da Meta ihr semantisches Segmentierungsmodell Segment Anything Model genannt hat, ist dies der Ausgangspunkt für das SAM, über das wir derzeit sprechen, und sollte als Urheber dieser Welle von SAM-Modellen betrachtet werden.
Dies ist eine Modellreihe, die von Meta im April 2023 angekündigt wurde, und andere SAM-Modelle werden mit dieser Reihe verglichen werden. Es gibt 3 Modelle, in Bezug auf die Größe, h (groß), l (groß), b (Basis), groß > groß > Basis, und die Genauigkeit ist theoretisch proportional zur Größe, und die Geschwindigkeit der Berechnung ist auch proportional zur Größe.
In Bezug auf die Wirkung gibt es keinen großen Unterschied zwischen groß und groß, aber es gibt einen signifikanten Unterschied zwischen niedrig und groß.
Meta SAM Referenz:
https://segment-anything.com/
https://github.com/facebookresearch/segment-anything
https://huggingface.co/facebook/sam-vit-base/tree/main
https://huggingface.co/facebook/sam-vit-large
https://huggingface.co/facebook/sam-vit-huge
Klasse 2: Beginn der Serie sam_hq_vit - Segment Anything in High Quality
Das Modell, das mit sam_hq_vit beginnt, ist ein qualitativ hochwertiges semantisches Segmentierungsmodell, das von der Visual Intelligence and Systems Group an der ETH Zürich bereitgestellt wird, und nach den Daten in ihrem Papier ist ihre Schnittgenauigkeit besser als Meta, so dass es als hochwertig bezeichnet wird. Nach den Daten in ihrem Papier ist die Genauigkeit ihrer Segmentierung besser als Meta, so dass sie als qualitativ hochwertig bezeichnet wird, obwohl die segmentierte Region dünner ist als Meta, aber der Unterschied ist in unserem Fall nicht signifikant.
SAM HQ Referenz:
https://github.com/SysCV/sam-hq
https://huggingface.co/lkeab/hq-sam/tree/main
Klasse 3: FastSAM-Anfänge - FastSAM-Serie
Um gute Ergebnisse zu erzielen und Speicherplatz zu sparen, können Sie die FastSAM-Serie verwenden, die von CASIA-IVA-Lab angeboten wird (CASIA-IVA-Lab). Ich selbst verwende dieses Modell auf Maschinen mit kleinem VRAM.
Es ist in 2 Modellen erhältlich, X und S.
Das Modell X passte gut zu unserem Beispiel dieses Hochzeitskleides, aber das Modell S wäre für unser Beispiel nicht geeignet gewesen.
Informationen zu FastSAM finden Sie weiter unten:
https://github.com/CASIA-IVA-Lab/FastSAM
https://huggingface.co/An-619/FastSAM
Kategorie 4: Mobile SAM
Kleines und schnelles SAM , ein SAM, das auch mit einer CPU schnell laufen kann. Aber der Effekt ist auch einer der schlechtesten, nur geeignet für die Unterscheidung von großen Blöcken von Material.
Mobile SAM-Referenz:
https://github.com/ChaoningZhang/MobileSAM
https://huggingface.co/dhkim2810/MobileSAM/tree/main
Frage 3: Was steuert der Parameter "Maskierter Inhalt" von Inpaint?
Es gibt vier Optionen für maskierte Inhalte, die im Folgenden beschrieben werden:
Option 1: Füllen
Die Option Füllen verwischt das Bild des neu gezeichneten Bereichs so weit wie möglich, wobei nur die allgemeine Struktur und die Farben erhalten bleiben. Sie wird daher verwendet, wenn eine großflächige Übermalung erforderlich ist.
In unserem Paradigma sind die Lage des Meeresspiegels, der Verlauf der Sandschwierigkeiten und sogar die Farbe des Sonnenuntergangs identisch.
Option 2: Original
Original bezieht sich auf das Originalbild, und das erzeugte Bild wird dem Originalbild in Bezug auf Blöcke, Farben usw. sehr ähnlich sein.
In unserem Beispiel würde bei dieser Option der schwarze Teil der Schaufensterpuppe stehen bleiben und die Richtung des Strandes würde beibehalten.
Option 3: Latentes Rauschen
Latentes Rauschen verleiht dem neu zu zeichnenden Teil ein Rauschen, das tendenziell irrelevante Inhalte erzeugt, und wird dort eingesetzt, wo Kreativität gefragt ist.
Wie Sie in unserer Demonstration sehen werden, wird das mit latentem Rauschen erzeugte Bild die in der Aufforderung erwähnte Kleinigkeit wiederholen (in unserem Fall z. B. weiße Rosen).
Option 4: Latentes Nichts
Latentes Nichts bezieht sich auf die Farben in der Nähe des neu zu zeichnenden Bereichs, ermittelt den Durchschnitt der Farben in der Nähe und füllt den neu gezeichneten Bereich aus. Dies eignet sich hervorragend zum Entfernen unerwünschter Objekte.
Aber in unserem Beispiel hat man nicht das Gefühl, dass etwas entfernt wird, weil wir in einem großen Maßstab neu zeichnen. Aber wenn Sie die Diagramme betrachten, die mit latentem Nichts erstellt wurden, werden Sie sehen, dass ihre Farbschemata und Kompositionen sehr ähnlich sind, zum Beispiel sind die Sandfarben alle sehr ähnlich.
V. Überprüfung der Frage der Ausdehnung
Lassen Sie uns noch einmal Revue passieren, was wir gerade getan haben.
Einfach ausgedrückt, gibt es 2 wichtige Schritte:
- Maskierung mit der semantischen Segmentierungsfunktion von Inpaint Anything.
- Diese wird dann in den Inpaint-Upload für Tupelo und in den Inpaint-Upload für die Neulackierung von Spezialmodellen übertragen.
Das allein hätte sie so produktiv gemacht, wie sie heute ist.
Alles könnte besser sein, und es gäbe noch einige Probleme mit dem derzeitigen Ansatz:
- Was ist, wenn das gewünschte Modell nicht über ein Inpaint-Modell verfügt? Kann ich ein allgemeines Modell verwenden?
- Was musst du tun, um Licht und Schatten auf deiner Kleidung zu verändern?
- Manchmal wirkt es wie ein mit Photoshop bearbeitetes Bild. Was muss ich tun, damit es natürlicher wirkt?
- Wie man aussagekräftigere Bilder erzeugt, die nicht so aussehen, wie die jetzigen.