Aller au contenu

Conseils Stable Diffusion TXT2IMG

Une fois installé et configuré, Stable Diffusion est totalement utilisable tel-quel, mais il existe beaucoup de paramètres qui rendront l’expérience de cet outil bien plus agréable et intéressante. Il existe également plusieurs outils intégré qui ont tous leur utilité et qui peuvent se rendre utile pour corriger un petit problème sans avoir à générer de nouveau une image.

I. Les prompts

L’outil de base de Stable Diffusion, il permet de générer une image à partir d’un texte appelé prompt.
Par rapport aux autres outils de génération d’image qui existent déjà sur le marché, celui de Stable Diffusion fonctionne un petit peu diffémment. En la manière dont on construit le prompt et l’ordre ou l’on met ses mots aura une incidence directe sur les résultats. De plus, il faudrait construire son prompt avec des mots clés séparés de virgules, il faudra à tout prix éviter les longues phrases, elles ne seront pas correctement reconnues et pourront occasionner des résultats déroutants.
Par exemple, les mots placés au début du prompt auront beaucoup plus d’importance que les suivants, si un des termes est primordial pour nous, il faudra le placer en début de prompt.
Une autre surbtilité de cet outil est le prompt d’exclusion (celui du dessous) il est également très important de se servir de celui-ci afin d’éliminer d’éventuels problèmes qui pourraient survenir lors de génération d’image (par exemple des jambes en trop, une mauvais qualité, des difformités…). Les termes des éclusions sont en général propres au Checkpoint utilisé mais les termes les plus courants sont (en général) standard.
Voici un exemple de prompt d’inclusion :
there is a woman with a black skintight suit, ultra-realistic digital art, hyperrealistic digital art, hyperrealistic digital painting, ultra realistic digital painting,beautiful,
Il est le plus souvent construit de cette manière, on part du plus important, puis on ajoute le style que l’on souhaite et pour finir les détais.
Voici un exemple de prompt d’éclusion :
(worst quality:1.5, low quality:1.5, normal quality:2, blurry:1.5, ugly:1.5, deformed:1.5, mutated:1.5, gross:1.5), unaestheticXL2v10, child,childish
Il est le plus souvent construit de cette manière, au debut on souhaite retirer les options de qualité les plus basses afin de directement les écarter, puis on ajouter les termes à éviter.
610f71b3 c6ee 467a 8c3d 860194be65f0

II. Les options de génération

Les options de génération sont évidemment très importantes pour avoir les résultat que nous voulons obtenir.
Voici mes paramètres de bases ils vous donneront satisfactions dans la plupart des cas.
3568cca3 05e5 48c0 8d9b 2f60053f1a45
Samplng method → Les méthodes de sampling peuvent vous donner des résultats complétements différents, les deux plus utilisés sont Euler a et DPM++2M. A vous de faire vos essais mais de nombreux comparatifs sont disponibles en ligne comme celui ci : Comparatif
La vitesse de génération dépends également de ce paramètre.
Capture decran 2024 05 07 143412
Schedule type → Le mieux est de le laisser en automatique, il détermine l’ordre ou les étapes de débruitage vont se faire, le laisser en automatique permettra à l’outil de choisir le plus efficace pour vos paramètres.
Sampling steps → Détermine le nombre de passage du sampler sur l’image, avec une valeur trop basse, votre image sera illisible. Mais à partir d’un certain nombre la qualité va commencer à baisser il faut trouver le juste milieu. D’autant plus qu’en augmentant cette valeur le processus va utiliser beaucoup plus de ressources et vous pouvez vous retrouver avec une erreur vous disant que vous n’avez pas assez de mémoire disponible.
ba119ce7 ccd2 44c6 8640 4f1d820fbbd2
Hires.Fix → Sert à l’upscale de l’image, il permet d’augmenter la résolution de son image sans avoir à générer directement une image en haute résolution qui prendrais beaucoup de temps et de ressources pour un résultat incertain. Comme pour les paramètres précédents il y’a des valeurs que l’on peut modifier pour avoir un traitement plus fin.
376b21f6 f276 470d 86bd c833f584bc0c
Refiner → Le refiner permet de commencer à générer son image avec un checkpoint, et de terminer à un certain point avec un autre checkpoint. Il peut être utile dans le sens ou l’on veut accélérer le traitement en commençant avec un checkpoint rapide pour terminer les étapes de débruitage un moteur plus fin et plus qualitatif.
9b15a93b 395c 4290 8717 570e86c18bcf
Width / Height → Celui-ci est plutôt évident, il s’agit des curseurs pour modifier la taille de l’image, par défaut les valeurs se situent à 512×512 pixels. Pour faire un portrait on lui préférera une résolution de 832×1216 par exemple. Si vous souhaitez avec un ratio comme du 16:9, je vous conseille d’utiliser un calculateur comme celui-ci : Calculateur
CFG scale → Par défaut, il est à 7. C’est le paramètre qui détermine à quel point Stable Diffusion va prêter attention au prompt d’inclusion, par exemple :

CFG 2-6 : Créatif, mais peut-être trop déformé et ne suit pas le sujet. Peut être amusant et utile pour des instructions courtes.
CFG 7-10 : Recommandé pour la plupart des instructions. Bon équilibre entre créativité et génération guidée.
CFG 10-15 : Lorsque vous êtes sûr que votre instruction est détaillée et très claire sur ce que vous voulez que l’image ressemble.
CFG 16-20 : Généralement non recommandé à moins que l’instruction ne soit bien détaillée. Peut affecter la cohérence et la qualité.
CFG > 20 : presque jamais utilisable.

Seed → Pour générer exactement la même image, il faut une seed (graîne) à partir de celle ci on peut revenir à n’importe quelle image.
Script → Pour utiliser les scripts de génération customisés. On peut les trouver sur le net ou bien les coder en Python. Il existe par exemple des scripts pour générer ses image en pixel art.

III. Accélérer la génération

A. Le Clip skip

Il est recommandé d’utiliser le paramètre Skip Clip pour la majorité des checkpoint, il ne fait pas spécialement perdre en qualité mais peut réellemenent accélérer le processus de génération.
Pour la faire simple, les checkpoint fonctionnenent en couche, si par exemple vous voulez générer une image d’une vache, vous ne vous interessez peut être pas aux sous catégories que le modèle associé à vache comme par exemple les races de vache. Changer ce paramètre rendre la génération plus rapide mais légérement moins précise, ce que vous pouvez corriger en modifiant votre prompt.
Pour activer le Clip skip, aller dans les paramètres de Stable Diffusion, et dans la catégorie User Interface il faut activer le CLIP_stop_at_last_layers
3dc83ffa d58e 4512 acc2 7cc3ac3d0f34
Cliquez ensuite sur Apply setting et Reload UI pour relancer l’interface Web
667cb20b e0b2 4798 bcb9 4d9a9f160199
Le réglage se trouvera en haut de l’écran, en général il faut le mettre sur 2 pour conserver un maximum de détails.

B. Changer de carte graphique

La solution la plus rapide et efficace pour accélerer la vitesse de traitement, est malheureusement de changer de carte graphique. Voici deux tableaux de benchmark effectués par Tom’s Hardware sur Stable Diffusion avec différentes carte graphiques, on se rends vite compte que la différence est bien la.
A savoir que les carte graphiques peuvent exister avec un nombre de mémoire différent c’est le cas de la 4060ti qui est fabriquée en 8 et en 16Gb, la 16Gb offrira plus de capacités pour cet exercice mais elle est également vendue une centaine d’Euros plus cher.
Ici le benchmark pour une génération d’image en 512x512px :
74e536ac 1c0f 4b3b bb0a 5f0a549aa81d
Ici le benchmark pour une génération d’image en 768x768px :
6ba958d9 377f 4939 a63e 4917aafc4e46