Krea 2 BBOX: contrôle de mise en page pour comics et texte
Krea 2 BBOX est un finetune communautaire de Krea 2 qui place cases, personnages et texte dans des boîtes explicites, avec fichiers ComfyUI, LoRAs et un HF Space.
Un prompt ancré en quatre cases. Colonnes : Krea 2 Turbo d'origine, le finetune, EMA 0.9995, EMA 0.99975.
Le texte et la mise en page sont les deux choses qu'un modèle texte-image se contente généralement d'approximer. Demandez une bulle de dialogue avec une réplique et vous obtenez du bruit en forme de lettres à peu près au bon endroit ; demandez quatre cases et le modèle invente un collage. Ce finetune s'attaque directement au problème en apprenant au modèle un format de prompt qui nomme chaque élément et lui associe une boîte.
Deux déclinaisons, trois jeux de poids chacune
Le finetune est entraîné sur Krea 2 Raw et livré en deux variantes. Turbo est le finetune avec le delta de distillation base-vers-turbo fusionné, ce qui permet d'échantillonner en 8 étapes avec CFG désactivé. Raw est le finetune tel qu'il a été entraîné, à 50 étapes avec CFG 5.5.
Chaque variante est également fournie avec deux ombres EMA de ses poids, à une décroissance de 0.9995 et 0.99975. La note de l'auteur à leur sujet précise que ce lissage peut améliorer la qualité d'image mais aussi rendre le modèle moins précis sur les boîtes.
| Variante | Échantillonnage | Poids |
|---|---|---|
| Finetune Turbo | 8 étapes, CFG désactivé | finetune plus deux ombres EMA |
| Finetune Raw | 50 étapes, CFG 5.5 | finetune plus deux ombres EMA |
Les checkpoints d'entraînement des epochs 1 à 19 restent dans le dépôt à titre de référence. Ils sont supplantés par la version de l'epoch 20.
Le prompt est une spécification de mise en page
Environ 90 % de l'entraînement a utilisé un DSL de localisation compact plutôt que de la prose. C'est du texte brut, un élément par ligne, et chaque boîte est constituée de quatre nombres sur une grille de 0 à 1000, avec x en premier :
A four-panel comic in which an anime handywoman and an anthropomorphic tabby cat assemble a flat-pack shelf and fail completely.
@clean line art, flat colors, light cel shading; Digital illustration
~A bare apartment living room with cardboard packaging and loose screws on a pale wood floor.
p[0,0,500,500] Top-left panel: the handywoman holding up the instruction sheet, confident.
p[500,0,1000,500] Top-right panel: the cat batting a single screw off the floor.
p[0,500,500,1000] Bottom-left panel: a lopsided half-built shelf wobbling.
p[500,500,1000,1000] Bottom-right panel: the shelf collapsed, the cat sitting smugly on the wreckage.
ac:1[60,80,340,470] A young woman with short dark hair in blue overalls, holding an instruction sheet, confident grin.
fc:2[560,90,880,470] An anthropomorphic tabby cat in a tool belt, one paw raised mid-swat, innocent expression.
t[80,40,420,120]"SOME ASSEMBLY REQUIRED." black text in a rounded speech bubble
t[540,530,960,610]"IT HAS FIVE LEGS NOW." black text in a rounded speech bubbleLes préfixes sont p pour case (panel), o pour objet, t pour texte littéral, et pe / ac / fc pour personne, personnage anime et personnage furry. Une ligne @ porte les tags de style et une ligne ~ porte la description de la scène. La carte modèle avertit que l'écriture des coordonnées avec y en premier est l'erreur la plus fréquente, et qu'elle échoue silencieusement : l'image reste plausible, simplement pas là où vous l'aviez demandé.
Le même prompt que ci-dessus. Les échantillons ancrés reçoivent une seconde rangée avec les boîtes demandées en superposition.
Les prompts en prose fonctionnent toujours, car le texte brut représentait les 10 % restants de l'entraînement. Le DSL est ce qui rend la mise en page suffisamment exacte pour être utile, et PROMPTING.md est une spécification complète avec des exemples prêts à copier-coller.
Dans ComfyUI
Chaque variante est livrée sous forme d'un fichier unique au format natif de Krea, qui est celui que ComfyUI charge. Six fichiers couvrent Turbo, Raw et les deux ombres EMA :
| Variante | Fichier | Échantillonnage |
|---|---|---|
| Finetune Turbo | krea2-bbox-turbo-comfy-latest.safetensors | 8 étapes, CFG 1.0 |
| Turbo EMA 0.9995 | krea2-bbox-turbo-ema_0.9995-comfy.safetensors | 8 étapes, CFG 1.0 |
| Turbo EMA 0.99975 | krea2-bbox-turbo-ema_0.99975-comfy.safetensors | 8 étapes, CFG 1.0 |
| Finetune Raw | krea2-bbox-raw-comfy.safetensors | 50 étapes, CFG 5.5 |
| Raw EMA 0.9995 | krea2-bbox-raw-ema_0.9995-comfy.safetensors | 50 étapes, CFG 5.5 |
| Raw EMA 0.99975 | krea2-bbox-raw-ema_0.99975-comfy.safetensors | 50 étapes, CFG 5.5 |
Les fichiers vont dans ComfyUI/models/diffusion_models/. Rien d'autre ne change : l'encodeur de texte et le VAE sont ceux de Krea 2 d'origine, récupérés depuis Comfy-Org/Krea-2, et les modèles texte-image Krea 2 intégrés fonctionnent tels quels une fois le modèle de diffusion remplacé.
Il existe aussi une démo canvas Gradio qui fait tourner le checkpoint turbo, pour essayer le format de prompt avant même de télécharger quoi que ce soit.
Les LoRAs ne sont qu'une approximation
La publication inclut également des LoRAs aux rangs 64, 128 et 256, pour tous ceux qui ne peuvent qu'empiler des adaptateurs plutôt que remplacer un transformer de 26 GB. L'auteur précise clairement qu'elles sont approximatives, et a mesuré quelle part du finetune complet elles portent sur des échantillons d'entraînement tenus à l'écart :
| Rang | Part de l'effet du finetune complet | Sur les étapes à fort bruit |
|---|---|---|
| 64 | environ 12 % | environ 16 % |
| 128 | environ 18 % | environ 24 % |
| 256 | environ 28 % | environ 38 % |
La raison est qu'il s'agissait d'un finetune de rang complet, avec la modification répartie sur presque toutes les directions de chaque matrice de poids, et qu'une LoRA ne peut pas du tout porter les normes, les biais ou les tables de modulation. Dans ComfyUI, les fichiers LoRA vont dans ComfyUI/models/loras/ et sont appliqués à une force de 1.0 avec LoraLoaderModelOnly par-dessus le modèle Krea 2 d'origine, Raw ou Turbo, avec les paramètres sigma correspondants pour chacun.
Un échantillon de photo produit. Le texte est placé par boîte, pas par hasard.
Sur quoi il a été entraîné
C'est du côté des données que vient la capacité de mise en page. Un pool pré-IA de 30 millions d'images a été regroupé par clustering avec DINOv3 et SigLIP2 puis classé par esthétique ; tout ce qui contenait du dessin ou de la bande dessinée a en plus été tagué avec wd-tagger et JTP et reclassé pour la diversité.
L'ensemble final compte 40 000 images : 20 000 photographies générales, 10 000 comics et 10 000 images d'art. Les 40 000 ont été annotées avec des boîtes par un pipeline d'étiquetage personnalisé basé sur gemma-4-31B-it et LocateAnything-3B, et les prompts obtenus ont été compressés à 512 tokens maximum au format DSL.
Un échantillon de poster sérigraphié, l'autre extrémité de la même capacité.
Limites
- Le DSL doit être écrit ou généré correctement. L'ordre des coordonnées, la lettre de l'élément et la taille de la boîte font tous partie du prompt, et une ligne erronée produit une image erronée sans message d'erreur.
- Les prompts ancrés sont longs. 512 tokens est le plafond auquel les prompts d'entraînement ont été compressés, donc les pages très denses dépassent ce que le modèle a vu.
- Les ombres EMA peuvent être plus belles et moins précises sur les boîtes en même temps, un compromis à tester au cas par cas.
- Les LoRAs ne portent qu'une faible part de l'effet. Pour les grilles de cases et le texte placé précisément, le finetune complet est la version avec laquelle les échantillons ont été réalisés.
- C'est un finetune communautaire de Krea 2, donc l'encodeur de texte et le VAE de Krea 2 restent requis, et il hérite de tout ce que le modèle de base ne sait pas faire avec les lettres et les dialogues courts.
Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.