ControlNet est une architecture de réseau neuronal qui ajoute un conditionnement spatial à des modèles texte-image pré-entraînés tels que les modèles de diffusion comme Stable Diffusion. Introduite dans un article de février 2023 par Lvmin Zhang, Anyi Rao et Maneesh Agrawala à l'Université de Stanford, elle permettait aux utilisateurs de contrôler la structure d'une image générée, et non seulement son contenu, en fournissant une entrée auxiliaire telle qu'un squelette de pose humaine, une carte de contours Canny, une carte de profondeur ou une esquisse grossière, en plus d'un texte d'invite. Avant ControlNet, les modèles de diffusion n'offraient qu'un contrôle indirect de la composition via le libellé de l'invite et la sélection de la graine aléatoire ; ControlNet a rendu le contrôle structurel direct et fiable.
Architecture
ControlNet fonctionne en clonant les poids des couches d'encodage d'un modèle de diffusion pré-entraîné dans une copie entraînable, tout en maintenant les poids du modèle original figés. La copie entraînable reçoit l'image de conditionnement et est reconnectée au réseau figé via des couches de « convolution zéro », des couches convolutives initialisées avec des poids nuls, de sorte qu'au début de l'entraînement, la branche ajoutée n'a aucun effet sur la sortie du modèle de base. L'entraînement apprend ensuite progressivement au réseau à respecter le signal de conditionnement sans oublier de manière catastrophique ce que le modèle de base a déjà appris à partir de son ensemble de pré-entraînement beaucoup plus vaste. Étant donné que le modèle de base reste figé, un module ControlNet unique peut être entraîné sur un ensemble de données relativement petit et spécifique à une tâche, tout en héritant de la capacité générative complète du modèle de diffusion sous-jacent. Plusieurs modules ControlNet, chacun spécialisé pour un type de conditionnement différent, peuvent également être combinés pour un contrôle structurel composé.
Types de conditionnement
ControlNet a été publié avec le support de plusieurs modes de conditionnement, chacun nécessitant son propre module entraîné : les squelettes OpenPose pour le contrôle de la pose humaine, la détection de contours Canny pour le contrôle basé sur les contours, les cartes de profondeur pour le contrôle de la disposition spatiale, la détection de lignes de Hough pour les scènes architecturales et intérieures, les cartes de segmentation sémantique, les cartes de normales, et les entrées de gribouillis ou d'esquisses pour un guidage compositionnel approximatif. Cette variété a rendu ControlNet utile dans divers flux de travail, allant de la pose cohérente de personnages à travers une série d'illustrations à la conversion d'un gribouillis approximatif en une image finie tout en préservant la disposition prévue par l'artiste.
Adoption et impact
ControlNet a été publié en tant que code open-source accompagné de poids pré-entraînés compatibles avec Stable Diffusion 1.5, et il a été rapidement adopté par la communauté open-source de génération d'images associée à Hugging Face, devenant un composant standard d'interfaces telles que le WebUI de Stable Diffusion d'Automatic1111 et ComfyUI. Son arrivée est souvent citée comme un tournant pour l'utilisation pratique et orientée production des modèles de diffusion, car elle répondait à la plainte centrale selon laquelle les invites textuelles seules offraient trop peu de contrôle sur la composition aux artistes et aux designers. Le conditionnement de type ControlNet a ensuite été réimplémenté et étendu pour des modèles de base plus récents, y compris Stable Diffusion XL, et a influencé la manière dont les systèmes commerciaux ultérieurs tels que Midjourney et FLUX ont abordé le guidage structurel, même lorsque ces systèmes utilisaient des mécanismes sous-jacents différents.
Réception
ControlNet a été largement considéré au sein de la communauté de recherche en vision par ordinateur et en IA générative comme une méthode significative et peu coûteuse pour étendre les capacités d'un modèle de fondation existant sans réentraînement complet, et sa technique de convolution zéro a influencé des travaux ultérieurs sur le conditionnement efficace et les méthodes d'adaptation plus largement. Il a été abondamment cité comme point de référence dans les recherches ultérieures sur la génération contrôlable pour les images et, plus tard, pour les systèmes texte-vers-vidéo, qui font face à un besoin analogue de contrôle structurel et temporel au-delà de ce que les invites textuelles seules peuvent spécifier.