Vision par ordinateurIA générativeVision par ordinateurIA générative
Vision par ordinateur8 min de lecture

Manipulez de vraies images avec du texte : une IA pour les artistes ! StyleCLIP expliqué

L’IA pouvait générer des images, puis, avec beaucoup de réflexion et d’essais-erreurs, les chercheurs pouvaient contrôler les résultats selon des styles précis. Maintenant.

Mis à jour le 25 sept. 2021
Manipulez de vraies images avec du texte : une IA pour les artistes ! StyleCLIP expliqué
Sommaire

Les chercheurs utilisaient l’IA pour générer des images. Ils pouvaient ensuite s’en servir pour prendre une image et la modifier selon un style précis, par exemple en la transformant en personnage de dessin animé ou en donnant le sourire à n’importe quel visage. Il fallait beaucoup d’ajustements, d’ingénierie du modèle et d’essais-erreurs avant d’obtenir quelque chose de réaliste. Il y a eu de nombreuses avancées dans ce domaine, principalement StyleGAN, qui possède l’incroyable capacité de générer des images réalistes dans pratiquement tous les domaines : de vraies personnes, des dessins animés, des croquis, etc.

Exemple visuel tiré de Manipulez de vraies images avec du texte : une IA pour les artistes ! StyleCLIP expliqué

Exemples d’applications de StyleGAN que j’ai présentées dans des articles précédents

StyleGAN est incroyable, mais il faut encore beaucoup de travail pour que les résultats correspondent à ce qu’on souhaite. C’est pourquoi de nombreuses personnes tentent de comprendre comment ces images sont créées et, surtout, comment les contrôler. C’est extrêmement complexe puisque la représentation dans laquelle nous modifions les images n’est pas adaptée aux humains. Au lieu d’avoir des images ordinaires en trois dimensions, rouge, vert et bleu, cette représentation est extrêmement dense en information et contient donc des centaines de dimensions décrivant toutes les caractéristiques que l’image peut contenir. Voilà pourquoi il faut autant de travail pour comprendre et localiser les caractéristiques à changer afin de générer une nouvelle version de la même image. Les mots importants ici sont « de la même image ». Le défi consiste à modifier uniquement les parties voulues et à conserver tout le reste. Si nous changeons la couleur des yeux, nous voulons que toutes les autres caractéristiques du visage restent identiques.

J’ai récemment présenté différentes techniques où les chercheurs ont tenté de rendre ce contrôle beaucoup plus simple pour l’utilisateur en employant seulement quelques exemples d’images ou des croquis rapides de ce que nous souhaitons obtenir.

Exemple visuel tiré de Manipulez de vraies images avec du texte : une IA pour les artistes ! StyleCLIP expliqué

Exemple de l’interface de StyleCLIP, offerte sur le GitHub de StyleCLIP.

Maintenant, vous pouvez faire tout cela uniquement avec du texte. Dans ce nouvel article scientifique, Or Patashnik et coll. ont créé un modèle capable de contrôler le processus de génération d’images grâce à une simple entrée textuelle. Vous pouvez lui demander pratiquement n’importe quelle transformation d’un visage et, grâce à StyleGAN et CLIP, il comprendra ce que vous voulez et le modifiera.
Vous pouvez ensuite ajuster quelques paramètres pour obtenir le meilleur résultat possible, et tout cela prend moins d’une seconde.

J’ai mentionné StyleGAN. StyleGAN est l’architecture GAN de pointe de NVIDIA pour la synthèse ou la génération d’images. J’ai fait plusieurs vidéos qui le présentent dans différentes applications et que vous devriez vraiment regarder si vous ne le connaissez pas.

Exemple visuel tiré de Manipulez de vraies images avec du texte : une IA pour les artistes ! StyleCLIP expliqué

(à gauche) Exemples de CLIP tirés du blogue d’OpenAI et (à droite) recherche d’images Unsplash utilisant CLIP.

Avant d’entrer dans les détails, il ne reste qu’à présenter l’autre modèle dont j’ai parlé et qui est combiné à StyleGAN : CLIP. Rapidement, CLIP est un puissant modèle reliant le langage aux images récemment publié par OpenAI. Comme nous le verrons, c’est lui qui contrôle les modifications apportées à l’image en utilisant seulement notre image et notre texte en entrée. Il a été entraîné sur une grande quantité de paires image-texte provenant du Web et peut essentiellement comprendre ce qui apparaît dans une image. Puisque CLIP a été entraîné sur ces paires image-texte, il peut associer efficacement une description textuelle à une image existante. Nous pouvons donc reprendre le même principe dans notre modèle afin d’orienter l’image générée par StyleGAN vers la transformation demandée par le texte. Vous devriez lire l’article Distill d’OpenAI si vous souhaitez en apprendre davantage sur CLIP. Il se trouve dans les références ci-dessous. CLIP a notamment servi à rechercher des images précises sur Unsplash à partir d’un texte, ainsi qu’à plusieurs autres applications très intéressantes. Vous comprendrez bientôt très clairement en quoi CLIP est utile ici. D’ailleurs, si vous trouvez cela intéressant, prenez une seconde pour partager le plaisir et envoyer cet article à un ami. Cela m’aide énormément !

Comme je l’ai dit, les chercheurs ont utilisé ces deux modèles déjà entraînés, StyleGAN et CLIP, pour rendre tout cela possible. Voici comment…

Le modèle reçoit une image en entrée, par exemple un visage humain dans ce cas-ci. Mais cela peut aussi être un cheval, un chat ou une voiture… En fait, n’importe quel type d’image pour lequel vous pouvez trouver un modèle StyleGAN entraîné avec suffisamment de données. Cette image est ensuite encodée en un code latent à l’aide d’un encodeur, comme ici, appelé w.

Exemple visuel tiré de Manipulez de vraies images avec du texte : une IA pour les artistes ! StyleCLIP expliqué

Modèle de projection de StyleCLIP. Image de Patashnik, Or, et coll., (2021), « Styleclip ».

Ce code latent est simplement une représentation condensée de l’image produite par un réseau de neurones convolutif. Il contient les informations les plus utiles sur l’image, qui ont été identifiées durant l’entraînement du modèle.
Si c’est déjà trop complexe, je vous recommande fortement de mettre votre lecture sur pause et de regarder la courte vidéo de 1 minute que j’ai faite sur les GAN, où j’explique le fonctionnement habituel de l’encodeur.

Exemple visuel tiré de Manipulez de vraies images avec du texte : une IA pour les artistes ! StyleCLIP expliqué

Ce code latent, ou cette nouvelle représentation de l’image, est ensuite envoyé dans trois réseaux de projection entraînés à manipuler les attributs désirés de l’image tout en préservant les autres caractéristiques. Chacun de ces réseaux apprend à projeter un niveau de détail précis, du plus grossier au plus fin. Ce niveau est déterminé au moment d’extraire l’information de l’encodeur à différentes profondeurs du réseau, comme je l’ai expliqué dans ma vidéo sur les GAN. Ils peuvent ainsi manipuler séparément les caractéristiques générales ou fines. C’est ici que le modèle CLIP sert à manipuler ces projections. Durant l’entraînement, les projections apprennent à se déplacer selon l’entrée textuelle, puisque CLIP comprend le contenu des images et encode le texte de la même façon que l’image. CLIP peut donc comprendre les transformations d’un texte à l’autre, par exemple de « un visage neutre » à « un visage surpris », puis indiquer aux réseaux de projection comment appliquer cette même transformation aux projections de l’image. Cette transformation correspond ici au vecteur delta contrôlé par CLIP. Il applique au code latent w les mêmes translations et rotations relatives que celles observées pour le texte. Ce code latent modifié est ensuite envoyé au générateur StyleGAN pour créer notre image transformée.

Exemple visuel tiré de Manipulez de vraies images avec du texte : une IA pour les artistes ! StyleCLIP expliqué

Modèle de projection de StyleCLIP. Image de Patashnik, Or, et coll., (2021), « Styleclip ».

En résumé, le modèle CLIP comprend les changements qui surviennent dans une phrase, par exemple de « un visage neutre » à « un visage surpris », et les chercheurs appliquent la même transformation à la représentation encodée de l’image. Ce nouveau code latent transformé est ensuite envoyé au générateur StyleGAN afin de générer la nouvelle image.

Et voilà ! C’est ainsi que vous pouvez envoyer une image à ce nouveau modèle et la modifier à partir d’une simple phrase. Les chercheurs ont aussi créé un Google Colab et une interface locale pour que vous puissiez le tester vous-même avec n’importe quelle image et l’explorer facilement à l’aide de curseurs qui contrôlent intuitivement les modifications.

Bien sûr, le code est aussi disponible sur GitHub. La seule limite est qu’il faut entraîner les réseaux de projection, mais les chercheurs se sont également attaqués à ce problème dans leur article scientifique. Pour mieux comprendre le fonctionnement du modèle et découvrir les deux autres techniques qu’ils ont présentées afin de contrôler la génération d’images avec CLIP sans aucun entraînement, je vous recommande fortement de lire leur article scientifique. Il en vaut vraiment la peine ! Tous les liens se trouvent dans les références ci-dessous.

Merci de m’avoir lu !


Venez discuter avec nous dans notre communauté Discord : Learn AI Together et partagez vos projets, articles scientifiques et meilleurs cours, trouvez des coéquipiers pour Kaggle, et bien plus encore !

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 !

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.
  • Soutenez financièrement mon travail sur Patreon

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 fait StyleCLIP ?

StyleCLIP modifie un visage généré ou encodé avec StyleGAN à partir d’une description en langage naturel du changement souhaité.

Comment le texte contrôle-t-il la modification visuelle ?

CLIP fournit une direction qui relie la demande écrite aux changements dans la représentation latente du générateur.

StyleCLIP peut-il modifier une vraie photographie ?

Une vraie image doit d’abord être encodée dans l’espace latent de StyleGAN avant d’être manipulée à partir du texte.

Pourquoi certaines modifications sont-elles plus faciles que d’autres ?

Le générateur ne peut manipuler que les concepts bien représentés dans ses données d’entraînement et son espace latent.

Que doit préserver une modification contrôlée ?

Elle doit changer l’attribut demandé tout en gardant l’identité, la pose, l’arrière-plan et les caractéristiques non concernées aussi stables que possible.