ControlNet en Profondeur
ControlNet en Profondeur
Qu'est-ce que ControlNet ?
ControlNet est une technique qui ajoute un contrôle spatial à la génération d'images. Au lieu de laisser le modèle décider librement de la composition, vous lui fournissez une carte de contrôle (guide visuel) qui impose la structure, la pose, les contours ou la profondeur de l'image.
C'est l'outil indispensable pour passer de résultats aléatoires à des compositions précises et intentionnelles.
Les types de ControlNet
Canny (détection de contours)
Extrait les contours d'une image. Idéal pour :
- Reproduire la structure d'une image existante
- Créer des variations tout en gardant la même composition
- Transformer une photo en illustration
Paramètres du préprocesseur :
low_threshold(50-100) : seuil bas de détectionhigh_threshold(100-200) : seuil haut de détection
Depth (carte de profondeur)
Analyse la profondeur de la scène (premier plan, arrière-plan). Idéal pour :
- Conserver la disposition spatiale d'une scène
- Changer le style tout en gardant la perspective
- Scènes architecturales
Préprocesseurs disponibles :
MiDaS: rapide, bonne qualité généraleZoe Depth: plus précis pour les scènes complexesDepth Anything: le plus récent et performant
OpenPose (détection de pose)
Détecte le squelette et la pose d'une personne. Idéal pour :
- Reproduire une pose spécifique
- Créer des personnages dans des positions précises
- Cohérence de pose dans une série d'images
Variantes :
openpose: corps entieropenpose_face: corps + expression facialeopenpose_hand: corps + mains détailléesopenpose_full: corps + visage + mains
Scribble / Sketch
Transforme un croquis fait main en image détaillée. Idéal pour :
- Concept artists qui veulent partir d'un dessin rapide
- Prototypage visuel
- Création artistique guidée
Lineart
Similaire à Canny mais optimisé pour les dessins au trait. Produit des lignes plus propres et continues. Parfait pour :
- Conversion de dessins en illustrations colorisées
- Manga et bande dessinée
- Art vectoriel stylisé
SoftEdge (HED)
Détection de contours plus douce que Canny. Produit des contours flous qui laissent plus de liberté créative au modèle. Bon compromis entre guidage et flexibilité.
Normal Map
Capture les normales de surface (orientation des surfaces dans l'espace 3D). Utile pour :
- Rendu réaliste des textures et de l'éclairage
- Scènes architecturales
- Objets 3D
Segmentation
Découpe l'image en zones sémantiques (ciel, sol, bâtiment, personne...). Permet de contrôler précisément la disposition des éléments.
Shuffle
Mélange les caractéristiques visuelles d'une image (couleurs, textures) tout en générant une nouvelle composition. Utile pour le transfert de style.
Tile
Améliore les détails d'une image en la traitant par tuiles. Principalement utilisé pour l'upscale intelligent.
Inpaint
Spécialisé dans le remplissage de zones masquées. Combine le contrôle spatial avec la génération sélective.
Installation dans ComfyUI
Modèles ControlNet
Téléchargez les modèles correspondant à votre base model :
Pour SD 1.5 :
models/controlnet/
├── control_v11p_sd15_canny.safetensors
├── control_v11f1p_sd15_depth.safetensors
├── control_v11p_sd15_openpose.safetensors
├── control_v11p_sd15_scribble.safetensors
├── control_v11p_sd15_lineart.safetensors
└── control_v11p_sd15_softedge.safetensors
Pour SDXL :
models/controlnet/
├── diffusers_xl_canny_full.safetensors
├── diffusers_xl_depth_full.safetensors
└── t2i-adapter_xl_openpose.safetensors
Préprocesseurs
Installez via ComfyUI Manager : ComfyUI's ControlNet Auxiliary Preprocessors (par Fannovel16).
Workflow ControlNet dans ComfyUI
Workflow basique
Load Image ──► Canny Preprocessor ──►
Apply ControlNet ──► KSampler
Load ControlNet Model ─────────────►
CLIP Text Encode (+) ──────────────────────────────────►
CLIP Text Encode (-) ──────────────────────────────────►
Empty Latent Image ────────────────────────────────────►
Nœuds utilisés
- Load ControlNet Model : charge le modèle ControlNet
- Préprocesseur (Canny, Depth, OpenPose...) : extrait la carte de contrôle
- Apply ControlNet : injecte le contrôle dans le conditioning
Paramètres de Apply ControlNet
- strength (0.0 - 2.0) : force du contrôle
- 0.3-0.5 : guidage léger
- 0.7-0.8 : bon équilibre (recommandé)
- 1.0+ : très strict, peut réduire la qualité
- start_percent (0.0 - 1.0) : quand le contrôle commence
- end_percent (0.0 - 1.0) : quand le contrôle s'arrête
Astuce : utiliser
start_percent=0.0etend_percent=0.8donne souvent de meilleurs résultats que d'appliquer le contrôle sur 100% des steps.
Combiner plusieurs ControlNets
ComfyUI permet de chaîner plusieurs ControlNets pour un contrôle multi-dimensionnel :
Load Image ──► Canny Preprocessor ──►
Apply ControlNet (Canny) ──►
Load ControlNet (Canny) ──────────►
Apply ControlNet (Depth) ──► KSampler
Load Image ──► Depth Preprocessor ──►
Load ControlNet (Depth) ──────────────────────────────────────────►
Exemple : Pose + Profondeur
Combiner OpenPose (pour la pose du personnage) et Depth (pour la disposition spatiale) permet de contrôler à la fois le personnage ET l'environnement.
Conseils pour la combinaison
- Réduisez le strength de chaque ControlNet (0.5-0.7 chacun)
- Utilisez des end_percent différents pour chaque ControlNet
- Testez avec un seul ControlNet d'abord, puis ajoutez les autres progressivement
Cas pratiques
Cas 1 : Reproduire une pose à partir d'une photo
- Chargez la photo de référence
- Appliquez le préprocesseur OpenPose
- Vérifiez que le squelette détecté est correct (preview)
- Connectez au ControlNet avec strength 0.8
- Écrivez un prompt décrivant le personnage souhaité
Cas 2 : Transformer un croquis en illustration
- Dessinez un croquis rapide (même sur papier, photographié)
- Chargez-le et appliquez le préprocesseur Scribble
- ControlNet strength à 0.7
- Prompt détaillé du style souhaité
Cas 3 : Changement de style architectural
- Photo d'un bâtiment → préprocesseur Depth + Canny
- Depth strength 0.6, Canny strength 0.4
- Prompt : "same building in cyberpunk style, neon lights, futuristic"
Cas 4 : Cohérence de personnage avec ControlNet
Combinez OpenPose avec IP-Adapter (vu au chapitre précédent) :
- OpenPose contrôle la pose
- IP-Adapter maintient l'identité du personnage
- Résultat : même personnage dans différentes poses
Créer ses propres cartes de contrôle
Vous n'êtes pas limité aux préprocesseurs automatiques. Vous pouvez créer des cartes manuellement :
Carte de profondeur manuelle
Créez une image en niveaux de gris dans un éditeur d'images :
- Blanc = proche de la caméra
- Noir = éloigné
- Dégradés pour les surfaces inclinées
Carte OpenPose manuelle
Utilisez des outils en ligne de création de squelettes ou dessinez-les manuellement en suivant le code couleur standard.
Carte de segmentation manuelle
Peignez des zones avec des couleurs spécifiques correspondant aux catégories sémantiques (convention ADE20K).
Optimisation des performances
- Les préprocesseurs peuvent être lents → prétraitez vos cartes une fois et sauvegardez-les
- Utilisez Canny ou Depth pour le meilleur rapport qualité/vitesse
- OpenPose full est le plus lent → utilisez la variante simple si les mains ne sont pas importantes
- Mettez en cache les cartes de contrôle avec le nœud Save Image intermédiaire