# Stable Diffusion

Stable Diffusion est un modèle d'apprentissage automatique permettant de générer des images numériques photoréalistes à partir de descriptions en langage naturel. Le modèle peut également être utilisé pour d'autres tâches, comme la génération d'une image améliorée à partir d'une esquisse et d'une description textuelle.
Il peut fonctionner sur la plupart des matériels grand public équipés d'une carte graphique même de moyenne gamme.

## Licence

Le code source de Stable Diffusion est public, mais ce n'est pas un logiciel libre, car sa licence, dite CreativeML Open RAIL M License, interdit certains cas d'utilisation, ce qui est contraire à un principe de base de la fondation pour le logiciel libre$^,$$^,$.
Les critiques déplorant la publication du code source peuvent en général être liées aux inquiétudes concernant l'éthique de l'intelligence artificielle. Elles s'appuient sur l'hypothèse que le modèle peut être utilisé pour créer des deepfakes et remettent également en question la légalité de la génération d'images avec un modèle formé sur un ensemble de données incluant du contenu protégé par le droit d'auteur sans le consentement des artistes originaux.

## Entraînement

Stable Diffusion est formé sur un sous-ensemble de l'ensemble de données LAION-Aesthetics V2. Il est entrainé sur 256 GPU Nvidia A100 pour un coût de 600 000 $.

## Modèles

| Version | date de sortie | taille recommandée des images à générer | licence d'utilisation | Notes |
| 1.0 | | | | |
| 1.4 | août 2022 | 512 x 512 pixels | CreativeML OpenRAIL M license | |
| 1.5 | octobre 2022 | 512 x 512 pixels | CreativeML OpenRAIL M license | Basé sur la version 1.2, publié par Runway ML, partenaire de Stability |
| 2.0 | novembre 2022 | 768 x 768 pixels | CreativeML OpenRAIL M license | Modèle entrainé sans images explicites (érotiques, pornographiques) |
| 2.1 | décembre 2022 | 768 x 768 pixels | CreativeML OpenRAIL M license | |
| SDXL 0.9 base | juin 2023 | 1024 x 1024 pixels | SDXL 0.9 Research License | |
| SDXL base 1.0 SDXL refiner 1.0 | juillet 2024 | 1024 x 1024 pixels | CreativeML Open RAIL++-M License | |
| 3.0 Medium | 22 février 2024 (annonce et accés restreint) 12 juin 2024 (publication) | 1024 x 1024 pixels | Stability Non-Commercial Research Community License | |
En novembre 2023, Stability a publié une version distillée nommée SDXL-Turbo : elle a pour but de permettre la génération d'images en temps réel. À la différence des autres modèles, sa licence n'en permet pas un usage commercial et la version originale ne permet de générer que des images de 512x512 pixels : la communauté des utilisateurs a depuis entrainé d'autres modèles Turbo permettant de générer des images de 1024x1024 pixels. Les modèles Turbo permettent potentiellement de générer une image en une seule étape de calcul (de 1 à 4 étapes en pratique).
En février 2024, Stability publie un modèle Stable Cascade : Ce modèle est construit sur l'architecture Würstchen : il fonctionne dans un espace latent beaucoup plus petit. Stable Diffusion utilise un facteur de compression de 8, ce qui signifie qu'une image de 1024x1024 est encodée en 128x128. Stable Cascade atteint un facteur de compression de 42, ce qui signifie qu'il est possible d'encoder une image de 1024x1024 en 24x24. Ce type de modèle est bien adapté aux utilisations où l'efficacité est importante. Comme la version Turbo, sa licence est non-commerciale et elle est destinée à permettre la recherche.
Le 22 février 2024, Stability annonce la prochaine version de son modèle, Stable Diffusion 3.

## ControlNet

ControlNet est une structure de réseau neuronal qui permet d'ajouter un conditionnement spécifique à des images générées par Stable Diffusion à partir de texte. Les ControlNet utilisent une image de référence pour conditionner la génération. L'image passe un préprocesseur (détection de contours, de profondeur, de pose, etc.) et sert alors de guide à la génération. Cela permet par exemple de conserver la composition de l'image de référence dans les générations.
Exemples de ControlNet (liste non exhaustive) :
* Détection de contours : Filtre de Canny
* Détection de la position d'un corps humain : Pose
* Détection de la profondeur de champ : Depth
* Détection des lignes d'un dessin : Lineart
Certains modèles sont entrainés pour déflouter des images ou coloriser des images.
ControlNet se sert de couches spéciales, appelées "convolutions zéro", qui commencent sans influence sur l'image et progressent doucement, évitant d'introduire des erreurs pendant l'amélioration du modèle.
Des modèles ont été entrainés pour les diverses versions de Stable Diffusion (1.4, 1.5, 2.1, SDXL).
Remarque : ne pas confondre le terme avec le système de communication industriel ControlNet.

## Principaux logiciels utilisés

Les principaux logiciels (gratuits) utilisés pour générer des images avec Stable Diffusion localement (sur son propre ordinateur s’il dispose d’un GPU adapté) ou via une plateforme d'environnement de développement en ligne (Google Colab, RunPod, SageMaker, Jupyter, etc.)
Le langage Python est principalement utilisé pour tous ces programmes, qui sont disponibles sur GitHub.
| Logiciel | auteur | fork |
| Web UI | Automatic1111 | non |
| SD.Next | vladmandic | oui, de WebUI |
| Stable Diffusion web UI-UX | anapnoe | oui, de WebUI |
| Stable Diffusion WebUI Forge | lllyasviel | oui de WebUI |
| ComfyUI | comfyanonymous | non |
| InvokeAI | InvokeAI | non |
| Fooocus | lllyasviel | non |
| Fooocus-ControlNet-SDXL | fenneishi | oui, de Fooocus |
| RuinedFooocus | runew0lf | oui, de Fooocus |
| Fooocus-MRE | MoonRide303 | oui, de Fooocus |
| VoltaML | VoltaML | non |
| EasyDiffusion | easydiffusion | non |

## Poursuites en justice

En janvier 2023, trois artistes — Sarah Andersen, Kelly McKernan et Karla Ortiz — intentent une action en justice contre Stability AI, Midjourney et DeviantArt, créateurs des générateurs d'art Stable Diffusion, Midjourney et DreamUp, affirmant que ces sociétés ont violé les droits de « millions d'artistes » en entraînant leurs outils d'intelligence artificielle sur cinq milliards d'images extraites du web « sans le consentement des artistes originaux ».
Le juge de district américain William Orrick III (en) a rejeté certaines des revendications de l'action collective, y compris toutes les allégations dirigées contre Midjourney et DeviantArt. Il a indiqué que les artistes pouvaient amender leur plainte contre les deux entreprises, dont les systèmes utilisent la technologie de texte à image Stable Diffusion de Stability.
Le juge a également rejeté intégralement les revendications de violation du droit d'auteur de Kelly McKernan et Ortiz. Il a autorisé Sarah Andersen à poursuivre sa principale allégation selon laquelle l'utilisation présumée de son travail par Stability pour entrainer Stable Diffusion enfreignait son copyright.