Cohérence des Personnages
Cohérence des Personnages
Le défi de la cohérence
L'un des plus grands défis de la génération d'images par IA est de maintenir la cohérence d'un personnage à travers plusieurs images. Par défaut, chaque génération produit un résultat différent, même avec le même prompt. Ceci est problématique pour :
- La création de bandes dessinées ou mangas
- Les storyboards
- Les séries d'illustrations pour un livre
- Le contenu marketing avec un personnage récurrent
- La création de personnages pour les jeux vidéo
Dans ce chapitre, nous allons explorer les techniques disponibles dans ComfyUI pour résoudre ce problème.
Technique 1 : IP-Adapter (Image Prompt Adapter)
Principe
IP-Adapter permet d'utiliser une image comme prompt en plus du texte. Le modèle analyse les caractéristiques visuelles de l'image de référence (visage, style, couleurs) et les injecte dans le processus de génération.
Installation
- Ouvrez ComfyUI Manager → Install Custom Nodes
- Recherchez "ComfyUI IPAdapter plus" (par cubiq)
- Installez-le et redémarrez ComfyUI
Modèles nécessaires
Téléchargez et placez dans les dossiers correspondants :
| Modèle | Dossier | Usage |
|---|---|---|
| ip-adapter_sd15.safetensors | models/ipadapter/ |
IP-Adapter pour SD 1.5 |
| ip-adapter_sdxl.safetensors | models/ipadapter/ |
IP-Adapter pour SDXL |
| ip-adapter-faceid_sd15.bin | models/ipadapter/ |
Spécialisé visages SD 1.5 |
| ip-adapter-faceid_sdxl.bin | models/ipadapter/ |
Spécialisé visages SDXL |
| CLIP-ViT-H-14.safetensors | models/clip_vision/ |
Encodeur vision requis |
| CLIP-ViT-bigG-14.safetensors | models/clip_vision/ |
Encodeur vision SDXL |
Workflow IP-Adapter basique
Load Checkpoint ──► CLIP Text Encode (+) ──►
──► CLIP Text Encode (-) ──►
Apply IPAdapter ──► KSampler ──► VAE Decode ──► Save
Load Image (référence) ──► IPAdapter Model ──►
Load CLIP Vision ──────────►
Load IPAdapter ────────────►
Empty Latent Image ───────────────────────────► KSampler
Nœuds clés
- IPAdapter Model Loader : charge le modèle IP-Adapter
- CLIP Vision Loader : charge l'encodeur visuel
- IPAdapter Apply : fusionne l'image de référence avec le modèle
Paramètres importants
- weight (0.0 - 2.0) : force de l'influence de l'image de référence
- 0.5 : influence légère, plus de liberté créative
- 0.8 : bon équilibre entre référence et prompt
- 1.0+ : très fidèle à la référence
- noise (0.0 - 1.0) : ajoute de la variation
- weight_type :
linear,ease in,ease out,ease in-out,style transfer
IP-Adapter FaceID
Pour une cohérence spécifique au visage, utilisez les modèles FaceID :
- Spécialisé dans la préservation de l'identité faciale
- Nécessite InsightFace (installé automatiquement)
- Meilleur pour les portraits et scènes avec personnages
Load IPAdapter FaceID ──►
Load Image (visage) ──────► IPAdapter FaceID Apply ──► KSampler
Technique 2 : LoRA de personnage
Principe
Un LoRA (Low-Rank Adaptation) est un petit modèle entraîné pour reproduire un sujet spécifique : un personnage, un style, un objet. En entraînant un LoRA sur 10-20 images d'un personnage, vous pouvez le réutiliser dans n'importe quelle scène.
Entraîner un LoRA (workflow externe)
L'entraînement se fait hors de ComfyUI avec des outils comme Kohya_ss :
- Préparez 10 à 20 images de votre personnage sous différents angles
- Redimensionnez-les à 512x512 (SD 1.5) ou 1024x1024 (SDXL)
- Créez des légendes (captions) pour chaque image
- Entraînez le LoRA avec Kohya_ss (environ 1 à 2 heures sur un bon GPU)
- Récupérez le fichier
.safetensorsrésultant
Utiliser un LoRA dans ComfyUI
Placez le fichier dans models/loras/ puis utilisez le nœud Load LoRA :
Load Checkpoint ──► Load LoRA ──► CLIP Text Encode
──► KSampler (via MODEL)
Paramètres du LoRA
- strength_model (0.0 - 2.0) : influence sur le modèle de diffusion
- strength_clip (0.0 - 2.0) : influence sur l'encodage du texte
- Typiquement, utilisez des valeurs entre 0.6 et 0.9 pour un bon équilibre
Combiner plusieurs LoRAs
Vous pouvez chaîner plusieurs nœuds Load LoRA :
Checkpoint ──► LoRA 1 (personnage) ──► LoRA 2 (style) ──► CLIP Encode
Attention : trop de LoRAs combinés peuvent créer des conflits. Limitez-vous à 2-3 simultanés et ajustez les strengths.
Technique 3 : Seed + Prompt cohérent
Principe
La méthode la plus simple : fixer la seed et garder un prompt descriptif détaillé de votre personnage.
Créer un prompt de personnage détaillé
a young woman with long red curly hair, green eyes,
freckles on her cheeks, wearing a blue denim jacket,
white t-shirt, silver pendant necklace,
natural lighting, portrait style
Fixer la seed
Dans le KSampler, changez le mode de seed de "random" à "fixed" et notez le numéro de seed qui a donné un bon résultat.
Limites
- La cohérence diminue fortement si vous changez la pose, l'angle ou la scène
- Fonctionne surtout pour des variations mineures
- À combiner avec d'autres techniques pour de meilleurs résultats
Technique 4 : Reference Only (sans modèle supplémentaire)
Principe
Technique native de ComfyUI qui utilise une image de référence pour guider la génération sans modèle IP-Adapter. Moins puissante mais ne nécessite aucun téléchargement supplémentaire.
Comment faire
- Chargez votre image de référence avec Load Image
- Encodez-la en latent avec VAE Encode
- Utilisez Latent Batch pour combiner avec un Empty Latent
- Le KSampler utilisera l'information de l'image de référence
Technique 5 : Reactor (Face Swap)
Principe
Reactor est une extension de face swap qui remplace le visage dans une image générée par celui d'une photo de référence. Utile en post-traitement pour garantir la cohérence faciale.
Installation
Via ComfyUI Manager, recherchez "ReActor" et installez-le.
Workflow
KSampler ──► VAE Decode ──► ReActor Face Swap ──► Save Image
Load Image (visage ref) ──►
Paramètres
- face_model : modèle de détection faciale
- face_restore : restauration de la qualité du visage après le swap
- codeformer_weight : force de la restauration faciale (0.5 recommandé)
Stratégie recommandée : combiner les techniques
Pour une cohérence maximale, combinez plusieurs approches :
Niveau 1 : Cohérence basique
- Seed fixe + prompt détaillé
Niveau 2 : Cohérence bonne
- IP-Adapter avec image de référence (weight 0.7-0.8)
Niveau 3 : Cohérence excellente
- IP-Adapter FaceID + LoRA de personnage + Reactor en post-traitement
Workflow combiné avancé
Load Checkpoint ──► Load LoRA (personnage) ──► CLIP Encode (+) ──►
──► CLIP Encode (-) ──►
Load IPAdapter ──►
Load CLIP Vision ──► IPAdapter FaceID Apply ──► KSampler ──► VAE Decode ──► Reactor ──► Save
Load Image (ref) ──► ──►
Empty Latent ──────────────────────────────────► KSampler
Bonnes pratiques
- Créez une "fiche personnage" : prompt détaillé + image de référence + seed de base
- Testez d'abord en basse résolution avant de générer en haute qualité
- Gardez un dossier de références pour chaque personnage
- Documentez vos paramètres : notez les weights, seeds et configs qui fonctionnent
- Utilisez toujours le même modèle de base pour un projet donné