ControlNet
Entdecke, wie ControlNet präzise räumliche Kontrolle über generative KI ermöglicht. Erfahre, wie du Ultralytics YOLO26 nutzt, um Posen zur Steuerung der Bildgenerierung zu extrahieren.
ControlNet ist eine fortschrittliche neuronale Netzwerkarchitektur, die eine fein abgestufte räumliche Kontrolle über große generative KI-Modelle zur Texterzeugung von Bildern ermöglicht. Ursprünglich zur Erweiterung von Modellen wie Stable Diffusion entwickelt, ermöglicht sie es Nutzern, die Bilderzeugung mithilfe zusätzlicher Eingabebedingungen über reine Textaufforderungen hinaus zu steuern. Indem bestimmte visuelle Leitinformationen wie Kantenkarten, Tiefenkarten oder menschliche Skelette in das Netzwerk eingespeist werden, können Anwender die genaue Komposition, Körperhaltung oder Struktur der erzeugten Ausgabe festlegen und so die Lücke zwischen Beschreibungen in natürlicher Sprache und präziser visueller Umsetzung schließen.
Funktionsweise der Architektur#
Die zentrale Innovation von ControlNet liegt in der Fähigkeit, das umfangreiche, vortrainierte Wissen eines zugrunde liegenden Basismodells zu bewahren und gleichzeitig neue Aufgaben zur Steuerung zu erlernen. Dies wird erreicht, indem die Parameter des ursprünglichen Blocks des neuronalen Netzwerks eingefroren und eine trainierbare Kopie erstellt werden. Diese Kopie wird mithilfe spezieller Schichten mit „Zero Convolution“ mit dem eingefrorenen Modell verbunden. Sie werden mit Gewichten von null initialisiert, sodass in den frühen Phasen der Feinabstimmung kein Rauschen hinzugefügt wird. Mehr über die mathematischen und strukturellen Grundlagen erfährst du in der ursprünglichen ControlNet-Forschungsveröffentlichung auf arXiv.
Diese einzigartige Struktur ermöglicht es Entwicklern, robuste Steuerungen auf Geräten für Endverbraucher zu trainieren, wodurch ControlNet im Vergleich zum Training eines umfangreichen Deep-Learning-Modells von Grund auf besonders zugänglich ist.
ControlNet im Vergleich zu Diffusionsmodellen und LoRA#
Bei der Diskussion über generative künstliche Intelligenz ist es hilfreich, ControlNet von verwandten Konzepten zu unterscheiden:
- Diffusionsmodelle: Dabei handelt es sich um die zugrunde liegenden Basismodelle, die Bilder erzeugen, indem sie schrittweise Rauschen entfernen. Sie stützen sich nahezu ausschließlich auf Textaufforderungen.
- LoRA (Anpassung mit niedriger Rangzahl): LoRA ist eine Methode, um einem Modell schnell einen neuen Stil oder ein neues Motiv beizubringen, etwa eine bestimmte Figur oder einen bestimmten Kunststil. Im Gegensatz dazu legt ControlNet die genaue räumliche Anordnung des Bildes fest.
Anwendungen in der Praxis#
ControlNet hat den Nutzen von Computer Vision und generativer KI in professionellen Arbeitsabläufen erheblich erweitert.
- Architektonische Konzeptvisualisierung: Architekten und Innenarchitekten nutzen ControlNet, um einfache schwarz-weiße Baupläne für computergestütztes Design (CAD) oder handgezeichnete Skizzen in fotorealistische Darstellungen von Gebäuden und Räumen umzuwandeln.
- Posen von Figuren in der Spieleentwicklung: Animatoren nutzen Modelle zur Posenschätzung des Menschen, um Skelettstrukturen aus einem Referenzvideo zu extrahieren. Diese Skelette werden in ControlNet eingespeist, um konsistente, stilisierte Figuren-Sprites mit exakt vorgegebenen Posen für Videospiel-Assets zu erzeugen und dadurch den Zeitaufwand für manuelle Illustrationen deutlich zu reduzieren.
Bedingungen für ControlNet vorbereiten#
Um ControlNet effektiv zu nutzen, musst du zunächst die gewünschte räumliche Bedingung aus einem Quellbild extrahieren. Du kannst beispielsweise Ultralytics YOLO26, das derzeit fortschrittlichste Vision-Modell, verwenden, um ein menschliches Posenskelett zu extrahieren. Dieses Skelett wird anschließend gespeichert und als Steuerungseingabe für eine textbasierte Bildgenerierungspipeline mit ControlNet verwendet.
from ultralytics import YOLO
# Load the Ultralytics YOLO26 pose estimation model
model = YOLO("yolo26n-pose.pt")
# Perform inference to extract the human pose skeleton
results = model("character_reference.jpg")
# Save the resulting plotted skeleton to use as ControlNet input
results[0].save("pose_conditioning.jpg")Unabhängig davon, ob du mithilfe standardmäßiger OpenCV-Funktionen Canny-Kanten vorbereitest oder fortschrittliche Segmentierungsmasken extrahierst: Die Vorbereitung hochwertiger Eingaben ist entscheidend. Für die cloudbasierte Verwaltung von Datensätzen und die Datenannotation, die zum Trainieren benutzerdefinierter ControlNet-Bedingungen erforderlich ist, bieten Plattformen wie die Ultralytics Platform eine nahtlose Komplettumgebung für moderne KI-Teams.






