IA générativeVision par ordinateurIA générative
IA générative8 min de lecture

Synthèse de dessins à partir de texte avec contrôle artistique | CLIPDraw et StyleCLIPDraw

Prenez une image du style que vous souhaitez reproduire, entrez le texte et l’algorithme générera une nouvelle image à partir de celui-ci !

Mis à jour le 16 nov. 2021
Synthèse de dessins à partir de texte avec contrôle artistique | CLIPDraw et StyleCLIPDraw
Sommaire

Exemple visuel tiré de Synthèse de dessins à partir de texte avec contrôle artistique | CLIPDraw et StyleCLIPDraw

Exemples de résultats avec le texte et le style en entrée (à gauche), les comparaisons avec les méthodes de référence (deux colonnes du milieu) et les résultats de StyleCLIPDraw (à droite). Image tirée de l’article scientifique sur StyleCLIPDraw.

Avez-vous déjà rêvé de prendre le style d’une image, comme ce superbe style de dessin sur TikTok, et de l’appliquer à une nouvelle image de votre choix ? Moi oui, et cela n’a jamais été aussi simple. En fait, vous pouvez même y arriver uniquement à partir de texte et l’essayer dès maintenant grâce à cette nouvelle méthode et à leur carnet Google Colab accessible à tous. Prenez simplement une image du style que vous souhaitez reproduire, entrez le texte à générer et cet algorithme créera une nouvelle image à partir de celui-ci ! Regardez encore les résultats ci-dessus, c’est un immense pas en avant ! Les résultats sont extrêmement impressionnants, surtout quand on sait qu’ils ont été produits à partir d’une seule ligne de texte ! Pour être honnête, le résultat peut parfois sembler un peu désordonné si vous choisissez un style de dessin plus complexe ou brouillon comme celui-ci.

Comme nous l’avons dit, ce nouveau modèle de Peter Schaldenbrand et coll., appelé StyleCLIPDraw, améliore CLIPDraw de Kevin Frans et coll. Il reçoit une image et un texte en entrée, puis peut générer une nouvelle image fondée sur votre texte tout en suivant le style de l’image. Je vais rapidement vous montrer comment l’utiliser et explorer facilement leur code, mais voyons d’abord comment ils y sont arrivés. Le modèle doit donc comprendre le contenu du texte et de l’image pour bien reproduire son style. Comme vous vous en doutez sûrement, c’est incroyablement difficile. Heureusement, de nombreux chercheurs travaillent sur toutes sortes de défis, comme celui de relier le texte aux images, exactement ce que CLIP sait faire.

Exemple visuel tiré de Synthèse de dessins à partir de texte avec contrôle artistique | CLIPDraw et StyleCLIPDraw

Système d’encodage de CLIP pour comparer des entrées textuelles avec des images. Image tirée de l’article de blogue sur CLIP.

Rapidement, CLIP est un modèle développé par OpenAI qui peut essentiellement associer une ligne de texte à une image. Le texte et les images sont encodés de façon semblable. S’ils signifient la même chose, ils se retrouveront donc très proches dans le nouvel espace où ils sont encodés. Grâce à CLIP, les chercheurs ont pu comprendre le texte fourni par l’utilisateur et en générer une image. Si vous ne connaissez pas encore CLIP, je vous recommande de lire l’article que j’ai écrit sur Towards AI à son sujet, avec DALL-E, plus tôt cette année.

Mais alors, comment ont-ils appliqué un nouveau style ? CLIP ne fait que relier des images existantes à des textes. Il ne peut pas créer une nouvelle image…

En effet, il nous faut aussi autre chose pour capter le style de l’image envoyée, autant dans ses textures que dans ses formes. Le processus de génération d’images est plutôt unique. Il ne génère pas simplement une image d’un seul coup. Il dessine plutôt sur une toile et s’améliore progressivement. Au début, il trace seulement des lignes aléatoires et crée une première image, comme ci-dessous, avant de converger vers une image finale.

Exemple visuel tiré de Synthèse de dessins à partir de texte avec contrôle artistique | CLIPDraw et StyleCLIPDraw

CLIPDraw synthétise de nouveaux dessins à partir de texte. Explorez vous-même le code. Image tirée de l’excellent article de blogue de l’auteur de CLIPDraw.

Cette nouvelle image est ensuite renvoyée à l’algorithme et comparée à la fois avec l’image de style et le texte, ce qui génère une autre version. C’est une itération. À chaque itération, montrée ci-dessus dans le GIF, nous dessinons de nouveau des courbes aléatoires orientées par les deux fonctions de perte que nous verrons dans un instant. Ce processus aléatoire est plutôt intéressant, puisqu’il permet aussi à chaque nouvel essai d’être différent. En utilisant la même image et le même texte en entrée, vous obtiendrez donc des résultats différents qui pourraient même être meilleurs !

Exemple visuel tiré de Synthèse de dessins à partir de texte avec contrôle artistique | CLIPDraw et StyleCLIPDraw

Architecture du modèle StyleCLIPDraw. Nous générons d’abord une image avec des lignes aléatoires. Nous comparons ensuite ses encodages avec le style de l’image et le texte. Nous utilisons cette information pour orienter la génération suivante et répétons le processus jusqu’à obtenir un résultat satisfaisant. Image tirée de l’article scientifique sur StyleCLIPDraw.

Vous pouvez voir ici une étape très importante appelée augmentation d’images. Elle crée essentiellement plusieurs variations de l’image et permet au modèle de converger vers des résultats qui semblent justes aux humains, et pas seulement vers les bonnes valeurs numériques pour la machine. Ce simple processus est répété jusqu’à ce que nous soyons satisfaits du résultat !

Exemple visuel tiré de Synthèse de dessins à partir de texte avec contrôle artistique | CLIPDraw et StyleCLIPDraw

L’ensemble du modèle apprend donc à la volée pendant de nombreuses itérations en optimisant les deux fonctions de perte visibles ici. La première aligne le contenu de l’image avec le texte envoyé, tandis que la seconde s’occupe du style. Comme vous pouvez le voir, la première fonction de perte dépend de la proximité des encodages de CLIP. Comme nous l’avons dit plus tôt, CLIP juge essentiellement les résultats et sa décision oriente la génération suivante. La deuxième est aussi très simple. Nous envoyons les deux images dans un réseau de neurones convolutif préentraîné comme VGG, qui encode les images d’une façon semblable à CLIP. Nous comparons ensuite ces encodages pour mesurer leur proximité. Ce sera notre deuxième juge, qui orientera lui aussi la génération suivante. Grâce à ces deux juges, la prochaine génération peut se rapprocher à la fois du texte et du style souhaité.

Passons maintenant à la partie intéressante que vous attendiez… Vous pouvez effectivement l’utiliser dès maintenant, gratuitement ou du moins à très faible coût, à l’aide du carnet Colab lié dans les références ci-dessous. J’ai eu quelques problèmes à l’exécuter et je vous recommande d’acheter la version Pro si vous souhaitez l’explorer sans problème. Sinon, n’hésitez pas à me poser vos questions dans les commentaires si vous rencontrez des difficultés. Écrivez-moi simplement sur LinkedIn, Twitter ou directement ici ! J’ai moi-même rencontré pratiquement tous les problèmes possibles.

Exemple visuel tiré de Synthèse de dessins à partir de texte avec contrôle artistique | CLIPDraw et StyleCLIPDraw

Pour l’utiliser, exécutez simplement toutes les cellules, et c’est tout. Vous pouvez entrer un nouveau texte pour la génération ou envoyer une nouvelle image de style à partir d’un lien, et voilà ! Ajustez maintenant les paramètres ici et voyez ce que vous pouvez créer ! Si vous l’essayez, envoyez-moi vos résultats sur Twitter et identifiez-moi. J’adorerais les voir !

Comme les auteurs le précisent dans l’article scientifique, les résultats auront les mêmes biais que les modèles utilisés, notamment CLIP. Vous devez donc en tenir compte si vous l’essayez. Bien sûr, il ne s’agissait que d’un aperçu simple de l’article scientifique. Je vous invite fortement à lire les articles sur CLIPDraw et StyleCLIPDraw pour obtenir plus de détails techniques, puis à essayer leur carnet Colab. Les deux se trouvent dans les références ci-dessous.

Merci à Weights & Biases d’avoir commandité cet article de cette semaine, et un immense merci à vous d’avoir regardé jusqu’à la fin.


Si vous aimez mon travail et souhaitez rester à jour sur l’IA, vous devriez vraiment me suivre sur mes autres réseaux sociaux (LinkedIn, Twitter) et vous abonner à mon infolettre hebdomadaire sur l’IA !

Merci à Weights & Biases d’avoir commandité cette édition ! Créez de meilleurs modèles plus rapidement grâce au suivi des expériences, au versionnement des jeux de données et à la gestion des modèles.

Pour me soutenir :

  • La meilleure façon de me soutenir est de devenir membre de ce site Web ou de vous abonner à ma chaîne YouTube si vous préférez le format vidéo.
  • Suivez-moi ici ou sur Medium
  • Vous voulez commencer en IA ou améliorer vos compétences ? Lisez ceci !

Références

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Que génère CLIPDraw ?

Il transforme une description textuelle en dessin en optimisant des traits visuels selon la similarité texte-image mesurée par CLIP.

Qu’ajoute StyleCLIPDraw ?

Il ajoute une image de référence pour que le dessin généré reflète à la fois le sujet demandé et un style visuel.

Pourquoi CLIP seul ne suffit-il pas au transfert de style ?

CLIP capte l’alignement sémantique général, mais une autre représentation est nécessaire pour préserver les textures, les formes et les détails stylistiques.

Des entrées identiques produisent-elles toujours des dessins identiques ?

Non. L’optimisation peut emprunter différents chemins, donc le même texte et la même référence peuvent créer des variations utiles.

Qu’est-ce qui contrôle le résultat final ?

Le texte décrit le contenu, l’image de référence fournit le style et l’optimisation équilibre ces deux signaux.