Updated: 5/17/2024
Salut ! Dans ce guide, nous allons plonger dans le monde passionnant de ControlNet dans ComfyUI. Explorons ensemble ce qu'il apporte et comment il peut pimenter vos projets !
Nous aborderons :
Si vous souhaitez explorer le workflow ControlNet, utilisez le ComfyUI web suivant. Il est entièrement équipé de tous les nœuds et modèles client essentiels, permettant une créativité transparente sans nécessiter de configurations manuelles. Commencez à acquérir une expérience pratique en expérimentant immédiatement les fonctionnalités de ControlNet, ou poursuivez ce tutoriel pour apprendre à utiliser efficacement ControlNet.
ControlNet est une technologie transformatrice qui améliore considérablement les capacités des modèles de diffusion texte-image, permettant un contrôle spatial sans précédent de la génération d'images. En tant qu'architecture de réseau neuronal, ControlNet s'intègre parfaitement aux modèles pré-entraînés à grande échelle tels que Stable Diffusion. Il exploite la vaste formation de ces modèles, construits sur des milliards d'images, pour introduire des conditions spatiales dans le processus de création d'images. Ces conditions peuvent aller des contours et des poses humaines aux cartes de profondeur et de segmentation, permettant aux utilisateurs de guider la génération d'images d'une manière qui n'était pas possible auparavant avec les prompts textuels seuls.
Le génie de ControlNet réside dans sa méthodologie distinctive. Initialement, il sécurise les paramètres du modèle original, en s'assurant que la formation de base reste inchangée. Ensuite, ControlNet introduit un clone des couches d'encodage du modèle pour l'entraînement, en utilisant des "convolutions zéro". Ces couches convolutives spécialement conçues commencent avec des poids nuls, intégrant soigneusement de nouvelles conditions spatiales. Cette approche empêche toute perturbation bruyante d'intervenir, préservant la compétence originale du modèle tout en initiant de nouvelles trajectoires d'apprentissage.
Traditionnellement, les modèles de diffusion stable utilisent des prompts textuels comme mécanisme de conditionnement pour guider la génération d'images, alignant la sortie avec les spécificités du prompt textuel. ControlNet introduit une forme supplémentaire de conditionnement à ce processus, améliorant la capacité à diriger l'imagerie générée plus précisément en fonction des entrées textuelles et visuelles.
Cette étape intègre ControlNet dans votre workflow ComfyUI, permettant d'appliquer un conditionnement supplémentaire à votre processus de génération d'images. Elle jette les bases de l'application d'un guidage visuel parallèlement aux prompts textuels.
Conditionnement positif et négatif : Ces entrées sont cruciales pour définir les résultats souhaités et les aspects à éviter dans l'image générée. Elles doivent être liées respectivement à "Positive prompt" et "Negative prompt", s'alignant sur la partie conditionnement textuel du processus.
Modèle ControlNet : Cette entrée doit être connectée à la sortie du nœud "Load ControlNet Model". Cette étape est essentielle pour sélectionner et incorporer un modèle ControlNet ou T2IAdaptor dans votre workflow, garantissant ainsi que le modèle de diffusion bénéficie du guidage spécifique fourni par votre modèle choisi. Chaque modèle, qu'il s'agisse d'un ControlNet ou d'un T2IAdaptor, est rigoureusement entraîné pour influencer le processus de génération d'images en fonction de certains types de données ou de préférences stylistiques. Étant donné que les fonctionnalités de nombreux modèles T2IAdaptor s'alignent étroitement avec celles des modèles ControlNet, notre attention portera principalement sur les modèles ControlNet dans la suite de notre discussion. Cependant, nous mettrons également en évidence certains des T2IAdaptors les plus populaires par souci d'exhaustivité.
Préprocesseur : L'entrée "image" doit être connectée à un nœud "ControlNet Preprocessor", ce qui est crucial pour adapter votre image afin qu'elle réponde aux exigences spécifiques du modèle ControlNet que vous utilisez. Il est impératif d'utiliser le préprocesseur correct adapté à votre modèle ControlNet sélectionné. Cette étape garantit que l'image d'origine subit les modifications nécessaires, telles que des ajustements de format, de taille, de couleur ou l'application de filtres spécifiques, pour l'optimiser selon les directives de ControlNet. Après cette phase de prétraitement, l'image d'origine est remplacée par la version modifiée, que ControlNet utilise ensuite. Ce processus garantit que vos images d'entrée sont précisément préparées pour le processus ControlNet.
Le nœud "Apply ControlNet" génère deux sorties cruciales : Conditionnement positif et négatif. Ces sorties, imprégnées des effets nuancés de ControlNet et du guidage visuel, jouent un rôle central dans le pilotage du comportement du modèle de diffusion dans ComfyUI. Ensuite, vous avez le choix : soit passer au KSampler pour la phase d'échantillonnage afin de peaufiner davantage l'image générée, soit, pour ceux qui recherchent un niveau de détail et de personnalisation encore plus élevé dans leur création, continuer à superposer des ControlNets supplémentaires. Cette technique avancée d'intégration de plusieurs ControlNets permet une manipulation plus granulaire des attributs de l'image, offrant une boîte à outils améliorée aux créateurs visant à atteindre une précision et un contrôle inégalés dans leurs sorties visuelles.
strength : Ce paramètre détermine l'intensité de l'effet de ControlNet sur l'image générée dans ComfyUI. Une valeur de 1,0 implique une force maximale, ce qui signifie que le guidage de ControlNet aura une influence maximale sur la sortie du modèle de diffusion. Inversement, une valeur de 0,0 indique aucune influence, désactivant essentiellement l'effet de ControlNet sur le processus de génération d'images.
start_percent : Ce paramètre spécifie le point de départ, en pourcentage du processus de diffusion, où ControlNet commence à influencer la génération. Par exemple, définir un pourcentage de départ de 20 % signifie que le guidage de ControlNet commencera à affecter la génération d'images à partir de la marque des 20 % du processus de diffusion.
end_percent : Analogue au "Start Percent", le paramètre "End Percent" définit le point auquel l'influence de ControlNet cesse. Par exemple, un pourcentage de fin de 80 % signifierait que le guidage de ControlNet cesse d'influencer la génération d'images à la marque de 80 % d'achèvement du processus de diffusion, laissant les phases finales non affectées.
Les Timestep Keyframes dans ControlNet offrent un contrôle sophistiqué sur le comportement du contenu généré par l'IA, en particulier lorsque le timing et la progression sont cruciaux, comme dans les animations ou les visuels évolutifs. Voici une ventilation détaillée des paramètres clés pour vous aider à les utiliser efficacement et intuitivement :
prev_timestep_kf : Considérez prev_timestep_kf comme un lien entre les keyframes qui se succèdent dans une séquence. En connectant les keyframes, vous créez une transition fluide ou un storyboard qui guide l'IA à travers le processus de génération, étape par étape, en veillant à ce que chaque phase s'enchaîne logiquement avec la suivante.
cn_weights : cn_weights sont utiles pour affiner la sortie en ajustant des caractéristiques spécifiques au sein de ControlNet pendant différentes phases du processus de génération.
latent_keyframe : latent_keyframe vous permet d'ajuster la force avec laquelle chaque partie du modèle d'IA influence le résultat final pendant une phase particulière du processus de génération. Par exemple, si vous générez une image où le premier plan doit devenir plus détaillé à mesure que le processus évolue, vous pouvez augmenter la force des aspects (latents) du modèle responsables des détails du premier plan dans les keyframes ultérieurs. Inversement, si certaines caractéristiques doivent s'estomper à l'arrière-plan au fil du temps, vous pouvez réduire leur force dans les keyframes suivants. Ce niveau de contrôle est particulièrement utile pour créer des visuels dynamiques et évolutifs ou dans des projets où le timing et la progression précis sont cruciaux.
mask_optional : Utilisez des masques d'attention comme des projecteurs, en concentrant l'influence de ControlNet sur des zones spécifiques de votre image. Qu'il s'agisse de mettre en évidence un personnage dans une scène ou d'accentuer un élément d'arrière-plan, ces masques peuvent s'appliquer uniformément ou varier en intensité, en dirigeant précisément l'attention de l'IA là où vous le souhaitez.
start_percent : start_percent marque le moment où votre keyframe entre en jeu, mesuré en pourcentage du processus de génération global. Le définir revient à programmer l'entrée en scène d'un acteur, en s'assurant qu'il apparaisse au bon moment dans la performance.
strength : strength offre un contrôle de haut niveau sur l'influence globale de ControlNet.
null_latent_kf_strength : Pour tous les acteurs (latents) que vous n'avez pas explicitement dirigés dans cette scène (keyframe), null_latent_kf_strength agit comme une instruction par défaut, leur indiquant comment se comporter en arrière-plan. Il garantit qu'aucune partie de la génération n'est laissée sans orientation, maintenant une sortiecohérente même dans les zones que vous n'avez pas spécifiquement abordées.
inherit_missing : L'activation d'inherit_missing permet à votre keyframe actuel d'adopter tous les paramètres non spécifiés de son prédécesseur, comme un jeune frère ou une jeune sœur héritant de vêtements. C'est un raccourci utile qui assure la continuité et la cohérence sans avoir besoin de répéter les instructions.
guarantee_usage : guarantee_usage est votre garantie que, quoi qu'il arrive, le keyframe actuel aura son moment de gloire dans le processus, même si ce n'est que pour un bref instant. Il garantit que chaque keyframe que vous avez mis en place a un impact, honorant votre planification détaillée pour guider le processus créatif de l'IA.
Les Timestep Keyframes offrent la précision nécessaire pour guider méticuleusement le processus créatif de l'IA, vous permettant de façonner le récit ou le voyage visuel exactement comme vous l'imaginez. Ils servent d'outil puissant pour orchestrer l'évolution des visuels, en particulier dans l'animation, de la scène d'ouverture jusqu'à la conclusion. Voici un aperçu plus détaillé de la façon dont les Timestep Keyframes peuvent être appliqués stratégiquement pour gérer la progression d'une animation, en assurant une transition fluide de l'image initiale à l'image finale, en parfaite adéquation avec vos objectifs artistiques.
Étant donné que les fonctionnalités de nombreux modèles T2IAdaptor s'alignent étroitement avec celles des modèles ControlNet, notre attention portera principalement sur les modèles ControlNet dans la suite de notre discussion. Cependant, nous mettrons également en évidence certains des T2IAdaptors les plus populaires par souci d'exhaustivité.
Préprocesseur : Openpose ou DWpose
Le modèle Tile Resample est utilisé pour l'amélioration des détails dans les images. Il est particulièrement utile en conjonction avec un upscaler pour améliorer la résolution de l'image tout en ajoutant des détails plus fins, souvent utilisé pour affiner et enrichir les textures et les éléments dans une image.
Préprocesseur : Tile
Le modèle Canny applique l'algorithme de détection de contours de Canny, un processus en plusieurs étapes pour détecter une large gamme de contours dans les images. Ce modèle est bénéfique pour préserver les aspects structurels d'une image tout en simplifiant sa composition visuelle, ce qui le rend utile pour l'art stylisé ou le prétraitement avant une manipulation d'image plus poussée.
Préprocesseurs : Canny
Les modèles Depth déduisent les informations de profondeur à partir d'une image 2D, traduisant la distance perçue en une carte de profondeur en niveaux de gris. Chaque variante offre un équilibre différent entre la capture des détails et l'accent mis sur l'arrière-plan :
Préprocesseurs : Depth_Midas, Depth_Leres, Depth_Zoe, Depth_Anything, MeshGraphormer_Hand_Refiner. Ce modèle est très robuste et peut fonctionner sur des cartes de profondeur réelles provenant de moteurs de rendu.
Les modèles Lineart convertissent les images en dessins au trait stylisés, utiles pour les rendus artistiques ou comme base pour un travail créatif ultérieur :
Le préprocesseur peut générer des dessins au trait détaillés ou grossiers à partir d'images (Lineart et Lineart_Coarse)
Les modèles Scribble sont conçus pour transformer les images en une apparence de croquis, simulant l'aspect de dessins à la main. Ils sont particulièrement utiles pour le restyling artistique ou comme étape préliminaire dans un flux de travail de conception plus large :
Préprocesseurs : Scribble, Scribble_HED, Scribble_PIDI et Scribble_XDOG
Les modèles de segmentation catégorisent les pixels de l'image en classes d'objets distinctes, chacune représentée par une couleur spécifique. Ceci est inestimable pour identifier et manipuler des éléments individuels dans une image, comme séparer le premier plan de l'arrière-plan ou différencier les objets pour une édition détaillée.
Préprocesseurs acceptables : Sam, Seg_OFADE20K (Oneformer ADE20K), Seg_UFADE20K (Uniformer ADE20K), Seg_OFCOCO (Oneformer COCO), ou masques créés manuellement.
Le modèle Shuffle introduit une nouvelle approche en randomisant les attributs de l'image d'entrée, tels que les schémas de couleurs ou les textures, sans altérer la composition. Ce modèle est particulièrement efficace pour les explorations créatives et la génération de variations d'une image avec une intégrité structurelle conservée mais une esthétique visuelle modifiée. Sa nature aléatoire signifie que chaque sortie est unique, influencée par la valeur de la graine utilisée dans le processus de génération.
Préprocesseurs : Shuffle
Les modèles Inpainting dans ControlNet permettent une édition affinée dans des zones spécifiques d'une image, maintenant la cohérence globale tout en introduisant des variations ou des corrections significatives.
Pour utiliser ControlNet Inpainting, commencez par isoler la zone que vous souhaitez régénérer par masquage. Cela peut être fait en cliquant avec le bouton droit sur l'image souhaitée et en sélectionnant "Open in MaskEditor" pour les modifications.
Contrairement à d'autres implémentations dans ControlNet, Inpainting contourne le besoin d'un préprocesseur en raison des modifications directes appliquées à l'image. Cependant, il est crucial de transmettre l'image éditée à l'espace latent via le KSampler. Cela garantit que le modèle de diffusion se concentre uniquement sur la régénération de la région masquée, préservant l'intégrité des zones non masquées.
M-LSD (Mobile Line Segment Detection) se concentre sur la détection des lignes droites, idéal pour les images avec des éléments architecturaux forts, des intérieurs et des formes géométriques. Il simplifie les scènes à leur essence structurelle, facilitant les projets créatifs impliquant des environnements créés par l'homme.
Préprocesseurs : MLSD.
Normalmaps permet de simuler des effets complexes d'éclairage et de texture en modélisant l'orientation des surfaces dans une scène visuelle, plutôt que de s'appuyer uniquement sur des données de couleur. Ceci est essentiel pour les tâches de modélisation et de simulation 3D.
Préprocesseurs : Normal BAE, Normal Midas
ControlNet Soft Edge est conçu pour générer des images avec des bords plus doux, en se concentrant sur le contrôle des détails et l'apparence naturelle. Il utilise des techniques avancées de réseau neuronal pour une manipulation précise des images, offrant une plus grande liberté créative et des capacités de fusion transparente.
Robustesse : SoftEdge_PIDI_safe > SoftEdge_HED_safe >> SoftEdge_PIDI > SoftEdge_HED
Qualité maximale des résultats : SoftEdge_HED > SoftEdge_PIDI > SoftEdge_HED_safe > SoftEdge_PIDI_safe
Compte tenu du compromis, nous recommandons d'utiliser SoftEdge_PIDI par défaut. Dans la plupart des cas, il fonctionne très bien.
Préprocesseurs : SoftEdge_PIDI, SoftEdge_PIDI_safe, SoftEdge_HED, SoftEdge_HED_safe.
Le modèle ControlNet IP2P (Instruct Pix2Pix) se démarque comme une adaptation unique dans le cadre de ControlNet, conçue pour tirer parti de l'ensemble de données Instruct Pix2Pix pour les transformations d'images. Cette variante de ControlNet se différencie en équilibrant les prompts d'instruction et les prompts de description pendant sa phase d'entraînement. Contrairement à l'approche conventionnelle d'Instruct Pix2Pix officiel, ControlNet IP2P intègre un mélange 50/50 de ces types de prompts, améliorant sa polyvalence et son efficacité dans la génération des résultats souhaités.
t2iadapter color : Le modèle t2iadapter_color est spécialement conçu pour améliorer la représentation des couleurs et la précision dans les images générées lors de l'utilisation de modèles de diffusion texte-image. En se concentrant sur l'adaptation des couleurs, ce modèle permet une palette de couleurs plus précise et vibrante, étroitement alignée avec les descriptions fournies dans les prompts textuels. Il est particulièrement utile pour les projets où la fidélité et la spécificité des couleurs sont cruciales, ajoutant une nouvelle couche de réalisme et de détail à l'imagerie générée.
t2iadapter style : Le modèle t2iadapter_style cible les aspects stylistiques de la génération d'images, permettant la modification et le contrôle du style artistique des images de sortie. Cet adaptateur permet aux utilisateurs de guider le modèle texte-image vers la génération d'images qui adhèrent à des styles ou esthétiques artistiques spécifiques décrits dans les prompts textuels. C'est un outil inestimable pour les projets créatifs où le style de l'image joue un rôle central, offrant un moyen transparent de mélanger les styles d'art traditionnels avec les capacités modernes de l'IA.
Pour ces segments, nous consacrerons des articles séparés pour fournir une introduction approfondie à chacun, étant donné la quantité substantielle d'informations que nous souhaitons partager.
L'utilisation de plusieurs ComfyUI ControlNets dans ComfyUI implique un processus de superposition ou d'enchaînement de modèles ControlNet pour affiner la génération d'images avec des contrôles plus précis sur divers aspects comme la pose, la forme, le style et la couleur.
Ainsi, vous pouvez construire votre workflow en appliquant un ControlNet (par ex. OpenPose) puis en transmettant sa sortie à un autre ControlNet (par ex. Canny). Cette application en couches permet une personnalisation détaillée de l'image, où chaque ControlNet applique ses transformations ou contrôles spécifiques. Le processus permet un contrôle affiné de la sortie finale, intégrant de multiples aspects guidés par différents ControlNets.
Si vous souhaitez explorer le workflow ControlNet, utilisez le ComfyUI web suivant. Il est entièrement équipé de tous les nœuds et modèles client essentiels, permettant une créativité transparente sans nécessiter de configurations manuelles. Acquérez une expérience pratique et familiarisez-vous avec les fonctionnalités de ControlNet dès maintenant !
© Droits d'auteur 2024 RunComfy. Tous droits réservés.