Stummel Wie sich Stable Diffusion zu einem Mainstream-Verbraucherprodukt entwickeln könnte – Unite.AI
Vernetzen Sie sich mit uns

Artificial Intelligence

Wie sich die stabile Verbreitung zu einem Mainstream-Verbraucherprodukt entwickeln könnte

mm
Aktualisiert on

Ironisch, Stabile Diffusionn, das neue KI-Bildsynthese-Framework, das die Welt im Sturm erobert hat, ist weder stabil noch wirklich „verbreitet“ – zumindest noch nicht.

Die gesamte Bandbreite der Fähigkeiten des Systems ist auf ein abwechslungsreiches Sammelsurium sich ständig verändernder Angebote einer Handvoll Entwickler verteilt, die in diversen Diskussionen auf Discord hektisch die neuesten Informationen und Theorien austauschen – und die überwiegende Mehrheit der Installationsvorgänge für die Pakete, die sie erstellen oder Modifikationen sind weit entfernt von „Plug and Play“.

Vielmehr erfordern sie in der Regel eine Befehlszeile oder BAT-gesteuert Installation über GIT, Conda, Python, Miniconda und andere hochmoderne Entwicklungs-Frameworks – Softwarepakete, die unter den Verbrauchern so selten sind, dass ihre Installation so selten ist häufig gemeldet von Antiviren- und Anti-Malware-Anbietern als Beweis für ein kompromittiertes Hostsystem angesehen.

Nur eine kleine Auswahl an Stufen im Spießrutenlauf, den die standardmäßige Stable Diffusion-Installation derzeit erfordert. Viele der Distributionen erfordern auch bestimmte Python-Versionen, die mit vorhandenen Versionen, die auf dem Computer des Benutzers installiert sind, kollidieren können – dies kann jedoch durch Docker-basierte Installationen und bis zu einem gewissen Grad durch die Verwendung von Conda-Umgebungen vermieden werden.

Nur eine kleine Auswahl an Stufen im Spießrutenlauf, den die standardmäßige Stable Diffusion-Installation derzeit erfordert. Viele der Distributionen erfordern auch bestimmte Python-Versionen, die mit vorhandenen Versionen, die auf dem Computer des Benutzers installiert sind, kollidieren können – dies kann jedoch durch Docker-basierte Installationen und bis zu einem gewissen Grad durch die Verwendung von Conda-Umgebungen vermieden werden.

Nachrichtenthreads in den SFW- und NSFW-Stable-Diffusion-Communitys sind überflutet mit Tipps und Tricks zum Hacken von Python-Skripten und Standardinstallationen, um verbesserte Funktionen zu ermöglichen oder häufige Abhängigkeitsfehler und eine Reihe anderer Probleme zu beheben.

Dies führt dazu, dass der Durchschnittsverbraucher daran interessiert ist erstaunliche Bilder erstellen B. durch Texteingabeaufforderungen, weitgehend der wachsenden Zahl monetarisierter API-Webschnittstellen ausgeliefert, von denen die meisten eine minimale Anzahl kostenloser Bildgenerationen bieten, bevor der Kauf von Tokens erforderlich ist.

Darüber hinaus verweigern fast alle dieser webbasierten Angebote die Ausgabe von NSFW-Inhalten (von denen sich viele auf nicht-pornobezogene Themen von allgemeinem Interesse wie „Krieg“ beziehen können), was Stable Diffusion von den verzerrten Diensten von OpenAIs DALL-E unterscheidet 2.

„Photoshop für stabile Diffusion“

Verlockt von den fabelhaften, rassigen oder jenseitigen Bildern, die täglich den Twitter-Hashtag #stablediffusion bevölkern, wartet die ganze Welt wohl darauf „Photoshop für stabile Diffusion“ – eine plattformübergreifend installierbare Anwendung, die die besten und leistungsstärksten Funktionen der Stability.ai-Architektur sowie die verschiedenen genialen Innovationen der aufstrebenden SD-Entwicklergemeinschaft integriert, ohne schwebende CLI-Fenster, undurchsichtige und sich ständig ändernde Installationen und Updates Routinen oder fehlende Funktionen.

Was wir derzeit in den meisten leistungsfähigeren Installationen haben, ist eine äußerst elegante Webseite, die von einem körperlosen Befehlszeilenfenster umgeben ist und deren URL ein Localhost-Port ist:

Ähnlich wie bei CLI-gesteuerten Synthese-Apps wie FaceSwap und dem BAT-zentrierten DeepFaceLab zeigt die „Prepack“-Installation von Stable Diffusion ihre Befehlszeilenwurzeln, wobei auf die Schnittstelle über einen Localhost-Port (siehe oben im Bild oben) zugegriffen wird, der kommuniziert mit der CLI-basierten Stable Diffusion-Funktionalität.

Ähnlich wie bei CLI-gesteuerten Synthese-Apps wie FaceSwap und dem BAT-zentrierten DeepFaceLab zeigt die „Prepack“-Installation von Stable Diffusion ihre Befehlszeilenwurzeln, wobei auf die Schnittstelle über einen Localhost-Port (siehe oben im Bild oben) zugegriffen wird, der kommuniziert mit der CLI-basierten Stable Diffusion-Funktionalität.

Zweifellos wird es eine optimierte Anwendung geben. Es gibt bereits mehrere Patreon-basierte integrierte Anwendungen, die heruntergeladen werden können, z GRisk und NMKD (siehe Bild unten) – aber noch keines, das den gesamten Funktionsumfang integriert, den einige der fortgeschritteneren und weniger zugänglichen Implementierungen von Stable Diffusion bieten können.

Frühe, Patreon-basierte Pakete von Stable Diffusion, leicht „appisiert“. NMKD ist das erste Unternehmen, das die CLI-Ausgabe direkt in die GUI integriert.

Frühe, Patreon-basierte Pakete von Stable Diffusion, leicht „appisiert“. NMKD ist das erste Unternehmen, das die CLI-Ausgabe direkt in die GUI integriert.

Werfen wir einen Blick darauf, wie eine ausgefeiltere und ganzheitlichere Implementierung dieses erstaunlichen Open-Source-Wunders letztendlich aussehen könnte – und welche Herausforderungen damit verbunden sein könnten.

Rechtliche Überlegungen für eine vollständig finanzierte kommerzielle stabile Diffusionsanwendung

Der NSFW-Faktor

Der Stable Diffusion-Quellcode wurde unter einem veröffentlicht äußerst freizügige Lizenz was kommerzielle Neuimplementierungen und abgeleitete Werke, die weitgehend auf dem Quellcode aufbauen, nicht verbietet.

Neben der oben erwähnten und wachsenden Zahl von Patreon-basierten Stable Diffusion-Builds sowie der umfangreichen Zahl von Anwendungs-Plugins, für die entwickelt wird Figma, Krita, Photoshop, GIMP und Mixer (unter anderem) gibt es keine praktisch Dies ist der Grund, warum ein gut finanziertes Softwareentwicklungshaus keine weitaus ausgefeiltere und leistungsfähigere Stable Diffusion-Anwendung entwickeln könnte. Aus Marktsicht gibt es allen Grund zu der Annahme, dass mehrere solcher Initiativen bereits in vollem Gange sind.

Hier stehen solche Bemühungen sofort vor dem Dilemma, ob die Anwendung, wie die meisten Web-APIs für Stable Diffusion, den nativen NSFW-Filter (a.) von Stable Diffusion zulässt oder nicht Codefragment), ausgeschaltet werden.

„Vergraben“ des NSFW-Schalters

Allerdings enthält die Open-Source-Lizenz von Stability.ai für Stable Diffusion eine breit interpretierbare Liste von Anwendungen, für die sie zulässig ist nicht verwendet werden (wohl einschließlich pornografischer Inhalt und Deepfakes), besteht die einzige Möglichkeit für einen Anbieter, eine solche Verwendung wirksam zu verbieten, darin, den NSFW-Filter in eine undurchsichtige ausführbare Datei anstelle eines Parameters in einer Python-Datei zu kompilieren oder einen Prüfsummenvergleich für die Python-Datei oder DLL zu erzwingen, die die NSFW-Direktive enthält. sodass keine Renderings stattfinden können, wenn Benutzer diese Einstellung ändern.

Dies würde dazu führen, dass der mutmaßliche Antrag auf die gleiche Weise „kastriert“ würde DALL-E 2 ist derzeit, was seine kommerzielle Attraktivität verringert. Außerdem würden wahrscheinlich unweigerlich dekompilierte „manipulierte“ Versionen dieser Komponenten (entweder originale Python-Laufzeitelemente oder kompilierte DLL-Dateien, wie sie jetzt in der Topaz-Reihe von KI-Bildverbesserungstools verwendet werden) in der Torrent-/Hacking-Community auftauchen, um solche Einschränkungen aufzuheben , indem einfach die behindernden Elemente ersetzt und alle Prüfsummenanforderungen aufgehoben werden.

Am Ende könnte sich der Anbieter dafür entscheiden, einfach die Warnung von Stability.ai vor Missbrauch zu wiederholen, die den ersten Durchlauf vieler aktueller Stable Diffusion-Distributionen kennzeichnet.

Allerdings haben die kleinen Open-Source-Entwickler, die derzeit oberflächliche Haftungsausschlüsse auf diese Weise verwenden, im Vergleich zu einem Softwareunternehmen, das viel Zeit und Geld investiert hat, um Stable Diffusion umfassend und zugänglich zu machen, wenig zu verlieren – was zu tieferer Überlegung einlädt.

Deepfake-Haftung

Da wir vor kurzem darauf hingewiesen,, die LAION-aesthetics-Datenbank, Teil der 4.2 Milliarden Bilder, anhand derer die laufenden Modelle von Stable Diffusion trainiert wurden, enthält eine große Anzahl von Promi-Bildern, die es Benutzern ermöglichen, Deepfakes, einschließlich Deepfake-Promi-Pornos, effektiv zu erstellen.

Aus unserem aktuellen Artikel, vier Stationen von Jennifer Connelly über vier Jahrzehnte ihrer Karriere, abgeleitet aus Stable Diffusion.

Aus unserem aktuellen Artikel, vier Stationen von Jennifer Connelly über vier Jahrzehnte ihrer Karriere, abgeleitet aus Stable Diffusion.

Dabei handelt es sich um ein separates und umstritteneres Thema als die Generation von (normalerweise) legalen „abstrakten“ Pornos, die keine „echten“ Menschen darstellen (obwohl solche Bilder aus mehreren echten Fotos im Schulungsmaterial abgeleitet werden).

Da immer mehr US-Bundesstaaten und Länder Gesetze gegen Deepfake-Pornografie entwickeln oder eingeführt haben, könnte die Fähigkeit von Stable Diffusion, Promi-Pornos zu erstellen, bedeuten, dass eine kommerzielle Anwendung, die nicht vollständig zensiert ist (d. h. die pornografisches Material erstellen kann), dennoch welche benötigt Möglichkeit, wahrgenommene Gesichter von Prominenten zu filtern.

Eine Methode wäre die Bereitstellung einer integrierten „schwarzen Liste“ von Begriffen, die in einer Benutzeraufforderung nicht akzeptiert werden und sich auf Prominentennamen und fiktive Charaktere beziehen, mit denen sie möglicherweise in Verbindung gebracht werden. Vermutlich müssten solche Einstellungen in mehr Sprachen als nur Englisch eingerichtet werden, da die Ursprungsdaten auch andere Sprachen umfassen. Ein anderer Ansatz könnte darin bestehen, Systeme zur Erkennung von Prominenten zu integrieren, wie sie von Clarifai entwickelt wurden.

Für Softwarehersteller kann es erforderlich sein, solche Methoden zu integrieren, die möglicherweise zunächst ausgeschaltet sind, da sie dazu beitragen können, zu verhindern, dass eine vollwertige eigenständige Stable Diffusion-Anwendung Prominentengesichter generiert, bis neue Gesetze erlassen werden, die diese Funktionalität illegal machen könnten.

Allerdings könnte eine solche Funktionalität von interessierten Parteien unweigerlich dekompiliert und rückgängig gemacht werden; Allerdings könnte der Softwarehersteller in diesem Fall behaupten, dass es sich tatsächlich um nicht sanktionierten Vandalismus handelt – solange diese Art des Reverse Engineering nicht übermäßig vereinfacht wird.

Funktionen, die enthalten sein könnten

Die Kernfunktionalität in jeder Distribution von Stable Diffusion würde man von jeder gut finanzierten kommerziellen Anwendung erwarten. Dazu gehört die Möglichkeit, Texteingabeaufforderungen zu verwenden, um passende Bilder zu generieren (Text-zu-Bild); die Fähigkeit, Skizzen oder andere Bilder als Richtlinien für neu generierte Bilder zu verwenden (Bild zu Bild); die Mittel, um anzupassen, wie „einfallsreich“ das System sein soll; eine Möglichkeit, Renderzeit gegen Qualität abzuwägen; und andere „Grundlagen“, wie optionale automatische Bild-/Prompt-Archivierung und routinemäßige optionale Hochskalierung über RealESRGANund zumindest eine grundlegende „Gesichtskorrektur“ mit GFPGAN or CodeFormer.

Das ist eine hübsche „Vanilla-Installation“. Werfen wir einen Blick auf einige der fortschrittlicheren Funktionen, die derzeit entwickelt oder erweitert werden und in eine vollwertige „traditionelle“ Stable Diffusion-Anwendung integriert werden könnten.

Stochastisches Einfrieren

Auch wenn Sie einen Samen wiederverwenden Aufgrund eines früheren erfolgreichen Renderings ist es furchtbar schwierig, Stable Diffusion dazu zu bringen, eine Transformation genau zu wiederholen, wenn irgendein Teil der Eingabeaufforderung oder das Quellbild (oder beides) wird für ein nachfolgendes Rendern geändert.

Dies ist ein Problem, wenn Sie es verwenden möchten EbSynth um die Transformationen von Stable Diffusion zeitlich kohärent auf echtes Video zu übertragen – obwohl die Technik für einfache Kopf-Schulter-Aufnahmen sehr effektiv sein kann:

Begrenzte Bewegung kann EbSynth zu einem effektiven Medium machen, um Stable Diffusion-Transformationen in realistische Videos umzuwandeln. Quelle: https://streamable.com/u0pgzd

Begrenzte Bewegung kann EbSynth zu einem effektiven Medium machen, um Stable Diffusion-Transformationen in realistische Videos umzuwandeln. Quelle: https://streamable.com/u0pgzd

EbSynth funktioniert, indem es eine kleine Auswahl „veränderter“ Keyframes in ein Video extrapoliert, das in eine Reihe von Bilddateien gerendert wurde (und später wieder zu einem Video zusammengesetzt werden kann).

In diesem Beispiel von der EbSynth-Site wurden einige wenige Frames aus einem Video auf künstlerische Weise gemalt. EbSynth verwendet diese Frames als Stilrichtlinien, um das gesamte Video auf ähnliche Weise zu ändern, damit es dem gemalten Stil entspricht. Quelle: https://www.youtube.com/embed/eghGQtQhY38

In diesem Beispiel von der EbSynth-Site wurden einige wenige Frames aus einem Video auf künstlerische Weise gemalt. EbSynth verwendet diese Frames als Stilrichtlinien, um das gesamte Video auf ähnliche Weise zu ändern, damit es dem gemalten Stil entspricht. Quelle: https://www.youtube.com/embed/eghGQtQhY38

Im Beispiel unten, in dem sich die (echte) blonde Yogalehrerin auf der linken Seite fast überhaupt nicht bewegt, hat Stable Diffusion immer noch Schwierigkeiten, ein konsistentes Gesicht beizubehalten, da die drei Bilder, die als „Schlüsselbilder“ transformiert werden, nicht vollständig identisch sind. obwohl sie alle denselben numerischen Startwert haben.

Hier variieren die Körpermuskeln in Größe und Form, selbst wenn bei allen drei Transformationen derselbe Prompt und Seed verwendet wird und zwischen den Quellframes nur sehr wenige Änderungen vorgenommen werden. Noch wichtiger ist jedoch, dass das Gesicht inkonsistent ist, was die zeitliche Konsistenz bei einem möglichen EbSynth-Rendering behindert.

Hier variieren die Körpermuskeln in Größe und Form, selbst wenn bei allen drei Transformationen derselbe Prompt und Seed verwendet wird und zwischen den Quellframes nur sehr wenige Änderungen vorgenommen werden. Noch wichtiger ist jedoch, dass das Gesicht inkonsistent ist, was die zeitliche Konsistenz bei einem möglichen EbSynth-Rendering behindert.

Obwohl das folgende SD/EbSynth-Video sehr einfallsreich ist und die Finger des Benutzers in (jeweils) laufende Hosenbeine bzw. eine Ente verwandelt wurden, verdeutlicht die Inkonsistenz der Hose das Problem, das Stable Diffusion bei der Aufrechterhaltung der Konsistenz über verschiedene Keyframes hinweg hat , auch wenn die Quellframes einander ähnlich sind und der Startwert konsistent ist.

Die Finger eines Mannes werden durch Stable Diffusion und EbSynth zu einem wandelnden Mann und einer Ente. Quelle: https://old.reddit.com/r/StableDiffusion/comments/x92itm/proof_of_concept_using_img2img_ebsynth_to_animate/

Die Finger eines Mannes werden durch Stable Diffusion und EbSynth zu einem wandelnden Mann und einer Ente. Quelle: https://old.reddit.com/r/StableDiffusion/comments/x92itm/proof_of_concept_using_img2img_ebsynth_to_animate/

Der Benutzer, der dieses Video erstellt hat kommentierte dass die Ententransformation, die wohl wirkungsvollere, wenn auch weniger auffällige und originellere der beiden, nur einen einzigen transformierten Keyframe erforderte, wohingegen 50 Stable Diffusion-Bilder gerendert werden mussten, um die Wanderhose zu erstellen, die mehr Zeit zeigt Inkonsistenz. Der Benutzer stellte außerdem fest, dass fünf Versuche erforderlich waren, um für jeden der 50 Keyframes Konsistenz zu erreichen.

Daher wäre es für eine wirklich umfassende Stable Diffusion-Anwendung von großem Vorteil, eine Funktionalität bereitzustellen, die die Eigenschaften über Keyframes hinweg so weit wie möglich beibehält.

Eine Möglichkeit besteht darin, dass die Anwendung es dem Benutzer ermöglicht, die stochastische Kodierung für die Transformation in jedem Frame „einzufrieren“, was derzeit nur durch manuelle Änderung des Quellcodes erreicht werden kann. Wie das folgende Beispiel zeigt, trägt dies zur zeitlichen Konsistenz bei, löst das Problem aber sicherlich nicht:

Ein Reddit-Benutzer transformierte Webcam-Aufnahmen von sich selbst in verschiedene berühmte Personen, indem er nicht nur den Seed beibehielt (was jede Implementierung von Stable Diffusion tun kann), sondern indem er sicherstellte, dass der Parameter stochastic_encode() in jeder Transformation identisch war. Dies wurde durch eine Änderung des Codes erreicht, könnte aber leicht zu einem für den Benutzer zugänglichen Schalter werden. Es ist jedoch klar, dass dadurch nicht alle zeitlichen Probleme gelöst werden. Quelle: https://old.reddit.com/r/StableDiffusion/comments/wyeoqq/turning_img2img_into_vid2vid/

Ein Reddit-Benutzer transformierte Webcam-Aufnahmen von sich selbst in verschiedene berühmte Personen, indem er nicht nur den Seed beibehielt (was jede Implementierung von Stable Diffusion tun kann), sondern indem er sicherstellte, dass der Parameter stochastic_encode() in jeder Transformation identisch war. Dies wurde durch eine Änderung des Codes erreicht, könnte aber leicht zu einem für den Benutzer zugänglichen Schalter werden. Es ist jedoch klar, dass dadurch nicht alle zeitlichen Probleme gelöst werden. Quelle: https://old.reddit.com/r/StableDiffusion/comments/wyeoqq/turning_img2img_into_vid2vid/

Cloudbasierte Textinversion

Eine bessere Lösung, um zeitlich konsistente Zeichen und Objekte hervorzurufen, besteht darin, sie in eine zu „backen“. Textinversion – eine 5-KB-Datei, die in wenigen Stunden auf der Grundlage von nur fünf annotierten Bildern trainiert werden kann, die dann durch ein Special hervorgerufen werden können '*' Dies ermöglicht beispielsweise das dauerhafte Erscheinen neuartiger Charaktere zur Einbindung in eine Erzählung.

Bilder, die mit passenden Tags verknüpft sind, können durch Textinversion in diskrete Einheiten umgewandelt und durch spezielle Token-Wörter ohne Mehrdeutigkeit und im richtigen Kontext und Stil aufgerufen werden. Quelle: https://huggingface.co/docs/diffusers/training/text_inversion

Bilder, die mit passenden Tags verknüpft sind, können durch Textinversion in diskrete Einheiten umgewandelt und durch spezielle Token-Wörter ohne Mehrdeutigkeit und im richtigen Kontext und Stil aufgerufen werden. Quelle: https://huggingface.co/docs/diffusers/training/text_inversion

Textuelle Inversionen sind Zusatzdateien zu dem sehr großen und vollständig trainierten Modell, das Stable Diffusion verwendet, und werden effektiv in den Auslöse-/Aufforderungsprozess „eingeschleust“, damit sie dies können teilnehmen in modellbasierten Szenen und profitieren Sie von der enormen Wissensdatenbank des Modells über Objekte, Stile, Umgebungen und Interaktionen.

Obwohl das Training einer Textinversion nicht lange dauert, ist dafür eine hohe Menge an VRAM erforderlich. Laut verschiedenen aktuellen Komplettlösungen irgendwo zwischen 12, 20 und sogar 40 GB.

Da die meisten Gelegenheitsnutzer wahrscheinlich nicht über eine solche GPU-Leistung verfügen werden, entstehen bereits Cloud-Dienste, die den Betrieb übernehmen, darunter eine Hugging Face-Version. Obwohl es welche gibt Google Colab-Implementierungen die textuelle Inversionen für eine stabile Verbreitung erzeugen können, können der erforderliche VRAM- und Zeitbedarf diese für Colab-Benutzer der kostenlosen Version zu einer Herausforderung machen.

Für eine potenziell vollwertige und gut investierte Stable Diffusion-Anwendung (installiert) scheint es eine offensichtliche Monetarisierungsstrategie zu sein, diese schwere Aufgabe auf die Cloud-Server des Unternehmens zu übertragen (vorausgesetzt, eine kostengünstige oder kostenlose Stable Diffusion-Anwendung ist mit solchen nicht-installierten Stable Diffusion-Anwendungen durchdrungen. kostenlose Funktionalität, was in vielen möglichen Anwendungen, die in den nächsten 6 bis 9 Monaten aus dieser Technologie hervorgehen werden, wahrscheinlich erscheint).

Darüber hinaus könnte der recht komplizierte Prozess des Kommentierens und Formatierens der übermittelten Bilder und Texte von einer Automatisierung in einer integrierten Umgebung profitieren. Der potenzielle „Suchtfaktor“ der Schaffung einzigartiger Elemente, die die riesigen Welten von Stable Diffusion erkunden und mit ihnen interagieren können, scheint potenziell zwanghaft zu sein, sowohl für allgemeine Enthusiasten als auch für jüngere Benutzer.

Vielseitige Schnellgewichtung

Es gibt viele aktuelle Implementierungen, die es dem Benutzer ermöglichen, einem Abschnitt einer Langtext-Eingabeaufforderung eine stärkere Betonung zuzuweisen, aber die Instrumentalität variiert stark zwischen diesen und ist häufig umständlich oder nicht intuitiv.

Die sehr beliebte Stable Diffusion-Gabel von AUTOMATIC1111kann beispielsweise den Wert eines Aufforderungsworts verringern oder erhöhen, indem es in einzelne oder mehrere Klammern (zur Abschwächung) oder in eckige Klammern zur zusätzlichen Hervorhebung gesetzt wird.

Eckige Klammern und/oder Klammern können Ihr Frühstück in dieser Version der Stable Diffusion-Eingabeaufforderungsgewichte verändern, aber in jedem Fall ist es ein Cholesterin-Albtraum.

Eckige Klammern und/oder Klammern können Ihr Frühstück in dieser Version der Stable Diffusion-Eingabeaufforderungsgewichte verändern, aber in jedem Fall ist es ein Cholesterin-Albtraum.

Andere Iterationen von Stable Diffusion verwenden Ausrufezeichen zur Hervorhebung, während die vielseitigsten es Benutzern ermöglichen, jedem Wort in der Eingabeaufforderung über die GUI Gewichtungen zuzuweisen.

Das System sollte dies auch ermöglichen negative Promptgewichte – nicht nur für Horrorfans, sondern weil es im latenten Raum von Stable Diffusion möglicherweise weniger alarmierende und erbaulichere Geheimnisse gibt, als unser begrenzter Sprachgebrauch hervorrufen kann.

Übermalen

Kurz nach der sensationellen Open-Source-Veröffentlichung von Stable Diffusion versuchte OpenAI – größtenteils vergeblich –, einen Teil seines DALL-E 2-Donners zurückzuerobern Ankündigung „Outpainting“, das es einem Benutzer ermöglicht, ein Bild mit semantischer Logik und visueller Kohärenz über seine Grenzen hinaus zu erweitern.

Natürlich ist dies seitdem der Fall umgesetzt in verschiedenen Formen für stabile Diffusion, sowie in Kritaund sollte auf jeden Fall in einer umfassenden Photoshop-ähnlichen Version von Stable Diffusion enthalten sein.

Die kachelbasierte Erweiterung kann ein standardmäßiges 512x512-Rendering nahezu unendlich erweitern, sofern die Eingabeaufforderungen, das vorhandene Bild und die semantische Logik dies zulassen. Quelle: https://github.com/lkwq007/stablediffusion-infinity

Durch kachelbasierte Erweiterung kann ein standardmäßiges 512×512-Rendering nahezu unendlich erweitert werden, sofern die Eingabeaufforderungen, das vorhandene Bild und die semantische Logik dies zulassen. Quelle: https://github.com/lkwq007/stablediffusion-infinity

Da die stabile Diffusion auf 512 x 512 Pixel große Bilder trainiert wird (und aus verschiedenen anderen Gründen), werden häufig die Köpfe (oder andere wichtige Körperteile) von menschlichen Probanden abgeschnitten, selbst wenn in der Eingabeaufforderung eindeutig „Kopfbetonung“ usw. angegeben wurde.

Typische Beispiele für die „Enthauptung“ einer stabilen Diffusion; aber die Übermalung könnte George wieder ins Rampenlicht rücken.

Typische Beispiele für die „Enthauptung“ einer stabilen Diffusion; aber die Übermalung könnte George wieder ins Rampenlicht rücken.

Jede Outpainting-Implementierung des im obigen animierten Bild dargestellten Typs (die ausschließlich auf Unix-Bibliotheken basiert, aber unter Windows replizierbar sein sollte) sollte ebenfalls als Ein-Klick-/Prompt-Lösung für dieses Problem bereitgestellt werden.

Derzeit erweitern einige Benutzer die Leinwand mit „enthaupteten“ Darstellungen nach oben, füllen den Kopfbereich grob aus und verwenden img2img, um das verpatzte Rendering fertigzustellen.

Effektive Maskierung, die den Kontext versteht

Masking kann in Stable Diffusion je nach Fork oder Version eine schreckliche Zufallssache sein. Wenn es überhaupt möglich ist, eine zusammenhängende Maske zu zeichnen, wird der angegebene Bereich häufig mit Inhalten übermalt, die nicht den gesamten Kontext des Bildes berücksichtigen.

Einmal habe ich die Hornhäute eines Gesichtsbilds ausgeblendet und die Eingabeaufforderung gegeben 'blaue Augen' als Maske in Farbe – nur um festzustellen, dass ich durch zwei ausgeschnittene menschliche Augen auf ein entferntes Bild eines unheimlich aussehenden Wolfes zu blicken schien. Ich schätze, ich habe Glück, dass es nicht Frank Sinatra war.

Auch eine semantische Bearbeitung ist möglich Identifizieren des Geräusches der das Bild überhaupt erstellt hat, was es dem Benutzer ermöglicht, bestimmte Strukturelemente in einem Rendering anzusprechen, ohne den Rest des Bildes zu beeinträchtigen:

Ändern eines Elements in einem Bild ohne herkömmliche Maskierung und ohne Änderung angrenzender Inhalte, indem das Rauschen identifiziert wird, das ursprünglich zum Bild geführt hat, und die Teile davon angesprochen werden, die zum Zielbereich beigetragen haben. Quelle: https://old.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/

Ändern eines Elements in einem Bild ohne herkömmliche Maskierung und ohne Änderung angrenzender Inhalte, indem das Rauschen identifiziert wird, das ursprünglich zum Bild geführt hat, und die Teile davon angesprochen werden, die zum Zielbereich beigetragen haben. Quelle: https://old.reddit.com/r/StableDiffusion/comments/xboy90/a_better_way_of_doing_img2img_by_finding_the/

Diese Methode basiert auf der K-Diffusions-Probenehmer.

Semantische Filter für physiologische Fehler

Wie wir bereits erwähnt haben, kann Stable Diffusion häufig Gliedmaßen hinzufügen oder entfernen, was hauptsächlich auf Datenprobleme und Mängel in den Anmerkungen zurückzuführen ist, die den Bildern beigefügt sind, mit denen es trainiert wurde.

Genau wie bei dem verirrten Jungen, der auf dem Schulgruppenfoto die Zunge herausstreckte, sind die biologischen Gräueltaten von Stable Diffusion nicht immer sofort offensichtlich, und vielleicht haben Sie Ihr neuestes KI-Meisterwerk auf Instagram gepostet, bevor Ihnen die zusätzlichen Hände oder geschmolzenen Gliedmaßen auffallen.

Genau wie bei dem verirrten Jungen, der auf dem Schulgruppenfoto die Zunge herausstreckte, sind die biologischen Gräueltaten von Stable Diffusion nicht immer sofort offensichtlich, und vielleicht haben Sie Ihr neuestes KI-Meisterwerk auf Instagram gepostet, bevor Ihnen die zusätzlichen Hände oder geschmolzenen Gliedmaßen auffallen.

Es ist so schwierig, diese Art von Fehlern zu beheben, dass es nützlich wäre, wenn eine Stable Diffusion-Anwendung in voller Größe eine Art anatomisches Erkennungssystem enthalten würde, das semantische Segmentierung verwendet, um zu berechnen, ob das eingehende Bild schwerwiegende anatomische Mängel aufweist (wie im Bild oben). ) und verwirft es zugunsten eines neuen Renderings, bevor es dem Benutzer präsentiert wird.

Natürlich möchten Sie vielleicht die Göttin Kali oder Doktor Octopus rendern oder sogar einen unberührten Teil eines Bildes mit Gliedmaßen retten, daher sollte diese Funktion ein optionaler Schalter sein.

Wenn Benutzer den Telemetrieaspekt tolerieren könnten, könnten solche Aussetzer im Rahmen einer gemeinsamen Anstrengung des föderativen Lernens sogar anonym übertragen werden, was künftigen Modellen helfen könnte, ihr Verständnis der anatomischen Logik zu verbessern.

LAION-basierte automatische Gesichtsverbesserung

Wie ich in meiner anmerkte vorheriger Blick Angesichts der drei Dinge, die Stable Diffusion in Zukunft angehen könnte, sollte es nicht allein einer Version von GFPGAN überlassen werden, zu versuchen, gerenderte Gesichter in Erstinstanz-Renderings zu „verbessern“.

Die „Verbesserungen“ von GFPGAN sind furchtbar allgemein gehalten, untergraben häufig die Identität der abgebildeten Person und wirken sich ausschließlich auf ein Gesicht aus, das normalerweise schlecht wiedergegeben wurde, da ihm nicht mehr Bearbeitungszeit oder Aufmerksamkeit gewidmet wurde als jedem anderen Teil des Bildes.

Daher sollte ein professionelles Standardprogramm für stabile Diffusion in der Lage sein, ein Gesicht zu erkennen (mit einer standardmäßigen und relativ leichten Bibliothek wie YOLO), die gesamte verfügbare GPU-Leistung für das erneute Rendern einzusetzen und das verbesserte Gesicht entweder einzublenden das ursprüngliche Vollkontext-Rendering oder speichern Sie es separat für die manuelle Neukomposition. Derzeit ist dies ein ziemlich praktischer Vorgang.

In Fällen, in denen Stable Diffusion auf eine ausreichende Anzahl von Bildern einer Berühmtheit trainiert wurde, ist es möglich, die gesamte GPU-Kapazität auf ein nachfolgendes Rendern ausschließlich des Gesichts des gerenderten Bildes zu konzentrieren, was normalerweise eine bemerkenswerte Verbesserung darstellt – und im Gegensatz zu GFPGAN , stützt sich auf Informationen aus LAION-trainierten Daten, anstatt einfach die gerenderten Pixel anzupassen.

In Fällen, in denen Stable Diffusion auf eine ausreichende Anzahl von Bildern einer Berühmtheit trainiert wurde, ist es möglich, die gesamte GPU-Kapazität auf ein nachfolgendes Rendern ausschließlich des Gesichts des gerenderten Bildes zu konzentrieren, was normalerweise eine bemerkenswerte Verbesserung darstellt – und im Gegensatz zu GFPGAN , stützt sich auf Informationen aus LAION-trainierten Daten, anstatt einfach die gerenderten Pixel anzupassen.

In-App-LAION-Suchen

Seitdem Benutzer zu erkennen begannen, dass die Suche in der LAION-Datenbank nach Konzepten, Personen und Themen eine Hilfe für eine bessere Nutzung von Stable Diffusion sein könnte, wurden mehrere Online-LAION-Explorer erstellt, darunter haveibeentrained.com.

Mit der Suchfunktion auf haveibeentrained.com können Benutzer die Bilder erkunden, die Stable Diffusion antreiben, und herausfinden, ob Objekte, Personen oder Ideen, die sie dem System entlocken möchten, wahrscheinlich darauf trainiert wurden. Solche Systeme sind auch nützlich, um benachbarte Entitäten zu entdecken, etwa die Art und Weise, wie Prominente gruppiert sind, oder die „nächste Idee“, die auf der aktuellen Idee aufbaut. Quelle: https://haveibeentrained.com/?search_text=bowl%20of%20fruit

Mit der Suchfunktion auf haveibeentrained.com können Benutzer die Bilder erkunden, die Stable Diffusion antreiben, und herausfinden, ob Objekte, Personen oder Ideen, die sie dem System entlocken möchten, wahrscheinlich darauf trainiert wurden. Solche Systeme sind auch nützlich, um benachbarte Entitäten zu entdecken, etwa die Art und Weise, wie Prominente gruppiert sind, oder die „nächste Idee“, die auf der aktuellen Idee aufbaut. Quelle: https://haveibeentrained.com/?search_text=bowl%20of%20fruit

Obwohl solche webbasierten Datenbanken oft einige der Tags offenlegen, die den Bildern beiliegen, ist der Prozess von Verallgemeinerung Dies bedeutet, dass es unwahrscheinlich ist, dass ein bestimmtes Bild mithilfe seines Tags als Eingabeaufforderung aufgerufen werden kann.

Außerdem ist die Entfernung von 'Stoppwörter' und die Praxis der Stammbildung und Lemmatisierung in der Verarbeitung natürlicher Sprache bedeutet, dass viele der angezeigten Phrasen aufgeteilt oder weggelassen wurden, bevor sie in die stabile Diffusion trainiert wurden.

Nichtsdestotrotz kann die Art und Weise, wie ästhetische Gruppierungen in diesen Schnittstellen zusammengefügt werden, dem Endbenutzer viel über die Logik (oder wohl auch die „Persönlichkeit“) von Stable Diffusion beibringen und sich als Hilfsmittel für eine bessere Bildproduktion erweisen.

Zusammenfassung

Es gibt viele weitere Funktionen, die ich mir in einer vollständigen nativen Desktop-Implementierung von Stable Diffusion wünschen würde, wie zum Beispiel eine native CLIP-basierte Bildanalyse, die den standardmäßigen Stable Diffusion-Prozess umkehrt und es dem Benutzer ermöglicht, Phrasen und Wörter zu ermitteln, die das System verwendet würde sich natürlich mit dem Quellbild oder dem Rendering verknüpfen.

Darüber hinaus wäre eine echte kachelbasierte Skalierung eine willkommene Ergänzung, da ESRGAN ein fast ebenso stumpfes Instrument wie GFPGAN ist. Zum Glück ist geplant, das zu integrieren txt2imghd Die Implementierung von GOBIG lässt dies schnell in allen Distributionen Wirklichkeit werden, und es scheint eine offensichtliche Wahl für eine Desktop-Iteration zu sein.

Einige andere beliebte Wünsche aus den Discord-Communitys interessieren mich weniger, wie zum Beispiel integrierte Eingabeaufforderungswörterbücher und anwendbare Listen von Künstlern und Stilen, obwohl ein In-App-Notizbuch oder ein anpassbares Phrasenlexikon eine logische Ergänzung erscheinen würde.

Ebenso sind die aktuellen Einschränkungen der menschenzentrierten Animation in Stable Diffusion, obwohl sie von CogVideo und verschiedenen anderen Projekten ins Leben gerufen wurden, immer noch im Entstehen begriffen und unterliegen der Gnade der vorgelagerten Forschung zu zeitlichen Prioritäten im Zusammenhang mit authentischer menschlicher Bewegung.

Im Moment gilt ausschließlich das Stable Diffusion-Video psychedelisch, auch wenn die nahe Zukunft im Deepfake-Puppenspiel dank EbSynth und anderen relativ neuen Text-zu-Video-Initiativen viel vielversprechender sein könnte (und es ist erwähnenswert, dass es bei Runway’s an synthetisierten oder „veränderten“ Personen mangelt). neuestes Werbevideo).

Eine weitere wertvolle Funktionalität wäre das transparente Photoshop-Pass-Through, das neben anderen ähnlichen Implementierungen schon lange im Textureditor von Cinema4D etabliert ist. Auf diese Weise können Sie Bilder problemlos zwischen Anwendungen verschieben und jede Anwendung verwenden, um die Transformationen durchzuführen, in denen sie sich auszeichnet.

Schließlich und vielleicht am wichtigsten: Ein vollständiges Desktop-Programm zur stabilen Diffusion sollte nicht nur in der Lage sein, problemlos zwischen Prüfpunkten (d. h. Versionen des zugrunde liegenden Modells, das das System antreibt) zu wechseln, sondern auch in der Lage sein, benutzerdefinierte Textinversionen zu aktualisieren, die funktioniert haben mit früheren offiziellen Modellveröffentlichungen, kann aber andernfalls durch spätere Versionen des Modells beschädigt werden (wie Entwickler beim offiziellen Discord angegeben haben, dass dies der Fall sein könnte).

Ironischerweise hat sich die Organisation, die am besten in der Lage ist, eine so leistungsstarke und integrierte Werkzeugmatrix für Stable Diffusion zu erstellen, Adobe, so stark mit dem verbündet Initiative zur Authentizität von Inhalten dass es für das Unternehmen wie ein rückläufiger PR-Fehltritt erscheinen könnte – es sei denn, es würde die generativen Kräfte von Stable Diffusion so gründlich behindern, wie es OpenAI mit DALL-E 2 getan hat, und es stattdessen als natürliche Weiterentwicklung seiner beträchtlichen Bestände an Stock-Fotografie positionieren.

 

Erstveröffentlichung am 15. September 2022.