ICH BIN DER KUNST (mit Stable Diffusion)
Mein letzter Artikel über das Generieren von Bildern mit PyTorch fühlt sich an, als wäre er vor drei Jahren und nicht vor drei Monaten geschrieben worden. Damals war der Quellcode der Tools wie Dall-E und Midjourney Entwicklern wie mir noch nicht zugänglich. Diese Einschränkung fühlte sich an, als wäre dies kein Bereich, den ich erkunden könnte, da es meine Fähigkeit, sie nachzukonstruieren, bei weitem überstieg.
Und dann veröffentlichte CompVis Stable Diffusion als Open Source, sodass jeder, der eine Kopie des Codes besitzt, damit experimentieren und ihn erweitern kann.
Spulen wir drei bis vier Monate vor, seit Stable Diffusion herauskam und sich ein ganzes Ökosystem darum gebildet hat. Jeder mit den Fähigkeiten, ein paar Befehle auszuführen (jeder), kann einen persönlichen Stable Diffusion-Server einrichten – am beliebtesten ist die auf AUTOMATIC1111 Gradio basierende Web-Benutzeroberfläche. Diese Benutzeroberfläche ist so beliebt, dass Leute ihre eigenen Plugins dafür schreiben. Wir verwenden eine Variante von AUTOMATIC1111 mit unseren eigenen kleinen Optimierungen und Änderungen obendrauf.
Innerhalb von Open Studios war es ein großer Segen, unsere eigene selbst gehostete Stable Diffusion zu haben – wir haben im Grunde eine Kunstabteilung gewonnen, die Hunderte von Optionen für Banner, Animationen und was auch immer sonst eine visuelle kreative Leitung benötigt. Als Schriftsteller konnte ich schnell eine Klassenzimmerszene rendern, an der ich gerade arbeitete, und stellte fest, dass sie langweilig aussah, also verlegte ich die Szene in ein Museum. Diese Art von Hin- und Her-Iteration findet normalerweise zwischen mindestens einigen wenigen Personen mit unterschiedlichen Fachgebieten statt – dh einem Art Director und Sketch Artists.
Als Befürworter wünschte ich, ich könnte sagen, dass die von Stable Diffusion erzeugten Bilder gut waren – meistens sind sie es nicht und es erfordert ein wenig Versuch und Irrtum, erneute Ausführung und manuelle Korrektur mit Photoshop.
Entdecken, was ein Konzept sein kann
Stellen Sie sich eine Wolke aus Haftnotizen vor, die anhand von Etiketten gruppiert sind. So funktioniert das Gedächtnis für ein maschinelles Lernsystem. In der Wissenschaft des maschinellen Lernens wird diese Wolke aus Post-its als „latenter Raum“ bezeichnet.
Die gleiche Strandszene kann sehr unterschiedlich aussehen, je nachdem, ob sie aus der Perspektive einer Person oder eines Vogels aufgenommen wurde oder ob die Interpretation des Lichts realistisch oder stilisiert ist. Die Ergebnisse können etwas unvorhersehbar sein, was in diesem Anwendungsfall genau das ist, was wir wollen, denn als Workflow ist es so, als würde man ein Team von Konzeptkünstlern bitten, sich auf den Weg zu machen und Ideen für Sie zu finden.
Manchmal wissen wir nicht einmal, wie etwas aussehen muss, wir verwenden Eingabeaufforderungen, um Bilder zu generieren, und durchlaufen dann iterative Phasen, in denen wir unsere Favoriten auswählen und mehr erstellen, bis wir an Orte gelangen, die uns gefallen.
Beim Erkunden eines unbekannten Gebiets ist es oft hilfreich, eine Karte zu zeichnen, und bei Stable Diffusion ist es eigentlich ganz ähnlich!
Aufzeichnen latenter Räume und zeitnahe Recherche
Mit unseren Studio-Workstations, die mit leistungsstarken Grafikkarten der RTX 30-Serie ausgestattet sind, verwenden wir im Allgemeinen die maximale Losgröße und Probenanzahl. Die Anzahl der Ergebnisse ist das Produkt dieser beiden Einstellungen, sodass wir in 10 Stapeln mit 4 Proben 40 Bilder haben würden. Wenn XY-Gitter aktiviert sind, würde dies weiter mit der Anzahl der Optionen in X und Y multipliziert.
Bei der Verwendung von Stable Diffusion ist es üblich, Tausende von XY-Rastern als eine Art Musterpalette zu erstellen und dann diejenigen auszuwählen, die der entsprechenden kreativen Vision und dem entsprechenden Stil entsprechen. Die AUTOMATIC1111-Benutzeroberfläche verfügt über umfangreiche Anpassungsoptionen für die Definition der X- und Y-Achse Ihres Rasters, indem Sie verschiedene Datenmodelle, Texteingabeaufforderungen und andere Einstellungen verwenden können, um zu sehen, wie sie alle auf unterschiedliche Weise zusammenkommen.
Es kann eine Weile dauern, bis Eingabeaufforderungen herausgefunden werden, manchmal erfordert es wochenlanges Ausprobieren, um Wörter neu anzuordnen und sogar online nach Orten wie Lexica zu suchen, wenn wir die KI nicht dazu bringen können, das zu zeichnen, was wir wollen. In unserer Welt haben wir keine Dinge wie Dämonen oder Cyborgs und daher braucht es ein wenig Fingerspitzengefühl, um dem System zu sagen, was wir sehen wollen – zum Beispiel könnte ein Dämon eine „riesige humanoide Fledermaus mit Hörnern und rotem Fell“ sein und so weiter Cyborg könnte ein „Mann mit kybernetischen humanoiden Prothesen“ sein.
Es gibt auch externe Faktoren, die sich auf die Effektivität der Texteingabeaufforderungen auswirken – Einstellungen wie Startwert, Sampler, CFG-Skala (wie streng Sie sich an Ihre Texteingabeaufforderung halten) und sogar die Auflösung können das Ergebnis stark verändern.
Hinzufügen neuer Details zu Bildern mit niedriger Auflösung
Die Hauptgröße für alle Stable Diffusion-Grafiken ist 512 x 512, aber wir möchten im Allgemeinen Bilder, die für die Vollbildanzeige mit einer Bildschirmauflösung von mindestens 1080p, vorzugsweise jedoch 4K, ausgelegt sind. Die von uns verwendete Technik heißt img2img und kann tatsächlich jedes vorhandene Bild als Eingabe verwenden, aber zum Hochskalieren verwenden wir entweder ein hochskaliertes spezifisches Skript oder füttern es mit Variationen der Parameter, die zu seiner Erstellung verwendet wurden, um hochdetaillierte Ergebnisse zu gewährleisten höhere Auflösungen.
Manchmal kann das Hochskalieren eines Bildes aufwendiger sein als die ursprüngliche Erstellung. Siehe unten ein Originalbild im Vergleich zu seinen verschiedenen hochskalierten Formen.
Im Großen und Ganzen hat es fast keine Mühe gekostet, das Originalbild zu erstellen, aber auf der anderen Seite war der Aufwand, dieses Bild dann hochzuskalieren, tatsächlich ziemlich groß. Alles in allem war es ein informatives Experiment – zumindest lehrte es uns, Bilder zuerst in Photoshop zu bereinigen, bevor wir sie hochskalieren!
Workflow- und Dateiverwaltung
Wir arbeiten in jedem Stable Diffusion-Projekt mit Tausenden von Bildern, oft gepaart mit Metadatenblättern, die erklären, wie wir diese Assets erstellt haben, falls wir sie in Zukunft neu erstellen oder ändern müssen.
Cloud-Laufwerke und Git helfen auf jeden Fall, aber jeder, der sich mit Medienproduktion auskennt, weiß, dass bei solchen Projekten in der Regel ziemlich viele Daten verworfen werden. Prozesse zur Entsorgung und Archivierung von Referenzobjekten können genauso wichtig sein wie die Speicherung dieser Daten überhaupt.
— —
Hoffentlich gibt Ihnen dies einen kleinen Einblick in die Arbeit hinter den Kulissen von Open Studios. Früher habe ich ältere Tech-Profis dafür beneidet, dass sie beim Dot-Com-Boom dabei waren, aber ich habe das Gefühl, dass wir gerade unseren bekommen haben.
Referenzen und Links:
- Lexika —https://lexica.art/
- Web-UI von Automatic1111 —https://github.com/AUTOMATIC1111/stable-diffusion-webui
- Modelldatenbank —https://upscale.wiki/wiki/Model_Database#Drawn_Material

![Was ist überhaupt eine verknüpfte Liste? [Teil 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































