Stable Diffusion
Stable Diffusion ist die Modellfamilie von Stability AI aus Modellen mit offenen Gewichten und latenter Diffusion. Sie erzeugt und bearbeitet Bilder anhand von Textanweisungen auf handelsüblichen GPUs.
Stable Diffusion ist eine Modellfamilie mit offenen Gewichten von Stability AI, die Text-zu-Bild-Modelle umfasst und Bilder anhand von Eingaben in natürlicher Sprache erstellt und bearbeitet. Die erste Version, die im August 2022 veröffentlicht wurde, entstand in Zusammenarbeit mit der CompVis-Gruppe an der LMU München und Runway. Sie übertrug deren Forschung zur latenten Diffusion auf 512×512-Bilder aus einer Teilmenge des LAION-5B-Datensatzes. Die U-Net-Architektur mit 860 Millionen Parametern und der Textencoder mit 123 Millionen Parametern liefen auf einer gewöhnlichen GPU mit mindestens 10 GB Speicher. Da alle die Gewichte herunterladen konnten, wurde das Modell zur Grundlage eines umfangreichen Ökosystems aus feinabgestimmten Modellen, Adaptern und Werkzeugen zur Bildbearbeitung. Die aktuelle Version Stable Diffusion 3.5 vom Oktober 2024 ersetzt U-Net durch einen multimodalen Diffusion-Transformer, der mit rektifiziertem Fluss trainiert wurde.
So funktioniert Stable Diffusion#
Stable Diffusion ist ein Diffusionsmodell, das ein komprimiertes Bild statt einzelner Pixel entrauscht und dafür drei Netze verwendet:
- Variational Autoencoder (VAE): Der Encoder komprimiert ein Bild mit den Maßen 512×512×3 in einen latenten Vektor mit den Maßen 64×64×4, also in 48-mal weniger Werte. Der Decoder wandelt einen fertigen latenten Vektor wieder in ein Bild um. Das gesamte Entrauschen findet im kleinen latenten Vektor statt, weshalb das Modell auf gewöhnlicher Hardware ausgeführt werden kann.
- Textencoder: Wandelt die Eingabe mit bis zu 77 Tokens in Einbettungen um. Stable Diffusion 1.x verwendet OpenAIs CLIP ViT-L/14, 2.x verwendet OpenCLIP ViT-H/14, SDXL kombiniert zwei CLIP-Encoder, und Stable Diffusion 3 ergänzt die beiden CLIP-Encoder um ein T5-XXL-Sprachmodell, um Eingaben besser zu verstehen.
- Entrauschungsnetz: Sagt voraus, welches Rauschen bei jedem Schritt entfernt werden soll. Die Versionen 1.x, 2.x und SDXL verwenden ein U-Net, dessen Cross-Attention-Schichten Bildmerkmale auf die Texteinbettungen ausrichten. Die Versionen 3 und 3.5 verwenden ein MMDiT, das Bild- und Text-Tokens gemeinsam verarbeitet.
Die Generierung beginnt mit einem zufälligen latenten Vektor mit den Maßen 64×64×4. Ein Scheduler führt das Entrauschungsnetz typischerweise 20 bis 50 Schritte lang aus und entfernt dabei jedes Mal einen Teil des vorhergesagten Rauschens. Die klassifikatorfreie Steuerung verstärkt den Einfluss der Eingabe. Anschließend erzeugt der VAE-Decoder das Bild:
Da der anfängliche latente Vektor zufällig ist, ergibt dieselbe Eingabe mit einem anderen Seed ein anderes Bild. Derselbe Seed und dieselben Einstellungen erzeugen dagegen dasselbe Ergebnis.
Modellversionen#
- Stable Diffusion 1.x (2022): Bilderzeugung mit 512×512 Pixeln und einem U-Net mit 860 Millionen Parametern. Version 1.5 wurde zu einer verbreiteten Grundlage für Community-Anpassungen, und das Paper zu ControlNet baute darauf auf. Die Gewichte stehen unter der Lizenz CreativeML OpenRAIL-M.
- Stable Diffusion 2.x (Ende 2022): Wechsel zum OpenCLIP-Textencoder und Ergänzung eines Modells für 768×768 Pixel.
- SDXL (Juli 2023): Native Bilderzeugung mit 1024×1024 Pixeln, einem U-Net mit etwa 2,6 Milliarden Parametern und zwei Textencodern. SDXL Turbo, im November desselben Jahres veröffentlicht, nutzt destillierte gegnerische Diffusion, um ein Bild in einem einzigen Schritt zu erzeugen.
- Stable Diffusion 3 und 3.5 (2024): Ersetzen U-Net durch einen Transformer mit rektifiziertem Fluss, dessen Gewichte für Bild- und Text-Tokens getrennt sind. Stable Diffusion 3.5 Large hat 8,1 Milliarden Parameter, 3.5 Medium hat 2,5 Milliarden. Die Stability AI Community License erlaubt die kostenlose kommerzielle Nutzung durch Organisationen mit weniger als 1 Million US-Dollar Jahresumsatz.
Bilder mit Stable Diffusion bearbeiten#
- Bild-zu-Bild: Ein bestehendes Bild wird codiert und anhand eines durch einen Stärkewert festgelegten Zwischenschritts verrauscht. Anschließend wird es mit einer neuen Eingabe entrauscht. So bleiben Anordnung und Farben des Originalbilds erhalten, während Stil oder Inhalt verändert werden.
- Feinabstimmung: DreamBooth und LoRA passen das Modell anhand einiger Dutzend Bilder an ein neues Motiv oder einen neuen Stil an. ControlNet ergänzt Kanten-, Tiefen- oder Posenkarten als strukturelle Bedingungen.
- Bildinpainting: Erzeugt nur einen maskierten Bereich neu, passend zur Eingabe und seiner Umgebung. Die Inpainting-Prüfpunkte von Stable Diffusion ergänzen U-Net um fünf Eingabekanäle: vier für das codierte maskierte Bild und einen für die Maske selbst.
In Inpainting-Masken sind die Bereiche, die geändert werden sollen, weiß markiert; die unveränderten Bereiche sind schwarz. Instanzsegmentierungsmodelle von Ultralytics YOLO26 erzeugen solche Masken automatisch, etwa um alle Fahrzeuge einer Klasse in einem Straßenfoto zu ersetzen oder zu entfernen:
import cv2
from ultralytics import YOLO
# Segmentiere den Bus (COCO-Klasse 5) mit einem YOLO26-Instanzsegmentierungsmodell
model = YOLO("yolo26n-seg.pt")
results = model("https://ultralytics.com/images/bus.jpg", classes=[5], retina_masks=True)
result = results[0]
# Weiß markiert die Pixel, die Stable Diffusion neu zeichnen soll; Schwarz markiert die Pixel, die erhalten bleiben
mask = (result.masks.data.sum(dim=0) > 0).cpu().numpy().astype("uint8") * 255
cv2.imwrite("bus_inpaint_mask.png", mask)Die gespeicherte bus_inpaint_mask.png hat die volle Auflösung des Fotos, da retina_masks=True Masken in der ursprünglichen Bildgröße zurückgibt. Mit dem Foto, dieser Maske und einer Eingabe wie „ein roter Doppeldeckerbus“ erzeugt eine Inpainting-Pipeline den Bus neu und erhält die Straße ringsherum.
Anwendungen in der Praxis#
- Synthetische Daten für Bildverarbeitungsmodelle: Teams erzeugen Bilder mit seltenen Defekten, ungewöhnlichen Wetterbedingungen oder seltenen Blickwinkeln, um Lücken in Trainingsdatensätzen zu schließen. Mit Inpainting fügen sie außerdem neue Objekte in reale Hintergründe ein.
- Konzeptkunst und Design: Spieleentwickler, Architekten und Produktdesigner erkunden in der frühen Konzeptphase innerhalb weniger Minuten zahlreiche Stile und Kompositionen.
- Bilder für Marketing und E-Commerce: Bild-zu-Bild und ControlNet halten die Form eines Produkts unverändert, während die Eingabe Umgebung, Beleuchtung und Hintergrund anpasst.
Stable Diffusion im Vergleich zu verwandten Modellen#
- Latente Diffusionsmodelle: Stable Diffusion ist die bekannteste Umsetzung der Architektur latenter Diffusion. Daher ist jedes Stable-Diffusion-Modell ein latentes Diffusionsmodell.
- GANs: Erzeugen ein Bild in einem einzigen Vorwärtslauf, sind aber schwieriger stabil zu trainieren und decken weniger Vielfalt ab. Stable Diffusion benötigt viele Entrauschungsschritte, sofern das Modell nicht wie SDXL Turbo destilliert wurde.
- Geschlossene Bildgeneratoren: Dienste wie die Bildmodelle von OpenAI und Midjourney laufen ausschließlich auf den Servern ihrer Anbieter. Die Gewichte von Stable Diffusion können heruntergeladen, offline ausgeführt, untersucht und feinabgestimmt werden.
- FLUX.1: Black Forest Labs, 2024 von Forschenden hinter dem ursprünglichen Paper zur latenten Diffusion gegründet, darunter Robin Rombach, Andreas Blattmann und Patrick Esser, veröffentlichte die FLUX.1-Modellfamilie mit 12 Milliarden Parametern. Sie verwendet denselben Ansatz mit einem Transformer und rektifiziertem Fluss wie Stable Diffusion 3.










