Updated: 5/16/2024
Hallo zusammen! In diesem Leitfaden tauchen wir in die aufregende Welt von ControlNet in ComfyUI ein. Lassen Sie uns gemeinsam erkunden, was es zu bieten hat und wie es Ihre Projekte bereichern kann!
Wir werden behandeln:
Wenn Sie den ControlNet-Workflow erkunden möchten, nutzen Sie das folgende ComfyUI-Web. Es ist vollständig mit allen wesentlichen Kundennodes und -modellen ausgestattet und ermöglicht nahtlose Kreativität ohne manuelle Einrichtung. Sammeln Sie sofort praktische Erfahrungen, indem Sie mit den Funktionen von ControlNet experimentieren, oder setzen Sie dieses Tutorial fort, um zu lernen, wie Sie ControlNet effektiv einsetzen können.
ControlNet ist eine transformative Technologie, die die Fähigkeiten von Text-zu-Bild-Diffusionsmodellen erheblich erweitert und eine beispiellose räumliche Kontrolle bei der Bilderzeugung ermöglicht. Als neuronale Netzwerkarchitektur lässt sich ControlNet nahtlos in große, vortrainierte Modelle wie Stable Diffusion integrieren. Es nutzt das umfangreiche Training dieser Modelle auf Milliarden von Bildern, um räumliche Bedingungen in den Bilderzeugungsprozess einzuführen. Diese Bedingungen können von Kanten und Körperhaltungen bis hin zu Tiefen- und Segmentierungskarten reichen, sodass Benutzer die Bilderzeugung auf eine Art und Weise steuern können, die bisher mit reinen Textaufforderungen nicht möglich war.
Die Genialität von ControlNet liegt in seiner unverwechselbaren Methodik. Zunächst sichert es die ursprünglichen Modellparameter und stellt sicher, dass das grundlegende Training unverändert bleibt. Anschließend führt ControlNet einen Klon der Codierungsschichten des Modells für das Training ein und verwendet dabei "Null-Faltungen". Diese speziell entwickelten Faltungsschichten beginnen mit Nullgewichten und integrieren sorgfältig neue räumliche Bedingungen. Dieser Ansatz verhindert störende Geräusche und bewahrt die ursprüngliche Leistungsfähigkeit des Modells, während gleichzeitig neue Lernpfade eingeleitet werden.
Traditionell verwenden Stable-Diffusion-Modelle Textaufforderungen als Konditionierungsmechanismus, um die Erzeugung von Bildern zu steuern und die Ausgabe an die Besonderheiten der Textaufforderung anzupassen. ControlNet führt eine zusätzliche Form der Konditionierung in diesen Prozess ein, die die Fähigkeit zur präziseren Steuerung der generierten Bilder anhand von Text- und Bildeingaben erweitert.
Dieser Schritt integriert ControlNet in Ihren ComfyUI-Workflow und ermöglicht die Anwendung zusätzlicher Konditionierung auf Ihren Bilderzeugungsprozess. Er legt den Grundstein für die Anwendung visueller Führung zusammen mit Textaufforderungen.
Positive und negative Konditionierung: Diese Eingaben sind entscheidend für die Definition der gewünschten Ergebnisse und der zu vermeidenden Aspekte im generierten Bild. Sie sollten jeweils mit "Positive prompt" und "Negative prompt" verknüpft werden und mit dem textlichen Konditionierungsteil des Prozesses übereinstimmen.
ControlNet-Modell: Diese Eingabe sollte mit der Ausgabe des "Load ControlNet Model" Nodes verbunden sein. Dieser Schritt ist wichtig für die Auswahl und Integration eines ControlNet- oder T2IAdaptor-Modells in Ihren Workflow, um sicherzustellen, dass das Diffusionsmodell von der spezifischen Führung Ihres ausgewählten Modells profitiert. Jedes Modell, ob ControlNet oder T2IAdaptor, wird sorgfältig trainiert, um den Bilderzeugungsprozess entsprechend bestimmter Datentypen oder stilistischer Vorlieben zu beeinflussen. Da die Funktionalitäten vieler T2IAdaptor-Modelle eng mit denen von ControlNet-Modellen übereinstimmen, werden wir uns in unserer folgenden Diskussion hauptsächlich auf ControlNet-Modelle konzentrieren. Zur Vollständigkeit werden wir jedoch auch einige der beliebteren T2IAdaptoren hervorheben.
Präprozessor: Der "image"-Eingang muss mit einem "ControlNet Preprocessor" Node verbunden werden, der entscheidend für die Anpassung Ihres Bildes an die spezifischen Anforderungen des von Ihnen verwendeten ControlNet-Modells ist. Es ist unerlässlich, den richtigen Präprozessor zu verwenden, der auf Ihr ausgewähltes ControlNet-Modell zugeschnitten ist. Dieser Schritt stellt sicher, dass das Originalbild notwendige Modifikationen durchläuft — wie Anpassungen von Format, Größe, Farbe oder die Anwendung spezifischer Filter —, um es für die Richtlinien von ControlNet zu optimieren. Nach dieser Vorverarbeitungsphase wird das Originalbild durch die modifizierte Version ersetzt, die ControlNet dann verwendet. Dieser Prozess garantiert, dass Ihre Eingabebilder präzise für den ControlNet-Prozess vorbereitet werden.
Der "Apply ControlNet" Node erzeugt zwei entscheidende Ausgaben: Positive und negative Konditionierung. Diese Ausgaben, die mit den differenzierten Effekten von ControlNet und der visuellen Anleitung angereichert sind, spielen eine zentrale Rolle bei der Steuerung des Verhaltens des Diffusionsmodells in ComfyUI. Danach haben Sie die Wahl: Fahren Sie mit dem KSampler für die Sampling-Phase fort, um das generierte Bild weiter zu verfeinern, oder setzen Sie für diejenigen, die einen noch höheren Detailgrad und eine noch größere Anpassung ihrer Kreation anstreben, die Anwendung zusätzlicher ControlNets fort. Diese fortgeschrittene Technik der Integration weiterer ControlNets ermöglicht eine granularere Manipulation der Bildeigenschaften und bietet ein erweitertes Toolkit für Ersteller, die eine unübertroffene Präzision und Kontrolle in ihren visuellen Ausgaben erreichen möchten.
strength: Dieser Parameter bestimmt die Intensität des Effekts von ControlNet auf das generierte Bild in ComfyUI. Ein Wert von 1,0 bedeutet volle Stärke, d. h. die Anleitung von ControlNet hat den größten Einfluss auf die Ausgabe des Diffusionsmodells. Umgekehrt bedeutet ein Wert von 0,0 keinen Einfluss, wodurch der Effekt von ControlNet auf den Bilderzeugungsprozess im Wesentlichen deaktiviert wird.
start_percent: Dieser Parameter gibt den Startpunkt als Prozentsatz des Diffusionsprozesses an, bei dem ControlNet beginnt, die Generierung zu beeinflussen. Wenn Sie beispielsweise einen Startprozentsatz von 20 % festlegen, bedeutet dies, dass die Anleitung von ControlNet ab der 20-%-Marke des Diffusionsprozesses die Bilderzeugung zu beeinflussen beginnt.
end_percent: Analog zum "Start Percent" definiert der Parameter "End Percent" den Punkt, an dem der Einfluss von ControlNet endet. Beispielsweise würde ein End Percent von 80 % bedeuten, dass die Anleitung von ControlNet die Bilderzeugung bei 80 % Fertigstellung des Diffusionsprozesses nicht mehr beeinflusst und die letzten Phasen unberührt lässt.
Timestep Keyframes in ControlNet bieten eine anspruchsvolle Kontrolle über das Verhalten von KI-generiertem Inhalt, insbesondere wenn Timing und Progression entscheidend sind, wie bei Animationen oder sich entwickelnden Bildern. Hier ist eine detaillierte Aufschlüsselung der wichtigsten Parameter, die Ihnen helfen, sie effektiv und intuitiv zu nutzen:
prev_timestep_kf: Betrachten Sie prev_timestep_kf als das Verbinden von Händen mit dem vorherigen Keyframe in einer Sequenz. Durch das Verbinden von Keyframes erstellen Sie einen reibungslosen Übergang oder ein Storyboard, das die KI Schritt für Schritt durch den Erzeugungsprozess führt und sicherstellt, dass jede Phase logisch in die nächste übergeht.
cn_weights: cn_weights sind nützlich für die Feinabstimmung der Ausgabe, indem spezifische Merkmale innerhalb des ControlNet während verschiedener Phasen des Generierungsprozesses angepasst werden.
latent_keyframe: Mit latent_keyframe können Sie einstellen, wie stark jeder Teil des KI-Modells das Endergebnis während einer bestimmten Phase des Generierungsprozesses beeinflusst. Wenn Sie beispielsweise ein Bild erzeugen, bei dem der Vordergrund im Laufe des Prozesses detaillierter werden soll, können Sie die Stärke für die Aspekte (Latents) des Modells, die für die Vordergrunddetails verantwortlich sind, in späteren Keyframes erhöhen. Umgekehrt können Sie, wenn bestimmte Merkmale im Laufe der Zeit in den Hintergrund treten sollen, deren Stärke in nachfolgenden Keyframes reduzieren. Dieser Grad an Kontrolle ist besonders nützlich bei der Erstellung dynamischer, sich entwickelnder Bilder oder bei Projekten, bei denen präzises Timing und Progression entscheidend sind.
mask_optional: Verwenden Sie Aufmerksamkeitsmasken wie Scheinwerfer, um denEinfluss von ControlNet auf bestimmte Bereiche Ihres Bildes zu fokussieren. Ob Sie eine Figur in einer Szene hervorheben oder ein Hintergrundelement betonen möchten, diese Masken können entweder einheitlich angewendet werden oder in der Intensität variieren und die Aufmerksamkeit der KI genau dorthin lenken, wo Sie sie haben möchten.
start_percent: start_percent markiert den Zeitpunkt, zu dem Ihr Keyframe ins Spiel kommt, gemessen als Prozentsatz des gesamten Generierungsprozesses. Die Festlegung dieses Wertes ist wie das Planen des Auftritts eines Schauspielers auf der Bühne, um sicherzustellen, dass er genau im richtigen Moment in der Aufführung erscheint.
strength: strength bietet eine übergeordnete Kontrolle über den Gesamteinfluss des ControlNet.
null_latent_kf_strength: Für alle Akteure (Latents), die Sie in dieser Szene (Keyframe) nicht ausdrücklich angewiesen haben, fungiert null_latent_kf_strength als Standardanweisung, die ihnen sagt, wie sie im Hintergrund agieren sollen. Es stellt sicher, dass kein Teil der Generierung ohne Anleitung bleibt, und sorgt so für eine kohärente Ausgabe, auch in Bereichen, die Sie nicht speziell angesprochen haben.
inherit_missing: Durch die Aktivierung von inherit_missing kann Ihr aktueller Keyframe alle nicht spezifizierten Einstellungen von seinem Vorgänger übernehmen, wie ein jüngeres Geschwisterkind, das Kleidung erbt. Es ist eine nützliche Abkürzung, die Kontinuität und Kohärenz gewährleistet, ohne dass Anweisungen wiederholt werden müssen.
guarantee_usage: guarantee_usage ist Ihre Garantie, dass der aktuelle Keyframe in jedem Fall seinen Moment zum Glänzen im Prozess haben wird, auch wenn es nur für einen kurzen Moment ist. Es stellt sicher, dass jeder von Ihnen eingerichtete Keyframe einen Einfluss hat und Ihre detaillierte Planung bei der Steuerung des kreativen Prozesses der KI respektiert.
Timestep Keyframes bieten die Präzision, die erforderlich ist, um den kreativen Prozess der KI akribisch zu steuern und es Ihnen zu ermöglichen, die Erzählung oder die visuelle Reise genau so zu gestalten, wie Sie sie sich vorstellen. Sie dienen als leistungsfähiges Werkzeug, um die Entwicklung von Bildern zu orchestrieren, insbesondere bei Animationen, von der Eröffnungsszene bis hin zum Abschluss. Hier ein genauerer Blick darauf, wie Timestep Keyframes strategisch eingesetzt werden können, um den Ablauf einer Animation zu steuern und einen nahtlosen Übergang vom Anfangsbild zum Schlussbild zu gewährleisten, der perfekt auf Ihre künstlerischen Ziele abgestimmt ist.
Da die Funktionalitäten vieler T2IAdaptor-Modelle eng mit denen von ControlNet-Modellen übereinstimmen, werden wir uns in der folgenden Diskussion hauptsächlich auf ControlNet-Modelle konzentrieren. Zur Vollständigkeit werden wir jedoch auch einige der beliebteren T2IAdaptoren hervorheben.
Präprozessor: Openpose oder DWpose
Das Tile Resample-Modell wird zur Verbesserung von Details in Bildern verwendet. Es ist besonders nützlich in Verbindung mit einem Upscaler, um die Bildauflösung zu verbessern und gleichzeitig feinere Details hinzuzufügen. Es wird oft verwendet, um Texturen und Elemente innerhalb eines Bildes zu schärfen und anzureichern.
Präprozessor: Tile
Das Canny-Modell wendet den Canny-Kantenfindungsalgorithmus an, einen mehrstufigen Prozess zur Erkennung eines breiten Spektrums von Kanten in Bildern. Dieses Modell ist nützlich, um die strukturellen Aspekte eines Bildes zu erhalten und gleichzeitig seine visuelle Komposition zu vereinfachen, was es für stilisierte Kunst oder die Vorverarbeitung vor einer weiteren Bildmanipulation nützlich macht.
Präprozessoren: Canny
Depth-Modelle leiten Tiefeninformationen aus einem 2D-Bild ab und übersetzen die wahrgenommene Entfernung in eine Graustufen-Tiefenkarte. Jede Variante bietet ein anderes Gleichgewicht zwischen Detailerfassung und Hintergrundbetonung:
Präprozessoren: Depth_Midas, Depth_Leres, Depth_Zoe, Depth_Anything, MeshGraphormer_Hand_Refiner. Dieses Modell ist sehr robust und kann mit echten Tiefenkarten aus Rendering-Engines arbeiten.
Lineart-Modelle konvertieren Bilder in stilisierte Strichzeichnungen, was für künstlerische Darstellungen oder als Basis für weitere kreative Arbeiten nützlich ist:
Der Präprozessor kann detaillierte oder grobe Strichzeichnungen aus Bildern erzeugen (Lineart und Lineart_Coarse).
Scribble-Modelle sind darauf ausgelegt, Bilder in ein gekritzelartiges Aussehen zu verwandeln und so den Look von handgezeichneten Skizzen zu simulieren. Sie sind besonders nützlich für die künstlerische Umgestaltung oder als Vorstufe in einem größeren Design-Workflow:
Präprozessoren: Scribble, Scribble_HED, Scribble_PIDI und Scribble_XDOG
Segmentierungsmodelle kategorisieren Bildpixel in verschiedene Objektklassen, die jeweils durch eine bestimmte Farbe dargestellt werden. Dies ist unschätzbar wertvoll für die Identifizierung und Manipulation einzelner Elemente innerhalb eines Bildes, wie z. B. die Trennung von Vorder- und Hintergrund oder die Differenzierung von Objekten für die detaillierte Bearbeitung.
Akzeptable Präprozessoren: Sam, Seg_OFADE20K (Oneformer ADE20K), Seg_UFADE20K (Uniformer ADE20K), Seg_OFCOCO (Oneformer COCO), oder manuell erstellte Masken.
Das Shuffle-Modell führt einen neuartigen Ansatz ein, indem es die Attribute des Eingabebildes wie Farbschemata oder Texturen zufällig anordnet, ohne die Komposition zu verändern. Dieses Modell ist besonders effektiv für kreative Erkundungen und die Erzeugung von Variationen eines Bildes mit beibehaltener struktureller Integrität, aber veränderter visueller Ästhetik. Seine zufällige Natur bedeutet, dass jede Ausgabe einzigartig ist und vom Seed-Wert beeinflusst wird, der im Generierungsprozess verwendet wird.
Präprozessoren: Shuffle
Inpainting-Modelle innerhalb von ControlNet ermöglichen eine verfeinerte Bearbeitung innerhalb spezifischer Bereiche eines Bildes, wobei die Gesamtkohärenz erhalten bleibt und gleichzeitig signifikante Variationen oder Korrekturen eingeführt werden.
Um ControlNet Inpainting zu nutzen, beginnen Sie damit, den Bereich zu isolieren, den Sie durch Maskierung regenerieren möchten. Dies kann erfolgen, indem Sie mit der rechten Maustaste auf das gewünschte Bild klicken und "Open in MaskEditor" für Änderungen auswählen.
Im Gegensatz zu anderen Implementierungen innerhalb von ControlNet umgeht Inpainting die Notwendigkeit eines Präprozessors aufgrund der direkten Modifikationen, die am Bild vorgenommen werden. Es ist jedoch entscheidend, das bearbeitete Bild an den Latent Space über den KSampler weiterzuleiten. Dies stellt sicher, dass sich das Diffusionsmodell ausschließlich auf die Regeneration der maskierten Region konzentriert und die Integrität der nicht maskierten Bereiche bewahrt.
M-LSD (Mobile Line Segment Detection) konzentriert sich auf die Erkennung gerader Linien, ideal für Bilder mit starken architektonischen Elementen, Innenräumen und geometrischen Formen. Es vereinfacht Szenen auf ihre strukturelle Essenz und erleichtert kreative Projekte, die von Menschen geschaffene Umgebungen einbeziehen.
Präprozessoren: MLSD.
Normalmaps ermöglicht die Simulation komplexer Beleuchtungs- und Textureffekte durch die Modellierung der Orientierung von Oberflächen in einer visuellen Szene, anstatt sich nur auf Farbdaten zu verlassen. Dies ist entscheidend für 3D-Modellierungs- und Simulationsaufgaben.
Präprozessoren: Normal BAE, Normal Midas
ControlNet Soft Edge ist darauf ausgelegt, Bilder mit weicheren Kanten zu erzeugen, wobei der Schwerpunkt auf Detailkontrolle und natürlichem Aussehen liegt. Es verwendet fortschrittliche neuronale Netzwerktechniken für präzise Bildmanipulation und bietet mehr kreative Freiheit und nahtlose Blendmöglichkeiten.
Robustheit: SoftEdge_PIDI_safe > SoftEdge_HED_safe >> SoftEdge_PIDI > SoftEdge_HED
Maximale Ergebnisqualität: SoftEdge_HED > SoftEdge_PIDI > SoftEdge_HED_safe > SoftEdge_PIDI_safe
Unter Berücksichtigung des Kompromisses empfehlen wir, standardmäßig SoftEdge_PIDI zu verwenden. In den meisten Fällen funktioniert es sehr gut.
Präprozessoren: SoftEdge_PIDI, SoftEdge_PIDI_safe, SoftEdge_HED, SoftEdge_HED_safe.
Das ControlNet IP2P (Instruct Pix2Pix)-Modell sticht als einzigartige Anpassung innerhalb des ControlNet-Frameworks hervor, die darauf zugeschnitten ist, den Instruct Pix2Pix-Datensatz für Bildtransformationen zu nutzen. Diese ControlNet-Variante unterscheidet sich durch die Balance zwischen Anweisungs-Prompts und Beschreibungs-Prompts während ihrer Trainingsphase. Im Gegensatz zum konventionellen Ansatz in Instruct Pix2Pix integriert ControlNet IP2P eine 50/50-Mischung dieser Prompt-Typen, was seine Vielseitigkeit und Effektivität bei der Erzeugung der gewünschten Ergebnisse verbessert.
t2iadapter color: Das t2iadapter_color-Modell ist speziell darauf ausgelegt, die Farbdarstellung und -genauigkeit in generierten Bildern zu verbessern, wenn Text-zu-Bild-Diffusionsmodelle verwendet werden. Durch die Fokussierung auf die Farbanpassung ermöglicht dieses Modell eine genauere und lebendigere Farbpalette, die eng mit den in den Textaufforderungen enthaltenen Beschreibungen übereinstimmt. Es ist besonders nützlich für Projekte, bei denen Farbtreue und Spezifität entscheidend sind, und fügt der generierten Bildsprache eine neue Ebene von Realismus und Detail hinzu.
t2iadapter style: Das t2iadapter_style-Modell zielt auf die stilistischen Aspekte der Bilderzeugung ab und ermöglicht die Modifikation und Kontrolle über den künstlerischen Stil der Ausgangsbilder. Dieser Adapter ermöglicht es Benutzern, das Text-zu-Bild-Modell anzuleiten, Bilder zu erzeugen, die sich an spezifischen künstlerischen Stilen oder Ästhetiken orientieren, die in den Textaufforderungen beschrieben werden. Es ist ein unschätzbares Werkzeug für kreative Projekte, bei denen der Stil des Bildes eine zentrale Rolle spielt, und bietet eine nahtlose Möglichkeit, traditionelle Kunststile mit modernen KI-Fähigkeiten zu verbinden.
Für diese Segmente werden wir separate Artikel widmen, um eine gründliche Einführung in jedes von ihnen zu geben, angesichts der erheblichen Menge an Informationen, die wir teilen möchten.
Die Verwendung mehrerer ComfyUI ControlNets in ComfyUI beinhaltet einen Prozess des Schichtens oder Verkettens von ControlNet-Modellen, um die Bilderzeugung mit präziseren Kontrollen über verschiedene Aspekte wie Pose, Form, Stil und Farbe zu verfeinern.
So können Sie Ihren Workflow aufbauen, indem Sie ein ControlNet (z. B. OpenPose) anwenden und dessen Ausgabe dann in ein anderes ControlNet (z. B. Canny) einspeisen. Diese geschichtete Anwendung ermöglicht eine detaillierte Anpassung des Bildes, wobei jedes ControlNet seine spezifischen Transformationen oder Steuerungen anwendet. Der Prozess ermöglicht eine verfeinerte Kontrolle über die endgültige Ausgabe und integriert mehrere Aspekte, die von verschiedenen ControlNets gesteuert werden.
Wenn Sie daran interessiert sind, den ControlNet-Workflow zu erkunden, verwenden Sie das folgende ComfyUI-Web. Es ist vollständig mit allen wesentlichen Kundennodes und -modellen ausgestattet und ermöglicht nahtlose Kreativität ohne manuelle Einrichtung. Sammeln Sie jetzt praktische Erfahrungen und machen Sie sich mit den Funktionen von ControlNet vertraut!
© Urheberrecht 2024 RunComfy. Alle Rechte vorbehalten.