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

  1. Ouvrez ComfyUI Manager → Install Custom Nodes
  2. Recherchez "ComfyUI IPAdapter plus" (par cubiq)
  3. 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

  1. IPAdapter Model Loader : charge le modèle IP-Adapter
  2. CLIP Vision Loader : charge l'encodeur visuel
  3. 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 :

  1. Préparez 10 à 20 images de votre personnage sous différents angles
  2. Redimensionnez-les à 512x512 (SD 1.5) ou 1024x1024 (SDXL)
  3. Créez des légendes (captions) pour chaque image
  4. Entraînez le LoRA avec Kohya_ss (environ 1 à 2 heures sur un bon GPU)
  5. Récupérez le fichier .safetensors ré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

  1. Chargez votre image de référence avec Load Image
  2. Encodez-la en latent avec VAE Encode
  3. Utilisez Latent Batch pour combiner avec un Empty Latent
  4. 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

  1. Créez une "fiche personnage" : prompt détaillé + image de référence + seed de base
  2. Testez d'abord en basse résolution avant de générer en haute qualité
  3. Gardez un dossier de références pour chaque personnage
  4. Documentez vos paramètres : notez les weights, seeds et configs qui fonctionnent
  5. Utilisez toujours le même modèle de base pour un projet donné