opendream bringt dringend benötigte und bekannte Funktionen wie Layering, zerstörungsfreie Bearbeitung, Portabilität und einfach zu schreibende Erweiterungen in Ihre Stable Diffusion-Workflows. Schauen Sie sich unser Demo-Video an.
sh ./run_ opendream .sh
aus. Nach ca. 30 Sekunden sollten sowohl das Frontend als auch das Backend des opendream Systems betriebsbereit sein. Diffusionsmodelle haben sich als leistungsstarke Werkzeuge in der Welt der Bilderzeugung und -manipulation herausgestellt. Obwohl sie erhebliche Vorteile bieten, werden diese Modelle aufgrund ihrer inhärenten Komplexität oft als Black Boxes betrachtet. Das aktuelle Ökosystem der Diffusionsbilderzeugung wird durch Tools definiert, die einmalige Bildbearbeitungsaufgaben zur Steuerung dieser Modelle ermöglichen – unter anderem text2img, in-painting, pix2pix.
Beispielsweise unterstützen beliebte Schnittstellen wie Automatic1111, Midjourney und DreamStudio von Stability.AI nur destruktive Bearbeitung: Jede Bearbeitung „verbraucht“ das vorherige Bild. Dies bedeutet, dass Benutzer nicht einfach auf früheren Bildern aufbauen oder mehrere Experimente mit demselben Bild durchführen können, was ihre Möglichkeiten für kreative Erkundungen einschränkt.
Die zerstörungsfreie Bearbeitung ist eine Methode der Bildbearbeitung, die die ursprünglichen Bilddaten beibehält und es Benutzern ermöglicht, Anpassungen und Änderungen vorzunehmen, ohne vorherige Arbeiten zu überschreiben. Dieser Ansatz erleichtert das Experimentieren und bietet durch die Verwendung von Ebenen und Masken mehr Kontrolle über den Bearbeitungsprozess. Wenn Sie eine Ebene löschen, werden auch alle darauf folgenden Ebenen gelöscht. Dadurch wird gewährleistet, dass alle derzeit auf der Leinwand vorhandenen Ebenen ein Produkt anderer vorhandener Ebenen sind. Dies ermöglicht auch die deterministische „Wiedergabe“ eines Workflows.
Wie Photoshop unterstützt opendream die zerstörungsfreie Bearbeitung sofort. Erfahren Sie hier mehr über die Prinzipien der zerstörungsfreien Bearbeitung in Photoshop.
Benutzer können ihre aktuellen Arbeitsabläufe auch in einem tragbaren Dateiformat speichern, das zu einem späteren Zeitpunkt geöffnet oder mit Mitarbeitern geteilt werden kann. In diesem Zusammenhang ist ein „Status“ lediglich eine JSON-Datei, die alle aktuellen Ebenen und deren Erstellung beschreibt.
Da das Open-Source-Ökosystem rund um diese Modelle und Tools floriert, ist auch die Erweiterbarkeit zu einem wichtigen Anliegen geworden. Obwohl Automatic1111 Erweiterungen anbietet, sind diese oft schwierig zu programmieren, zu verwenden und zu installieren. Es ist bei weitem nicht so umfassend wie eine Anwendung wie Adobe Photoshop.
Wenn neue Funktionen für Stable Diffusion wie ControlNet veröffentlicht werden, sollten Benutzer in der Lage sein, diese nahtlos und mit minimalem Aufwand und Zeitaufwand in ihre künstlerischen Arbeitsabläufe zu integrieren.
opendream macht das Schreiben und Verwenden neuer Diffusionsfunktionen so einfach wie das Schreiben einer Python-Funktion. Lesen Sie weiter, um zu erfahren, wie.
Von Anfang an unterstützt opendream zwei wichtige primitive Operationen, die in das Kernsystem integriert sind: dream
und mask_and_inpaint
. In diesem Repository werden Erweiterungen für instruct_pix2pix
, controlnet_canny
, controlnet_openpose
und sam
(Segment Anything) bereitgestellt.
Jede Bildbearbeitungslogik kann problemlos als Erweiterung geschrieben werden. Mit Erweiterungen können Sie auch entscheiden, wie bestimmte Vorgänge funktionieren. Sie können beispielsweise die dream
-Operation überschreiben, um stattdessen DALL-E von OpenAI zu verwenden, oder einen serverlosen Endpunkt auf einem Dienst wie AWS oder Replicate aufrufen. Hier ist ein Beispiel mit Baseten.
Es gibt zwei Möglichkeiten, Erweiterungen zu laden.
opendream /extensions
hinzu. Anweisungen zum Schreiben Ihrer eigenen Erweiterung finden Sie unten.Hier finden Sie eine Auswahl der derzeit unterstützten Erweiterungen. Sie können die Links verwenden, um jede beliebige Erweiterung über die Web-Benutzeroberfläche zu installieren.
Verlängerung | Link |
---|---|
DALL-E von OpenAI | Datei |
Serverlose stabile Verbreitung | Datei |
Beauftragen Sie Pix2Pix | Datei |
ControlNet Canny | Datei |
ControlNet Openpose | Datei |
Segmentieren Sie alles | Datei |
PhotoshopGPT | Kern |
Beachten Sie, dass für Erweiterungen möglicherweise eigene Anforderungen gelten, die Sie in die Datei requirements.txt
aufnehmen müssen. Beispielsweise müssten Sie openai
hinzufügen, wenn Sie die DALL-E-Erweiterung verwenden möchten.
Machen Sie gerne eine PR, wenn Sie eine nützliche Erweiterung erstellen!
Benutzer können ihre eigenen Erweiterungen wie folgt schreiben:
opendream /extensions
.@ opendream .define_op
Dekorator. Dieser Dekorateur registriert diese Methode beim opendream Backend.Für die Methode gelten einige Anforderungen:
str
, int
, float
, Layer
, MaskLayer
oder ImageLayer
.Layer
oder eine Liste von Layer
Objekten. opendream wurde von Varun Shenoy, Eric Lou, Shashank Rammoorthy und Rahul Shiv als Teil von Stanfords CS 348K gebaut.
Fühlen Sie sich frei, Beiträge zu leisten, die Sie für notwendig oder nützlich halten. Dieses Projekt ist unter der MIT-Lizenz lizenziert.