Stable Diffusion et la Génération d'Images avec Fond Transparent

La capacité de créer des images avec un fond transparent ouvre un large éventail de possibilités créatives pour les designers et les artistes numériques. Elle permet de superposer des éléments visuels sur divers arrière-plans sans être limité par des contraintes de compatibilité visuelle. Cette flexibilité est particulièrement précieuse lorsque l'on souhaite utiliser les images générées comme composantes d'un design plus large ou d'un projet créatif.

Diagramme illustrant le concept de génération d'images transparentes et de calques avec Stable Diffusion.

L'Avènement de la Transparence avec Layer Diffusion

Dans un monde où la demande de contenu visuel est en constante augmentation, il est surprenant de constater le manque de recherche dédié à la génération de contenu transparent. Bien que la plupart des logiciels d'édition visuelle s'appuient sur des systèmes de calques, la création d'images transparentes reste largement inexploitée. C'est dans ce contexte que l'approche de "transparence latente" (latent transparency) se révèle prometteuse. Cette méthode innovante permet aux modèles de diffusion latente, tels que Stable Diffusion, de générer non seulement des images transparentes, mais aussi plusieurs calques transparents simultanément.

L'une des solutions les plus intéressantes pour exploiter cette capacité est l'extension Layer Diffusion. Conçue pour enrichir le processus de création d'images de Stable Diffusion, elle intègre une couche alpha, permettant ainsi la création d'images avec transparence. Layer Diffusion peut s'intégrer facilement dans des interfaces conviviales comme le SD Forge WebUI pour une utilisation simple et efficace.

Comprendre la Transparence dans les Images Numériques

Traditionnellement, une image au format JPEG est composée de trois canaux de couleur : rouge, vert et bleu (RVB). Chaque pixel possède ces trois valeurs de couleur primaires. Cependant, les canaux RVB ne définissent pas la transparence. C'est un canal alpha supplémentaire, présent dans des formats comme le PNG, qui définit le niveau de transparence de chaque pixel. Par conséquent, une image PNG possède quatre canaux : RVB et alpha.

Dans le contexte de la génération d'images, l'introduction d'une couche alpha va bien au-delà de la simple suppression d'un fond. Les pixels des images générées par Layer Diffusion peuvent être partiellement transparents, ce qui permet de créer des effets de rendu semi-transparents et d'autres rendus visuels intéressants.

Illustration de l'encodage et de la reconstruction d'une image avec son canal alpha.

La Méthodologie de Layer Diffusion

Au cœur de Layer Diffusion se trouve l'ajout d'un encodeur supplémentaire au processus de génération de Stable Diffusion. Cet encodeur est spécifiquement entraîné pour traiter et intégrer la couche alpha dans l'espace latent de l'image originale. Ce processus implique l'introduction de perturbations minimes et imperceptibles à l'œil nu dans l'image générée. Ces perturbations contiennent les informations nécessaires à la création de la transparence.

Le Rôle de la Transparence Latente

La méthode de "transparence latente" vise à encoder la transparence dans des perturbations ajoutées à l'espace latent de Stable Diffusion, tout en préservant la distribution globale de cet espace. L'objectif est de s'assurer que les perturbations ajoutées ne dégradent pas la capacité du décodeur à reconstruire l'image d'origine. Pour ce faire, Layer Diffusion ajuste l'espace latent pour qu'il supporte la transparence, tout en préservant autant que possible l'espace latent de base.

Le modèle Layer Diffusion inclut un nouvel encodeur (E) et un décodeur (D) spécialement entraînés pour encoder l'image transparente dans une nouvelle image de transparence latente. Le prédicteur de bruit U-Net est également entraîné pour prédire le bruit des images transparentes.

Entraînement et Ajustements

L'entraînement de Layer Diffusion repose sur plusieurs fonctions objectifs. Une fonction de perte d'identité ($\mathcal{L}_{\text{identity}}$) assure que l'image d'origine et sa reconstruction restent proches. Une fonction de perte de reconstruction ($\mathcal{L}_{\text{recon}}$) est utilisée pour reconstruire les canaux RVB et alpha. Un discriminateur (GAN objective, $\mathcal{L}_{\text{disc}}$) peut également être utilisé pour améliorer la qualité.

Les paramètres de pondération ($\lambda_{\text{identity}}, \lambda_{\text{recon}}, \lambda_{\text{disc}}$) permettent d'ajuster l'importance de chaque objectif. Par défaut, les valeurs typiques sont $\lambda_{\text{recon}}=1$, $\lambda_{\text{identity}}=1$, et $\lambda_{\text{disc}}=0.01$. L'ensemble de données de base comprend 20 000 images transparentes de haute qualité, complété par une méthode "human-in-the-loop" et étendu à une structure multi-couche pour entraîner des modèles de couches multiples.

Modèles et LoRA

Pour permettre une flexibilité accrue, les auteurs de Layer Diffusion n'ont pas fine-tuné Stable Diffusion directement, mais ont modifié ses poids via des LoRA (Low-Rank Adaptation), différents pour chaque couche. Pour assurer la cohérence entre l'avant-plan et l'arrière-plan, les poids d'attention sont partagés entre les deux UNets.

Générer des images à calques transparents avec l'IA : Guide complet Qwen-Image-Layered | Flux de ...

Utilisation Pratique de 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 une version optimisée de l'interface populaire Automatic1111 qui bénéficie d'extensions pour intégrer Layer Diffusion.

Installation et Configuration

Pour utiliser Layer Diffusion avec Stable Diffusion Forge UI, vous devez vous assurer que Forge est installé. L'extension Layer Diffusion peut nécessiter une installation via l'option "Install from URL". Une fois installée, elle peut ne pas ajouter immédiatement de modèles sur votre disque ; ceux-ci seront téléchargés automatiquement lorsqu'ils seront nécessaires.

Des alternatives comme ComfyUI, avec son gestionnaire d'extensions, peuvent également être utilisées. Il est essentiel de redémarrer ComfyUI après l'installation et de vérifier les messages d'erreur dans le terminal en cas de problèmes (comme l'absence de GIT).

Génération d'Images Transparentes

Une fois l'extension activée, la génération d'images transparentes est relativement simple. Dans l'interface de Forge, vous pouvez sélectionner des méthodes spécifiques comme "(SDXL) Only Generate Transparent Image (Attention Injection)". Les paramètres tels que Weight (poids) et Stop At (arrêter à) peuvent être ajustés pour influencer le résultat, bien qu'ils soient moins documentés dans l'article de recherche et nécessitent une approche empirique.

Lors de la génération, l'interface peut afficher deux images : une avec un fond en damier pour visualiser la transparence, et l'image transparente elle-même.

Exemple de génération d'un verre transparent avec Stable Diffusion et Layer Diffusion.

Tests et Exemples

  • Génération d'un verre transparent : En utilisant le modèle Juggernaut XL, avec des paramètres tels que Steps: 30, Sampler: DPM++ 2M SDE Karras, CFG scale: 5, et une taille de 1024x1024, il est possible de générer un verre transparent. L'activation de Layer Diffusion avec la méthode "Only Generate Transparent Image" permet d'obtenir le résultat souhaité.
  • Génération d'un personnage sur fond transparent : En adaptant un prompt existant et en activant la transparence, on peut générer des personnages avec un fond transparent. Par exemple, en utilisant le modèle JuggernautXL_RunDiffusionPhoto2_V9_Final avec des paramètres de génération spécifiques.

Paramètres Clés

  • Weight : Ce paramètre, souvent contrôlé par un slider, influence l'intensité de la couche de transparence. Un poids de 0.0 peut ne produire aucune couche alpha, tandis que des valeurs plus élevées commencent à l'introduire.
  • Stop At : Ce paramètre, variant généralement entre 0.0 et 1.0, affecte la génération de l'image. Son impact précis nécessite une expérimentation.

Avantages et Applications

L'extension Layer Diffusion, bien qu'encore en développement et susceptible de contenir des bugs, offre des fonctionnalités puissantes qui rivalisent avec de nombreux outils traditionnels de suppression d'arrière-plan. Une étude utilisateur a révélé que dans la majorité des cas (97%), les utilisateurs préfèrent le contenu transparent généré nativement par cette méthode par rapport aux solutions ad hoc précédentes.

Layer Diffusion permet non seulement de créer des images avec un fond transparent, mais aussi de générer un fond correspondant, ou de créer un avant-plan à partir d'un fond donné. Cette flexibilité est particulièrement utile pour :

  • La création de logos et d'icônes.
  • La conception graphique et le design web.
  • La production de contenu pour les réseaux sociaux.
  • L'intégration d'éléments visuels dans des vidéos ou des animations.
  • La création d'objets semi-transparents comme des lunettes ou des bouteilles.
Exemple d'une tasse transparente générée avec Layer Diffusion.

Il est important de noter que l'approche de Layer Diffusion peut rencontrer des problèmes avec certains modèles, comme le modèle SD v1.5 qui peut produire des visages "brouillés". L'extension est compatible avec la fonction "high-res fix", mais incompatible avec "img2img" au moment de la rédaction.

Références

  • Zhang, L., & Agrawala, M. (2023). Transparent Image Layer Diffusion using Latent Transparency. arXiv preprint arXiv:2312.04561.
  • Zhu, J. Y., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired image-to-image translation using cycle-consistent adversarial networks. In Proceedings of the IEEE international conference on computer vision (pp. 5970-5978).
  • Xiao, M., Zheng, S., Liu, C., Wang, Y., He, D., Ke, G., … & Liu, T. Y. (2020). Invertible image rescaling. In Computer Vision-ECCV 2020: 16th European Conference, Glasgow, UK, August 23-28, 2020, Proceedings, Part I 16 (pp. 126-144). Springer Nature.
  • Xia, M., Liu, X., & Wong, T. T. (2018). Invertible grayscale.

tags: #stable #diffusion #transparent #background

Articles populaires: