Fizgig LoRA Isolation : un visage qui ne se propage plus

ComfyUI Wikinews

Fizgig v8.4.0 ajoute LoRA Isolation, qui combine DOP, tokens de déclenchement fusionnés et paires négatives pour réduire la fuite de visages de 48/50 à 0/50 sur Krea 2.

Fizgig v8.4.0 ajoute LoRA Isolation, un mode d'entraînement pour les LoRA de personnage qui empêche le visage du sujet de se propager sur toutes les autres personnes de l'image (notes de version | article technique | vidéo de démonstration). Un LoRA classique d'une personne attire ce visage sur les inconnus en arrière-plan, sur un ami qui se tient à côté d'elle ou sur une foule entière. Avec LoRA Isolation, les sujets entraînés peuvent poser ensemble dans une même image, ou à côté de quelqu'un que le modèle connaît déjà, et chaque visage reste le sien. Sans le mot déclencheur, vous obtenez les personnes du modèle de base, comme avant l'entraînement.

Démonstration de Fizgig LoRA Isolation

Fizgig LoRA Isolation, vidéo de démonstration par l'auteur de Fizgig. Source : notes de version Fizgig v8.4.0

Résultats

Deux LoRA ont été entraînés sur Krea 2 avec les mêmes photos, les mêmes paramètres, la même graine et le même epoch, ne différant que par LoRA Isolation. Tous deux ont appris deux personnes, le sujet plus un ami comme second personnage, et un style papier découpé. Chaque LoRA a ensuite été rendu sur 25 prompts avec deux graines, soit 50 images au total. Chaque image est un cadre divisé : d'un côté un homme blanc différent, soigneusement décrit, de l'autre le sujet entraîné, également un homme blanc. Ce face-à-face est délibérément le cas le plus difficile pour la fuite. Chaque moitié a été notée avec ArcFace (insightface buffalo_l) par rapport au visage moyen du sujet calculé sur 35 photos d'entraînement, où la même personne obtient généralement 0,45 ou plus et des personnes sans lien 0,0 à 0,2.

LoRA classiqueFizgig LoRA Isolation
Inconnus perçus comme le sujet48 sur 500 sur 50
Ressemblance du sujet avec lui-même0,770,78

La ressemblance ne baisse pas : les vraies photos du sujet obtiennent 0,81 entre elles, et ces rendus atteignent 0,78 alors que le LoRA est partagé avec une seconde personne. Une seconde personne dans un LoRA est généralement le problème ; ici, elle fait partie de la solution.

Comment ça marche

Fizgig applique six éléments lorsque Fizgig LoRA Isolation est sélectionné sur la carte Subjects.

DOP : préservation de sortie différentielle

Chaque image d'entraînement est aussi entraînée avec son déclencheur retiré de la légende, et sur ce passage le LoRA est contraint de reproduire la prédiction du modèle de base pour la même entrée bruitée. Sans le déclencheur, le LoRA apprend à ne rien changer, donc le sujet reste absent des prompts qui ne le nomment pas. Fizgig attribue DOP à Ostris et AI-Toolkit, et construit ses propres calques par-dessus.

Ancrage d'identité multi-sujets

Deux identités ou plus s'entraînent ensemble, chacune depuis son propre dossier avec son propre déclencheur. Deux visages appris côte à côte enseignent au LoRA qu'un visage appartient à un déclencheur plutôt qu'à la classe en général, ce qui explique qu'une seconde personne aide au lieu de gêner. Le test ci-dessus utilisait une femme comme second sujet alors que tous les inconnus étaient des hommes, donc l'effet n'est pas spécifique au genre. Même pour un LoRA d'une seule personne, entraîner une seconde personne en parallèle est recommandé.

Découplage de classe par token fusionné

Le déclencheur et son mot de classe sont fusionnés en un seul mot dans chaque légende, ainsi gwelt, a man s'entraîne comme gweltman. Le token de classe brut (« man ») est ce que tous les autres hommes du modèle partagent, et c'est le pont par lequel les traits du sujet passent vers d'autres personnes. Collé au déclencheur, le mot de classe devient un token différent, et l'apparence du sujet ne s'attache jamais au token partagé. Fizgig applique la fusion au moment de la lecture des légendes et laisse les fichiers de légendes intacts sur le disque. Un déclencheur doit se fusionner proprement : fyxo plus woman se lit f | yx | ow | oman, ce qui casse le mot fusionné ; c'est pourquoi la carte Subjects propose un bouton Check a trigger word qui teste la fusion avec le tokenizer du modèle d'entraînement.

Composition par paires négatives dans un seul cadre

Chaque personne reçoit 16 images côte à côte : une de ses propres photos d'entraînement à côté d'un inconnu généré dans un seul cadre 2:1, le côté du sujet étant choisi au hasard. Elles enseignent « cette personne est le sujet, celle-là reste un inconnu » au sein d'une même image, exactement là où un LoRA classique fuit. Les légendes décrivent l'inconnu en premier et le sujet en second, parce que les encodeurs de texte utilisés par ces modèles sont causaux et que chaque mot après le déclencheur est encodé avec le déclencheur déjà vu.

Les inconnus sont un ensemble fixe de 32 personnes générées réparties sur 8 ethnies, hommes et femmes de la vingtaine à la cinquantaine. La seconde version de l'ensemble est rendue sur Qwen Image 2.1 pour une texture de peau naturelle, afin de ne pas tirer un LoRA vers une peau de mauvaise qualité, et aucune photo de personne réelle n'est utilisée. L'ensemble se télécharge avec les modèles de Fizgig et pèse environ 21 Mo.

Mise à l'échelle du taux d'apprentissage et échantillonnage équilibré

Les images côte à côte s'entraînent à un taux d'apprentissage double sur leurs propres pas, DOP s'exécute un pas sur deux avec un poids double, et Balance the subjects répète les dossiers plus petits pour que chaque sujet s'entraîne à peu près aussi souvent que le plus grand.

Chemins d'entraînement selon la classe

Chaque sujet est lu comme une personne, un animal ou une chose, ou un style ou une apparence. Une personne reçoit le déclencheur fusionné et les images côte à côte. Un animal ou une chose reçoit uniquement le déclencheur fusionné. Un style ou une apparence conserve son déclencheur tel qu'écrit et ne reçoit pas d'images côte à côte, car un style doit modifier toute l'image.

La recette derrière les chiffres

ParamètreValeur
ModèleKrea 2, Standard LoRA
Sujetsune personne (36 photos), une seconde personne (53 photos), un style papier découpé (8 images), équilibré
Rang / alpha16 / 16
Taux d'apprentissageLR adaptatif, 2e-4 à 4e-4, scheduler constant
OptimiseurAdamW 8-bit, max grad norm 1, lot 1
EMA0,98
Résolution0,25 MP (496 × 496), bucketed, sans upscale
Précision de baseINT8
Graine42
Checkpointepoch 20
Extras d'isolation16 images côte à côte par personne à 2× le LR, DOP un pas sur deux avec un poids de 2

L'entraînement prend environ 1,5× plus de temps qu'un LoRA classique avec les mêmes paramètres.

Ce que l'on sait pour l'instant

  • Jusqu'à 4 sujets s'entraînent bien. Deux personnes entraînées dans une même image, plus une personne que le modèle connaît déjà, fonctionne presque à tous les coups ; trois personnes entraînées ou plus dans une même image donnent des résultats inégaux.
  • Deux sujets de la même classe, par exemple deux femmes, nécessitent environ 1,6× plus d'epochs, car tous deux alimentent le même passage de préservation « a woman » et cette classe est tenue environ deux fois plus strictement.
  • Utilisez le mot fusionné dans le prompt, par exemple gweltman man at a cafe, et décrivez les autres personnes de l'image. Le LoRA les sépare de lui-même ; la description est un filet de sécurité.
  • La méthode n'a été testée que sur Krea 2 jusqu'à présent. Elle fonctionne sur tous les modèles de Fizgig sauf ACE-Step, et sur MiniMax H3 les sujets s'entraînent à partir de leurs photos, les clips et fichiers vocaux étant exclus du dossier.

Utilisation

Le mode se trouve sur la carte Subjects de l'onglet Training : choisissez le nombre de sujets, pointez chacun vers un dossier, indiquez ce qu'il est, puis réglez Your subject and other people sur Fizgig LoRA Isolation. Sous chaque sujet, la carte affiche le mot sous lequel il s'entraîne, une de ses légendes et les images côte à côte qui seront utilisées à l'entraînement, afin que les problèmes de légendage apparaissent avant le lancement plutôt qu'après.

Configuration de Fizgig LoRA Isolation

Configuration de la carte Subjects : vidéo explicative par l'auteur de Fizgig. Source : notes de version Fizgig v8.4.0

Guide de légendage : MULTI_PERSON.md. La même version rend l'entraînement multi-concepts, de 2 à 4 dossiers de sujets, disponible sur le Standard LoRA et le fine-tune de chaque modèle, et plus seulement sur H3.

Disponibilité

Fizgig est un studio open source de LoRA et de fine-tune pour Klein 9B, Krea 2, MiniMax H3, Qwen Image 2.1, Anima, Z-Image Turbo et ACE-Step XL (GitHub), et la v8.4.0 est la version actuelle. LoRA Isolation est une fonctionnalité côté entraînement : les LoRA obtenus se chargent donc dans ComfyUI comme n'importe quel autre LoRA entraîné dans Fizgig.

Commentaires

Connectez-vous avec GitHub pour rejoindre la discussion.

Chargement des commentaires…
Fizgig LoRA Isolation : un visage qui ne se propage plus | ComfyUI Wiki