ControlNet
Explore comment ControlNet fournit un contrôle spatial précis sur l'IA générative. Apprends à utiliser Ultralytics YOLO26 pour extraire des poses afin de guider la génération d'images dès aujourd'hui.
ControlNet est une architecture avancée de réseau neuronal conçue pour fournir un contrôle spatial précis sur les modèles d’IA générative texte-image de grande taille. Initialement introduit pour améliorer des modèles comme Stable Diffusion, il permet aux utilisateurs de guider la génération d’images à l’aide de conditions d’entrée supplémentaires, au-delà des simples prompts textuels. En transmettant au réseau des indications visuelles spécifiques — telles que des cartes de contours, des cartes de profondeur ou des squelettes humains — les praticiens peuvent déterminer la composition, la posture ou la structure exacte du résultat généré, comblant ainsi l’écart entre les descriptions en langage naturel et une exécution visuelle précise.
Fonctionnement de l’architecture#
L’innovation centrale de ControlNet réside dans sa capacité à préserver les vastes connaissances préentraînées d’un modèle de fondation tout en apprenant de nouvelles tâches de conditionnement. Pour y parvenir, il verrouille les paramètres du bloc de réseau neuronal d’origine et crée un clone entraînable. Ce clone est relié au modèle verrouillé à l’aide de couches spécialisées de « convolution nulle », initialisées avec des poids nuls afin de garantir qu’aucun bruit ne soit ajouté pendant les premières étapes du fine-tuning. Tu peux en savoir plus sur la théorie mathématique et structurelle dans la publication de recherche originale sur ControlNet sur arXiv.
Cette structure unique permet aux développeurs d’entraîner des contrôles de conditionnement robustes sur du matériel grand public, ce qui le rend très accessible par rapport à l’entraînement d’un vaste modèle d’apprentissage profond à partir de zéro.
ControlNet par rapport aux modèles de diffusion et à LoRA#
Lorsqu’on parle d’intelligence artificielle générative, il est utile de distinguer ControlNet des concepts connexes :
- Modèles de diffusion : ce sont les moteurs de base sous-jacents qui génèrent des images en supprimant progressivement le bruit. Ils reposent presque exclusivement sur des prompts textuels.
- LoRA (adaptation de bas rang) : LoRA est une méthode permettant d’enseigner rapidement à un modèle un nouveau style ou un nouveau sujet (comme un personnage spécifique ou un style artistique). En revanche, ControlNet impose la disposition spatiale exacte de l’image.
Applications concrètes#
ControlNet a considérablement étendu l’utilité de la vision par ordinateur et de l’IA générative dans les workflows professionnels.
- Rendu conceptuel architectural : les architectes et les architectes d’intérieur utilisent ControlNet pour transformer des plans de conception assistée par ordinateur (CAD) élémentaires en noir et blanc ou des croquis dessinés à la main en rendus photoréalistes de bâtiments et de pièces.
- Pose de personnages dans le développement de jeux vidéo : les animateurs exploitent des modèles d’estimation de pose humaine pour extraire les structures squelettiques d’une vidéo de référence. Ces squelettes sont transmis à ControlNet afin de générer des sprites de personnages cohérents et stylisés, adoptant des poses exactes pour les éléments de jeux vidéo, ce qui réduit considérablement le temps consacré à l’illustration manuelle.
Préparer les conditions pour ControlNet#
Pour utiliser ControlNet efficacement, tu dois d’abord extraire la condition spatiale souhaitée à partir d’une image source. Par exemple, tu peux utiliser Ultralytics YOLO26, le tout dernier modèle de vision à la pointe de la technologie, pour extraire le squelette d’une pose humaine. Ce squelette est ensuite enregistré et utilisé comme entrée de conditionnement pour un pipeline texte-image compatible avec ControlNet.
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")Que tu prépares des contours de Canny à l’aide des fonctions OpenCV standard ou que tu extraies des masques de segmentation avancés, la préparation d’entrées de haute qualité est essentielle. Pour la gestion de jeux de données dans le cloud et l’annotation de données nécessaires à l’entraînement de conditions ControlNet personnalisées, des plateformes comme l’Ultralytics Platform fournissent un environnement fluide de bout en bout pour les équipes d’IA modernes.






