Générer des images transparentes

Comment utiliser Layer Diffusion et Forge pour créer des PNG transparents

Générer des images transparentes
Do not index
Do not index
Publish
Publish
Savais-tu qu’il est possible d’utiliser Stable Diffusion pour générer des images avec un fond transparent ?
La possibilité de générer des images et éléments sans fond fixe ouvre un éventail de possibilités créatives, permettant aux concepteurs de superposer des images sur divers arrière-plans sans contraintes de compatibilité visuelle. Cette flexibilité est particulièrement précieuse lorsqu’on veut pouvoir utiliser les images générées comme élément d’un design ou travail créatif plus large.
S'appuyant sur Stable Diffusion, les modèles de Layer Diffusion sortis il y a quelques semaines permettent de créer de telles images. Et ils peut facilement s’intégrer dans l’interface de SD Forge Webui pour une utilisation simple et efficace comme on les aime.

Qu’est-ce que Layer Diffusion ?

Layer Diffusion est donc un modèle, ou plutôt une série de modèles conçus pour enrichir le processus de création d'images de stable Diffusion en intégrant une couche alpha, permettant ainsi la création d'images avec transparence.

Comment ca marche ?

Au cœur de LayerDiffusion se trouve l'ajout d'un encodeur supplémentaire à la génération Stable Diffusion existante. Cet encodeur est spécifiquement entraîné pour traiter et intégrer la couche alpha – qui gère la transparence – dans l'espace latent de l'image originale.
Dans la pratique, cela signifie que l'image générée par Stable Diffusion passe à travers ce nouvel encodeur, qui superpose dans l’image des perturbations minimes et imperceptibles à l'œil nu. Ces perturbations contiennent les informations nécessaires pour créer la transparence de l'image.
La force de Layer Diffusion réside dans sa capacité à maintenir les propriétés essentielles de l'image de base tout en y ajoutant le canal alpha. Grâce à un processus d'apprentissage qui inclut une fonction de perte spécifique, les perturbations introduite par le modèle n'altèrent pas la qualité ou le contenu original de l'image. Ainsi, l'image finale sortie conserve toute sa richesse visuelle malgré.

A quoi ca sert ?

Comme nous l’avons dit, l’introduction d’une couche Alpha dans la génération d’image permet l'ajout de la transparence dans l’image.
Et là, tu me dira peut-être que ca fait un moment que tu peux facilement dérouter et supprimer le fond d’une image avec diffèrent outils IA et que tu ne vois donc pas trop à quoi servirait Layer Diffusion.
Mais la transparence alpha introduite par Layer Diffusion va bien plus loins que le simple fond transparent. Les pixels des images générée par Layer Diffusion peuvent en effet être partiellement transparents - ce qui permet d’avoir des effets de rendu semi-transparents et d’autres effets intéressant.
Une tasse transparente générée avec Layer Diffusion
Une tasse transparente générée avec Layer Diffusion

Comment utiliser Layer Diffusion ?

La manière la plus simple de générer des images transparentes avec Layer Diffusion est d’installer l’extension Layer Diffuse pour l’interface de Forge WebUI.
Forge est en effet une version optimisée la populaire interface Automatic1111 qui bénéfice, entre autres choses, d’une extension pour intégrer Layer Diffusion : sd-forge-layerdiffuse
→ Si tu n’as pas encore installé Forge, tu peux suivre le guide d’installation SD Forge.
👍
Layer Diffusion est également pré-installé sur la version le Forge disponible sur le cloud du Diffus. Tu peux donc utiliser Stable Diffusion et Layer Diffusion sans rien installer et quelques soient les performances de ta machine avec cette solution !
Voyons maintenant comme utiliser Layer Diffusion dans Forge

Installation de l’extension

L’extension Layer Diffusion s’installe en suivant la procédure d’installation standard pour les extensions Automatic1111 / Forge :
  1. Ouvrir l’onglet Extensions
  1. Cliquer sur Install From URL
  1. Indiquer l’URL du Github de l’extension dans URL for extension’s git repository https://github.com/layerdiffusion/sd-forge-layerdiffuse
  1. Cliquer sur Install Après quelques instants, un message de confirmation d’installation est affiché en bas de l’écran.
  1. Cliquer sur Installed pour voir les extensions installées (sd-forge-layerdiffuse est dans la liste)
  1. Cliquer sur le bouton Apply and restart UI
Ca y‘est, l’extension est installée et prête à être utilisée - nous allons pouvoir générer nos images transparents avec Forge.
Note qu’à l’installation, l’extensions n’ajoute aucun modèle sur ton disque. Elle utilise en effet 12 modèles différents mais ne les téléchargera et ne les installera que lorsqu’il seront nécessaires.

Générer une image transparente avec SDXL

Le test du verre transparent

Commençons par une image simple, pour tester Layer Diffusion et nous assurer qu’il fonctionne correctement, un verre transparent comme celui-ci :
Le verre avec transparence
Le verre avec transparence
Le verre sur un fond quadrillé
Le verre sur un fond quadrillé
Pour ce test, nous utiliserons le modèle JuggernautXL X. Tu peux bien sûr utiliser un autre modèle, mais en prenant celui-ci, tu devrais avoir le même résultat que moi et pouvoir facilement confirmer le bon fonctionnement de ton Layer Diffusion.
a cup made of glass, high quality

Negative prompt: bad, ugly

Steps: 30, Sampler: DPM++ 2M SDE Karras, CFG scale: 5, Seed: 12345, Size: 1024x1024, Model hash: d91d35736d, Model: juggernautXL_juggernautX
Voici les étapes pour reproduire ce verre :
  1. Copier le prompt et les paramètres de génération ci-dessus, les coller dans le champ prompt et cliquer sur la flèche ↙ sous le bouton de génération pour les appliquer.
    1. notion image
  1. Mettre le Batch Size à 1 pour ne générer qu’une seule image de test.
  1. Ouvrir la configuration Transparent Image Generator (LayerDiffuse) sous les paramètres de génération.
  1. Cocher la case Enabled pour activer l’utilisation de Layer Diffusion.
  1. Choisir la méthode (SDXL) Only Generate Transparent Image (Attention Injection)
  1. Laisser les paramètres Weight et Stop at à 1
  1. Lancer la génération d’image.
notion image
En quelques instants, l’image sera générée et Forge affichera deux images en : la première est le résultat de notre image posée sur un fond en damier qui permet de voir la transparence - et la seconde est l’image transparente elle-même.
Tu l’auras compris, la génération d’image transparente avec SDXL est plutôt simple : elle se fait comme n’importe quelle génération d’image en activant Layer Diffusion avec la méthode (SDXL) Only Generate Transparent Image (Attention Injection). Tu peux adapter tous les autres paramètres de la génération comme tu en as l’habitude.
notion image

Générer un personnage sur fond transparent

Gardons le même modèle et tentons la génération d’une autre image.
Je vais ici reprendre le prompt d’une image de démo sur la fiche Civitai du modèle en activant juste la transparence. Cela nous permettra de voir qu’il n’y a pas de prompt particulier nécessaire pour l’utiliser.
A hyperdetailed photograph of a Cat dressed as a mafia boss holding a fish walking down a Japanese fish market with an angry face, 8k resolution, best quality, beautiful photograph, dynamic lighting,

Negative prompt: (worst quality, low quality, normal quality, lowres, low details, oversaturated, undersaturated, overexposed, underexposed, grayscale, bw, bad photo, bad photography, bad art:1.4), (watermark, signature, text font, username, error, logo, words, letters, digits, autograph, trademark, name:1.2), (blur, blurry, grainy), morbid, ugly, asymmetrical, mutated malformed, mutilated, poorly lit, bad shadow, draft, cropped, out of frame, cut off, censored, jpeg artifacts, out of focus, glitch, duplicate, (airbrushed, cartoon, anime, semi-realistic, cgi, render, blender, digital art, manga, amateur:1.3), (3D ,3D Game, 3D Game Scene, 3D Character:1.1), (bad hands, bad anatomy, bad body, bad face, bad teeth, bad arms, bad legs, deformities:1.3)

Steps: 35, Size: 832x1216, Seed: 3929045283, Model: JuggernautXL_RunDiffusionPhoto2_V9_Final, Version: v1.7.0, Sampler: DPM++ 2M Karras, CFG scale: 7, Model hash: c9e3e68f89
notion image
notion image

Anime et BD

Layer Diffusion fonctionne également très bien avec d’autres styles d’image, comme les anime ou les cartoon. Encore une fois, il suffit d’adapter le prompt ou de choisir un modèle adapté en conservant la méthode (SDXL) Only Generate Transparent Image (Attention Injection) de Layer Diffusion.
Anime avec AnimagineXL
notion image
notion image
1 girl, Merida, , masterpiece, best quality, very aesthetic

Negative prompt: nsfw, low quality, worst quality

Steps: 28, Sampler: Euler a, CFG scale: 7, Seed: 3378193869, Size: 1024x1024, Model hash: e3c47aedb0, Model: animagine-xl-3.1, Lora hashes: "princess_xl_v2: 80aa67913aeb", layerdiffusion_enabled: True, layerdiffusion_method: (SDXL) Only Generate Transparent Image (Attention Injection), layerdiffusion_weight: 1, layerdiffusion_ending_step: 1, layerdiffusion_fg_image: False, layerdiffusion_bg_image: False, layerdiffusion_blend_image: False, layerdiffusion_resize_mode: Crop and Resize, layerdiffusion_fg_additional_prompt: , layerdiffusion_bg_additional_prompt: , layerdiffusion_blend_additional_prompt: 
Illustration BD avec Cheyenne
notion image
notion image
graphic novel illustration, a blond woman in a red dress, Manara

Steps: 30, Sampler: DPM++ 2M SDE Karras, CFG scale: 4, Seed: 1520054839, Size: 1024x1024, Model hash: 8ea2b6e4e2, Model: CHEYENNE_v16, layerdiffusion_enabled: True, layerdiffusion_method: (SDXL) Only Generate Transparent Image (Attention Injection), layerdiffusion_weight: 1, layerdiffusion_ending_step: 1, layerdiffusion_fg_image: False, layerdiffusion_bg_image: False, layerdiffusion_blend_image: False, layerdiffusion_resize_mode: Crop and Resize, layerdiffusion_fg_additional_prompt: , layerdiffusion_bg_additional_prompt: , layerdiffusion_blend_additional_prompt: , Version: f0.0.17v1.8.0rc-1.7.17-1557-g447b5372, Diffus task ID: 4ad62d86-0b89-4b32-a0d0-6190eaaab392, Image created at: "https://webui.diffus.me?utm_source=af_256acbbdc7&utm_medium=af_256acbbdc7&utm_campaign=af_256acbbdc7"
📌
Transparence avec Stable Diffusion 1.5
La même technique peut être utilisée avec Stable Diffusion 1.5 et ses modèles pour générer des images transparentes. Il suffit de choisir la méthode (SD1.5) Only Generate Transparent Image (Attention Injection)

Layer Diffusion dans ComfyUI

Layer Diffusion est également disponible en Node ComfyUI.
Tu pourras trouver diffèrent Workflow qui utilise Layer Diffusion sur le github de l’extension ComfyUI-layerdiffuse dont une génération de PNG transparent assez similaire à ce que nous venons de faire.
Worfkflow de génération d’une image transparente
Worfkflow de génération d’une image transparente

Profitez de toute la puissance de SDXL sans rien installer et depuis n'importe quel ordinateur.

Stable Diffusion sur le Cloud

Créer avec Diffus

Ecris par