Générer des images de haute qualité avec le modèle StableDiffusion de KerasCV
Hello la team #TheDayInfo, je suis heureux de vous retrouver après 6 mois d'absence😊.
Cet article technique sur KerasCv va nous faire découvrir Keras avec son module KerasCV, le traitement du language naturel(NLP), la vision par ordinateur(Computer Vision) et enfin StableDiffusion, un modèle pour générer des images à partir d'un texte.
Alors, si vous êtes confortablement installés, nous pouvons débuter.
KERAS
Keras est une puissante librairie open-source d'apprentissage profond(Deep Learning DL) pour TensorFlow qui fournit un API de haut niveau de réseaux de neurones pour développer et évaluer les modèles de DL.
En plus d'être puissant, Keras est simple et flexible d'utilisation. On peut l'importer depuis TensorFlow 2 car Il est conçu au dessus de TensorFlow2.
from tensorflow import keras
Cependant, dans notre cas ici, nous devons générer des images, ce qui fera intervenir KerasCV, le module de vision par ordinateur de Keras.
Pour installer KerasCV sur Google Colab, voici le code:
Traitement naturel du langage(Natural Language Processing NLP en Anglais)
Le traitement du langage naturel est une partie de l'apprentissage automatique de la machine dont le but est de comprendre, générer et manipuler le langage humain.
Nous allons l'utiliser ici pour comprendre le texte qui servira à générer les images et qui est incorporé au modèle StableDiffusion.
La vision par ordinateur
Pour faire simple, c'est la capacité qu'a la machine de voir, comprendre et manipuler les images et les vidéos.
C'est aussi une partie de l'apprentissage automatique de la Machine mais avec plus de DL.
Implémentation de StableDiffusion
Le décor planté, nous pouvons commencer la section technique de notre article.
Nous allons implémenter le modèle StableDiffusion avec KerasCV en installant d'abord les packages nécessaires.
La première ligne a été expliquée plus haut. La seconde ligne permet d'installer les outils nécessaires à l'installation de waymo-open-dataset dont KerasCV se sert pour les images.
Ensuite, nous allons importer les packages:
Chose faite, nous allons construire notre modèle qui va générer les images à partir du texte que nous allons lui donner:
vous pouvez ignorer le message disant que vous n'avez pas installé Waymo open dataset.
Nous allons générer des images de "digital painting of angels warrior in the sky'.
C'est juste pour le fun 😏
Mais nous pouvons ajouter d'autres paramètres pour plus de fun !
Eh voilà comment générer des images à partir de texte avec le modèle StableDiffusion de KerasCV.
Par ailleurs, deux (2) choses sont importantes à savoir.
La première est le temps que va prendre le modèle à générer l'image(Le mien a duré 1h pratiquement) sur colab. Votre débit internet sera mis à l'épreuve.
La seconde chose est la qualité de votre prompt. Il existe un ensemble de paramètre à prendre en compte pour générer une excellente image. Vous pouvez visiter le site
Stable Diffusion Art pour en savoir plus.
Mais comment ça marche réellement?
L'on peut croire que cela relève de la magie, mais pas du tout !
C'est une sorte de "modèle de diffusion latente".
Vous connaissez l'idée de la super-résolution? il est possible d'entraîner un modèle d'apprentissage profond pour nettoyer(enlever le bruit) une image d'entrée et ainsi la transformer en une version à plus haute résolution.
Le modèle de DL utilise sa distribution de données d'apprentissage pour faire rayonner les détails visuels qui seraient très probablement donnés à l'entrée.
|
Faible résolution |
|
Haute résolution |
Enfin, vous pouvez télécharger le modèle sous la forme TFLite pour les applications mobiles (android & iOS) et système embarqués.
Pour finir, l'art et l'IA sont deux éléments qui se complètent à merveille et au-delà de ce qu'on peut voir aujourd'hui sur les réseaux sociaux, nous pouvons souligner un énorme travail de recherche en arrière-plan dans le domaine de l'intelligence artificielle.
Je vous laisse le
lien drive pour les images en haute résolution car le blog diminue la qualité.
J'espère que cet article vous a plu. N'hésitez pas à commenter pour donner votre avis.
Pour ma part, je vous dis à bientôt et prenez soin de vous !!!
Félicitations pour êtes parvenus à monter ce projet 👏🏻
RépondreSupprimerComment pouvons-nous savoir que cela fonctionne?
Bonjour et merci :). Vous voulez savoir comment vous pouvez savoir si cela fonctionne si vous le faites vous-même ou si j'ai un lien que vous puissiez tester?
Supprimer