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étection
  • high_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érale
  • Zoe Depth : plus précis pour les scènes complexes
  • Depth 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 entier
  • openpose_face : corps + expression faciale
  • openpose_hand : corps + mains détaillées
  • openpose_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

  1. Load ControlNet Model : charge le modèle ControlNet
  2. Préprocesseur (Canny, Depth, OpenPose...) : extrait la carte de contrôle
  3. 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.0 et end_percent=0.8 donne 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

  1. Chargez la photo de référence
  2. Appliquez le préprocesseur OpenPose
  3. Vérifiez que le squelette détecté est correct (preview)
  4. Connectez au ControlNet avec strength 0.8
  5. Écrivez un prompt décrivant le personnage souhaité

Cas 2 : Transformer un croquis en illustration

  1. Dessinez un croquis rapide (même sur papier, photographié)
  2. Chargez-le et appliquez le préprocesseur Scribble
  3. ControlNet strength à 0.7
  4. Prompt détaillé du style souhaité

Cas 3 : Changement de style architectural

  1. Photo d'un bâtiment → préprocesseur Depth + Canny
  2. Depth strength 0.6, Canny strength 0.4
  3. 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