Étapes d’un processus de génération d’image à image (SDXL)

À quoi ça sert?

Démarrer la génération avec une image permet de sortir des sujets très simples et centrés, et mieux guider la génération (composition, couleurs, etc.). On pourra aussi l’utiliser pour apporter corriger une image (inpainting), l’étendre (outpainting), ou l’agrandir (upscale).

Comment?

Deux éléments supplémentaires sont à considérer pour faire un processus image à image.

Premièrement, on doit encoder une image (init) qui influencera la génération. Un nœud Load image chargera l’image qui sera ensuite envoyée dand un nœud VAE encode, ce qui l’encodera dans l’espace latent.

Finalement, le paramètre denoise (KSampler), indiquera la proportion de bruit à injecter à l’image selon l’ampleur du changement désiré. Voici un processus révisé s’inspirant de la génération texte à image vue plus tôt.

image.png

Exemple à partir d’un croquis rapide

Ci-dessous, j’utilise un logiciel de dessin pour planifier une composition très simplifiée. J’encode ensuite cette image pour aider à guider ma génération qui respectera la proportion des éléments et leurs positions.

Composition dessinée dans un logiciel de dessin, encodée dans un processus d’image à image

Composition dessinée dans un logiciel de dessin, encodée dans un processus d’image à image

red sunset, field full of white tulips, oil painting,
1 × débruitage à 80%

red sunset, field full of white tulips, oil painting, 1 × débruitage à 80%

Il est possible de dessiner et générer en simultané à l’aide de modèles turbos qui peuvent arriver à une image en beaucoup moins d’étapes et un CFG plus bas. La qualité des images en sera quelque peu affectée. Il est important de consulter la documentation de ces modèles pour connaître les paramètres à utiliser.

Raffiner la proportion de débruitage

Pour modifier ce robot blanc (une représentation très typique de l’IA!) en pâte à modeler, j’encode cette image générée et je donne la requête clay robot.

portrait of a robot, high resolution

portrait of a robot, high resolution

clay robot, 1 × débruitage à 75%

clay robot, 1 × débruitage à 75%

Avec un débruitage de 75% (0.75), j’arrive à un résultat intéressant mais qui respecte peu les traits d’origine.

Faire plusieurs passages avec un débruitage inférieur me permet de mieux préserver les traits initiaux. À chaque passage, je remplace l’image encodée est par le résultat obtenu précédemment. Pour la deuxième image, quatre passages ont été réalisés.

portrait of a robot, high resolution

portrait of a robot, high resolution

clay robot, 4 passes × débruitage à 50%

clay robot, 4 passes × débruitage à 50%