Ä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, verschwommener 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.
Wenn Sie Stable Diffusion verwenden können, dauert es nicht länger als 10 Minuten, bis das erste Bild fertig ist.
Selbst wenn Anpassungen vorgenommen werden müssen, ist eine Stunde ausreichend. Zum Beispiel:
I. Ideen für die praxisnahe Erstellung von Mensch-Plattform-Diagrammen
Was braucht man, um eine Tischattrappe in eine echte Person zu verwandeln und trotzdem die Kleidung zu behalten?
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 "Maske neu malen" 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 benötigen Sie das Plug-in Inpaint Anything. Überprüfen Sie bitte in der WebUI von Automatic 1111, ob das Plug-in Inpaint Anything vorhanden ist; falls nicht, installieren Sie es bitte.
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 Maske nur Seite neben der 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 es 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.
Kehren Sie zu dem Diagramm zurück, das die Maske erzeugt hat, und malen Sie die zu maskierenden Bereiche auf. Wenn es Bereiche gibt, die schwarz hinzugefügt werden sollen, 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 der Meinung sind, dass das Bild 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 Maske durch Skizze hinzufügen
.
Gehen Sie dann auf die Registerkarte Nur Maske und drücken Sie die Maske holen
bis zu Maske als Alphawert des Bildes erhalten
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, die uns hilft, den Hintergrund zu füllen.
Gehen Sie auf die Registerkarte "Einfärben" und geben Sie die Erwähnung und die umgekehrte Erwähnung ein. Das Bild, das ich erzeugen möchte, lautet: Schöne Frau im Hochzeitskleid mit einer weißen Rose in der Hand. Geben Sie also die folgende Erwähnung ein:
Eine schöne Frau trägt ein weißes Hochzeitskleid und hält einen Strauß weißer Rosen.
Dynamische Pose, Fotografie, Meisterwerk, beste Qualität, 8K, HDR, hochauflösend, absurdres: 1.2, Kodak portra 400, Filmkorn, unscharfer Hintergrund, Bokeh: 1.2, Lens Flare.
Kodak portra 400, Filmkorn, unscharfer Hintergrund, Bokeh: 1.2, Streulicht
Der umgekehrte Teleprompter sieht folgendermaßen aus:
Nsfw, hässlich, Gemälde, Skizzen, (schlechteste Qualität:2), (niedrige Qualität:2), (normale Qualität: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 die Maske senden, gelangen Sie in Tupelo auf die Registerkarte "Inpaint Upload". Sie 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:
Eine schöne Frau in einem weißen, mit Spitze verzierten Hochzeitskleid, die bei Sonnenuntergang am Strand entlang geht.
Ihr Haar ist 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 400, Filmkorn, unscharfer Hintergrund, Bokeh: 1.2, Streulicht
Der umgekehrte Teleprompter bleibt unverändert:
Nsfw, hässlich, Gemälde, Skizzen, (schlechteste Qualität:2), (niedrige Qualität:2), (normale Qualität: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 nicht einmal fein abgestimmt, um diese Art von Qualität zu haben, es wird sogar noch besser sein, wenn es noch einmal optimiert wird, also was kommt als nächstes?
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 werden.
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 kaum einen Unterschied zwischen riesig und groß, aber es gibt einen signifikanten Unterschied zwischen niedrig und riesig.
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 Brautkleides, 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 gleich.
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.
- Dies wird dann an inpaint upload für Grafik-Uploads und an inpaint für spezielle Modell-Neubemalungen ü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 sie jetzt aussehen.