ControlNet ist eine Erweiterung für Stable Diffusion, die durch zusätzliche Condition-Maps — wie Körperposen, Kantenbilder oder Tiefenkarten — präzise räumliche und strukturelle Kontrolle über den Generierungsprozess ermöglicht.
Rubrik: GenAI & Content Creation · Unterrubrik: Stable Diffusion · Niveau: Fortgeschritten
Was ist ControlNet?
ControlNet wurde von Lvmin Zhang und Maneesh Agrawala (2023) an der Stanford University entwickelt und in dem Paper „Adding Conditional Control to Text-to-Image Diffusion Models" veröffentlicht. Das System löst ein grundlegendes Problem der text-gesteuerten Bildgenerierung: Ohne Zusatzinformation kann der Künstler zwar den Inhalt vorgeben, nicht aber präzise Komposition, Pose oder Struktur.
ControlNet fügt dem Stable-Diffusion-U-Net ein trainiertes Seitennetzwerk hinzu, das eine strukturelle Map als zusätzliches Konditionierungssignal verarbeitet. Diese Map wird aus einem Referenzbild extrahiert — Kanten, Körperpunkte, Tiefe — und steuert die Generierung auf Pixel-Ebene.
Erklärung
Wie ControlNet funktioniert
ControlNet kopiert die Encoder-Hälfte des U-Nets und verbindet sie mit dem Original-U-Net über Zero-Convolution-Schichten. Diese Zero-Convolutions sind initial mit Nullen initialisiert, sodass das Originalmodell zu Beginn unverändert bleibt. Während des Trainings lernen die Zero-Convolutions, wie viel des ControlNet-Signals in die Generierung einfließen soll.
ControlNet-Stärke: Der Parameter Control Weight (0–2, typisch 1.0) steuert, wie stark die strukturelle Map die Generierung beeinflusst. Niedrige Werte (0.3–0.5) lassen mehr kreative Freiheit; hohe Werte (1.0–1.5) erzwingen strikte Strukturtreue.
ControlNet-Typen im Überblick
Canny Edge: Extrahiert Kanten aus einem Referenzbild (Canny-Algorithmus). Nützlich für: Architekturskizzen umsetzen, Lineart kolorieren, exakte Formen übertragen.
OpenPose / DWPose: Erkennt menschliche Körperpunkte (Gelenke, Körperhaltung). Ermöglicht das Übertragen von Posen aus Referenzfotos ohne Identitätsübernahme. 18 Keypoints für Körper + Hand- und Gesichtserkennung in erweiterten Modellen.
Depth Map: Extrahiert Tiefeninformation (Midas, Zoe, LeReS). Überträgt räumliche Anordnung, ohne exakte Formen zu duplizieren. Ideal für Innenarchitektur-Visualisierungen und Szenen-Komposition.
Lineart / Manga-Lineart: Extraktion sauberer Linien aus Fotos oder Zeichnungen. Gut für: Bleistiftskizzen zu finalen Illustrationen umwandeln, Manga-Stil-Konvertierung.
Scribble / Sketch: Nimmt grobe Handskizzen als Input. Weniger präzise als Canny, aber kreativer.
Segmentation (SEGS): Semantische Segmentierung — jeder Bildbereich wird einer Kategorie zugeordnet (Himmel, Person, Gebäude). Gibt präzise Kontrolle über räumliche Anordnung verschiedener Elemente.
Normal Map: Überträgt Oberflächenorientierungen. Nützlich für 3D-Objekte und Texturen.
Tile/Blur: Spezialfall für Upscaling — verfeinert Details beim Hochskalieren kohärent.
IP2P (Instruct Pix2Pix): Textuell beschriebene Bildänderungen (z. B. „mach es zu Winter").
Schritt-für-Schritt / Einrichtung
Installation in AUTOMATIC1111
```
- Extensions Tab → Available → Search: "ControlNet"
- "sd-webui-controlnet" installieren
- WebUI neu starten
- ControlNet-Modelle herunterladen:
- Hugging Face: lllyasviel/ControlNet-v1-1 - In models/ControlNet/ ablegen
- Im txt2img-Tab erscheint jetzt das ControlNet-Panel
```
Wichtige ControlNet-Modelle für SDXL
`` xinsir/controlnet-openpose-sdxl-1.0 xinsir/controlnet-canny-sdxl-1.0 diffusers/controlnet-zoe-depth-sdxl-1.0 ``
Typischer ControlNet-Workflow
```
- Referenzbild hochladen (z. B. Foto mit gewünschter Körperpose)
- Preprocessor auswählen (z. B. "openpose_full")
- Model auswählen (z. B. "controlv11psd15_openpose")
- Control Weight: 1.0 (Standardwert)
- Starting Control Step: 0 (ab erstem Schritt)
- Ending Control Step: 1 (bis letztem Schritt)
- Prompt + Standard-Parameter wie gewohnt
- Generieren
```
Beispiele (5 konkrete Anwendungsfälle)
- Pose-Transfer für Mode-Lookbooks: Ein Modeunternehmen fotografiert Models in gewünschten Posen. Via OpenPose werden diese Posen extrahiert und auf neue, KI-generierte Outfits übertragen — ohne die Identität des Models zu übernehmen.
- Architekturskizze zu Rendering: Architects zeichnen grobe Grundrisse und Fassaden. Canny Edge extrahiert die Struktur, Stable Diffusion erzeugt daraus fotorealistisches Architektur-Rendering — in Minuten statt Stunden.
- Charakterkonsistenz über Panels: Für Comics wird eine Referenzzeichnung des Hauptcharakters per Lineart in alle Panels übertragen. So bleibt der Charakter auch bei wechselnden Posen und Hintergründen konsistent.
- Innenarchitektur-Staging: Leere Raumfotos werden mit Depth-ControlNet als räumliche Vorlage genutzt. SD fügt Möbel, Dekoration und Beleuchtung hinzu — die Raumstruktur bleibt erhalten.
- Handskizze zu Illustration: Werbeagenturen skizzieren Ideen schnell von Hand. Via Scribble-ControlNet werden diese Rohskizzen in ausgearbeitete Illustrationen umgewandelt — schnelle Konzept-Iteration ohne Vollproduktion.
In der Praxis
Multi-ControlNet
In AUTOMATIC1111 und ComfyUI können mehrere ControlNet-Inputs gleichzeitig aktiv sein. Beispiel: Depth (Raumstruktur, Weight 0.7) + OpenPose (Körperhaltung, Weight 0.8) + IP-Adapter (Stil, Weight 0.5). Die Signale werden additiv kombiniert.
Control-Steps anpassen
``` Starting Control Step: 0.0 → ControlNet wirkt von Anfang an Ending Control Step: 0.5 → ControlNet nur erste Hälfte der Steps
Effekt: Frühe Steps bestimmen Komposition (ControlNet aktiv), späte Steps bestimmen Details (ControlNet inaktiv) → Gute Balance zwischen Strukturtreue und kreativem Freiheitsgrad ```
Preprocessor vs. direkte Mask-Eingabe
Preprocessors (Canny-Detektor, OpenPose-Detektor) verarbeiten automatisch das Referenzbild. Alternativ kann man fertige Maps (schon gerenderte Depth-Maps, 3D-Pose-Exports) direkt eingeben, indem der Preprocessor auf „none" gesetzt wird.
Vergleich & Abgrenzung
| Methode | Stärken | Schwächen | Typischer Einsatz |
|---|---|---|---|
| Canny | Exakte Formen | Übernimmt alle Details | Architektur, Logos |
| OpenPose | Pose ohne Identität | Nur Personen | Mode, Sport, Charaktere |
| Depth | Räumliche Anordnung | Unschärfer als Canny | Innenarchitektur, Szenen |
| Scribble | Grobe Skizzen | Weniger präzise | Schnelle Konzepte |
| Segmentation | Vollständige Raumkontrolle | Komplexe Vorbereitung | Szenenkomposition |
| IP-Adapter | Stilübertragung | Kein Strukturzwang | Stil, Atmosphäre |
Häufige Fragen (FAQ)
F: Warum unterscheiden sich SD 1.5 und SDXL ControlNet-Modelle? ControlNet-Modelle sind an die U-Net-Architektur des Basismodells gebunden. SD-1.5-ControlNets funktionieren nicht mit SDXL und umgekehrt. Es existieren dedizierte SDXL-ControlNet-Modelle (von xinsir, diffusers), die separat heruntergeladen werden müssen. Flux nutzt eigene native ControlNet-Varianten (Flux.1 Canny, Flux.1 Depth).
F: Wie viele ControlNets kann ich gleichzeitig nutzen? Technisch unbegrenzt, praktisch durch VRAM begrenzt. Jedes aktive ControlNet lädt ein zusätzliches Modell in den GPU-Speicher. Mit 12 GB VRAM sind 2–3 ControlNets gleichzeitig problemlos möglich. Die Signale überlagern sich additiv; zu viele ControlNets mit zu hohen Weights führen zu inkohärenten Bildern.
Verwandte Einträge
- IP-Adapter — Stilübertragung ohne Strukturzwang als Ergänzung zu ControlNet
- Inpainting & Outpainting — ControlNet für gezielte Bildbearbeitung
- AUTOMATIC1111 — ControlNet-Extension-Installation im Detail
Weiterführend
- Zhang, L. & Agrawala, M. (2023). Adding Conditional Control to Text-to-Image Diffusion Models.
- ControlNet GitHub:
- Hugging Face ControlNet-Modelle:
- Civitai ControlNet-Guide:
