简体中文 (vereinfachtes Chinesisch)
Native InstantID-Unterstützung für ComfyUI.
Diese Erweiterung unterscheidet sich von den vielen bereits verfügbaren, da sie keine Diffusoren verwendet, sondern stattdessen InstantID nativ implementiert und vollständig in ComfyUI integriert ist.
Github-Sponsor | ? Paypal
Wenn Ihnen meine Arbeit gefällt und Sie Updates und neue Funktionen sehen möchten, denken Sie bitte darüber nach, meine Projekte zu sponsern.
ComfyUI IPAdapter Plus
ComfyUI InstantID (nativ)
ComfyUI Essentials
ComfyUI FaceAnalysis
Ganz zu schweigen von der Dokumentation und den Video-Tutorials. Schauen Sie sich meine ComfyUI Advanced Understanding -Videos auf YouTube an, zum Beispiel Teil 1 und Teil 2
Die einzige Möglichkeit, den Code offen und frei zu halten, besteht darin, seine Entwicklung zu sponsern. Je mehr Sponsorings, desto mehr Zeit kann ich meinen Open-Source-Projekten widmen.
Bitte erwägen Sie ein Github-Sponsoring oder eine PayPal-Spende (Matteo „matt3o“ Spinelli). Lassen Sie mich für Sponsorings ab 50 $ wissen, ob Sie in dieser Readme-Datei erwähnt werden möchten. Sie finden mich auf Discord oder matt3o gmail.com .
27.02.2024: Rauschunterdrückung in den negativen Einbettungen hinzugefügt.
26.02.2024: Ein kleiner, aber böser Fehler wurde behoben. Die Ergebnisse werden unterschiedlich sein und Sie müssen möglicherweise den CFG senken.
20.02.2024: Ich habe die Knoten überarbeitet, damit sie hoffentlich einfacher zu verwenden sind. Dies ist ein Breaking-Update , die vorherigen Arbeitsabläufe funktionieren nicht mehr.
Im examples
finden Sie einige grundlegende Arbeitsabläufe.
** Einführung in die InstantID-Funktionen **
Aktualisieren Sie ComfyUI auf die neueste Version!
Laden Sie dieses Repository herunter oder git clone
in das Verzeichnis ComfyUI/custom_nodes/
oder verwenden Sie den Manager.
Für InstantID ist insightface
erforderlich. Sie müssen es zusammen mit onnxruntime
und onnxruntime-gpu
zu Ihren Bibliotheken hinzufügen.
Das InsightFace-Modell ist antelopev2 (nicht das klassische buffalo_l). Laden Sie die Modelle herunter (zum Beispiel von hier oder hier), entpacken Sie sie und legen Sie sie im Verzeichnis ComfyUI/models/insightface/models/antelopev2
ab.
Das Hauptmodell kann von HuggingFace heruntergeladen werden und sollte im Verzeichnis ComfyUI/models/instantid
abgelegt werden. (Beachten Sie, dass das Modell ip_adapter heißt, da es auf dem IPAdapter basiert).
Sie benötigen außerdem ein Controlnet. Platzieren Sie es im ComfyUI-Controlnet-Verzeichnis.
Denken Sie daran, dass dies im Moment nur für SDXL gilt.
Die Trainingsdaten sind voller Wasserzeichen. Um zu verhindern, dass diese in Ihren Generationen auftauchen, verwenden Sie eine Auflösung, die sich geringfügig von 1024×1024 (oder den Standardauflösungen) unterscheidet. Beispielsweise funktioniert 1016×1016 ziemlich gut.
Es ist wichtig, den CFG auf mindestens 4/5 zu senken, oder Sie können den RescaleCFG
Knoten verwenden.
Die Pose der Person basiert auf den aus dem Referenzbild generierten Schlüsselpunkten. Sie können eine andere Pose verwenden, indem Sie ein Bild an den Eingang image_kps
senden.
Die standardmäßige InstantID-Implementierung scheint das Bild wirklich zu verbrennen. Ich finde, dass wir durch das Einfügen von Rauschen in die negativen Einbettungen den Effekt abschwächen und auch die Wahrscheinlichkeit der Referenz erhöhen können. Der standardmäßige Apply InstantID-Knoten injiziert automatisch 35 % Rauschen. Wenn Sie den Effekt feinabstimmen möchten, können Sie den Advanced InstantID-Knoten verwenden.
Dies ist noch experimentell und kann sich in Zukunft ändern.
Sie können der Generation weitere Kontrollnetze hinzufügen. Es wird ein Beispielworkflow für Depth Controlnet bereitgestellt.
Es ist möglich, die Komposition mit IPAdapter zu gestalten. Ein Beispiel wird bereitgestellt.
Multi-ID wird unterstützt, aber der Workflow ist etwas kompliziert und die Generierung langsamer. Ich werde prüfen, ob ich einen besseren Weg finden kann, es zu tun. Der „Hackish“-Workflow wird im Beispielverzeichnis bereitgestellt.
Es ist ein erweiterter InstantID-Knoten verfügbar. Der einzige Unterschied zum Standardknoten besteht derzeit darin, dass Sie die Gewichtungen für die InstantID-Modelle und das Kontrollnetz separat festlegen können. Es beinhaltet jetzt auch eine Noise-Injection-Option. Es könnte für die Feinabstimmung hilfreich sein.
Das InstantID-Modell beeinflusst die Zusammensetzung zu etwa 25 %, der Rest ist das Kontrollnetz.
Der Lärm trägt dazu bei, den „Burn“-Effekt zu reduzieren.
Es funktioniert sehr gut mit SDXL Turbo/Lighting. Beste Ergebnisse mit Community-Checkpoints.
Nur dank großzügiger Sponsoren kann die gesamte Community offene und freie Software genießen. Bitte danken Sie gemeinsam mit mir den folgenden Unternehmen und Einzelpersonen!
RunComfy (ComfyUI Cloud)
Øystein Ø. Olsen
Jack Gane
Nathan Shipley
Dkdnzia
Und alle meine öffentlichen und privaten Sponsoren!