Parlons des modèles d’IA qui prennent votre visage et peuvent le transformer en un dessin animé amusant, modifier des attributs du visage comme la couleur de vos cheveux ou simplement augmenter la résolution de votre image pour la rendre plus HD. Si vous suivez mes articles, vous savez que la plupart de ces applications reposent sur un seul modèle et ses nombreuses versions, appelés StyleGAN, que j’ai déjà présenté à plusieurs reprises. StyleGAN est une architecture fondée sur les GAN développée par NVIDIA. Elle peut recevoir une entrée et la transformer en une autre selon un style précis sur lequel elle a été entraînée. Elle est aussi à code source ouvert, ce qui permet à tout le monde de l’utiliser et de l’améliorer, et explique pourquoi tous les articles scientifiques s’en servent.

Exemples de résultats de StyleGANEX. Image tirée de l’article scientifique.
Le problème de StyleGAN est qu’il se limite aux visages recadrés et alignés à une résolution fixe provenant des données sur lesquelles il a été entraîné. Pour les images du monde réel, il faut donc utiliser d’autres approches afin de trouver le visage, de le recadrer et de le réorienter, en plus de lui donner la même résolution. C’est un problème important, puisque nous voulons généralement des images de grande qualité, mais que l’entraînement avec celles-ci serait incroyablement long.
Habituellement, nous utilisons donc l’architecture StyleGAN pour transférer le style de notre image, puis un autre réseau pour en augmenter la résolution. Cette approche fonctionne bien, mais elle est loin d’être idéale. Vous avez besoin de deux modèles plutôt que d’un seul, ce qui ajoute des biais et des erreurs potentielles. Il faut aussi entraîner les deux modèles, et leur capacité de généralisation est limitée. Heureusement pour nous, d’excellents chercheurs travaillent sur ce problème d’images d’entrée limitées et ont récemment publié à ICCV 2023 une nouvelle approche appelée StyleGANEX, fondée sur quelques petits changements très ingénieux. En plus, le code, les modèles préentraînés et une démo en ligne sont tous accessibles pour que vous puissiez l’essayer. Tous les liens se trouvent dans les références ci-dessous.
Évidemment, l’architecture repose surtout sur StyleGAN, qui possède de nombreux modèles préentraînés que vous pouvez explorer. Toutefois, ils ont tous le problème de taille des images d’entrée dont nous venons de parler. Puisqu’ils suivent les mêmes convolutions, ils produisent aussi des encodages de tailles différentes dans l’espace latent. Tout prend donc une taille différente selon l’image à traiter. Ici, les chercheurs ont corrigé simplement ce problème en ajoutant une convolution dilatée pour redimensionner les champs réceptifs des couches peu profondes dans l’architecture du générateur StyleGAN. Mais qu’est-ce que cela signifie ?

Transformation de StyleGAN en StyleGANEX. Image tirée de l’article scientifique.
En termes simples, les nouveaux filtres des premières couches du générateur peuvent s’agrandir selon la taille de l’image en entrée, que le modèle ait été entraîné avec cette taille ou non. Le générateur peut ainsi s’adapter dynamiquement à de nombreuses résolutions différentes. Il peut aussi le faire sans nouvel entraînement. Vous pouvez donc réellement reprendre votre modèle StyleGAN préentraîné actuel et simplement utiliser leur nouveau décodeur pour accepter des tailles d’entrée flexibles, autant dans l’image que dans l’espace latent.
Alors oui, ils n’ont changé que ces premiers blocs de convolution pour les remplacer par des convolutions dilatées. Et voilà, vous pouvez maintenant générer des images à partir de l’encodage de n’importe quelle taille d’image, les manipuler dans l’espace latent, puis générer votre version stylisée !
Mais que sont exactement ces convolutions dilatées, pourquoi peuvent-elles s’adapter à n’importe quelle image avec des performances semblables et comment tout cela fonctionne-t-il sans réentraîner un modèle StyleGAN ordinaire ?!
L’idée de la convolution dilatée est de produire une sortie de la même taille, peu importe la taille de l’entrée. Ici, il s’agit de la taille de l’information dans notre espace latent, puisque cette information a déjà été traitée et que nous voulons l’utiliser pour reconstruire une image stylisée. Les filtres de convolution qui parcourent l’information de l’espace latent pour la traiter et générer notre image stylisée changent donc de taille selon l’entrée afin de toujours produire le même nombre de pixels, peu importe l’information reçue. Vous pouvez ensuite travailler facilement avec toutes vos images. Comme vous le voyez dans la figure ci-dessus, le code latent de StyleGANEX est de taille variable, contrairement au code fixe de 4x4 de StyleGAN, produit en traitant des images recadrées et redimensionnées. La convolution dilatée flexible avec une taille de filtre variable permet à la résolution de la première carte de caractéristiques, ou de l’image traitée, d’être en tout temps 32 fois plus petite que l’image originale plutôt que de rester fixée à 4x4. Elle maximise ainsi l’information, même pour les images plus grandes.

Convolutions dilatées. (a) est produite par une convolution de dilatation 1. Chaque élément de F1 possède un champ réceptif de 3×3. (b) est produite par une convolution de dilatation 2. Chaque élément possède un champ réceptif de 7×7. (c) est produite par une convolution de dilatation 4. Chaque élément possède un champ réceptif de 15×15. Image tirée de Yu et coll., 2016.**
Dans les convolutions ordinaires, un petit filtre, comme celui de 4x4 ici, glisse sur l’image en entrée. À chaque position, le produit élément par élément entre le filtre et la région locale de l’entrée est calculé. Ce processus est répété pour chaque position dans l’image d’entrée afin de générer la carte de caractéristiques en sortie.
Les convolutions dilatées introduisent le concept de « taux de dilatation ». Au lieu de placer les éléments du filtre convolutif de façon dense, un pixel par-dessus l’autre, ils sont espacés par des trous. Cela agrandit efficacement le champ réceptif de l’opération de convolution sans augmenter la taille du filtre. En augmentant le taux de dilatation pour une image plus grande, le filtre voit donc la même proportion de l’image. Le taux de dilatation détermine l’espacement entre les éléments du filtre. Vous agrandissez essentiellement vos filtres selon ce taux, qui serait de 1 pour une convolution ordinaire puisque tous les éléments sont adjacents, puis remplissez tous les trous entre les paramètres d’origine avec des zéros. Une dilatation de deux signifie donc que votre filtre fait deux fois la taille de l’original. Vous pouvez ensuite remplir les autres valeurs avec des zéros, des connaissances a priori tirées de la distribution de vos données ou des valeurs apprises durant l’entraînement.

Détails de l’encodeur StyleGANEX. Image tirée de l’article scientifique.
Si vous remplissez les trous des filtres avec des zéros, aucun entraînement supplémentaire n’est nécessaire. Il suffit de déterminer le taux de dilatation à partir de la taille de l’entrée, et c’est tout. Voilà pourquoi les chercheurs peuvent prendre n’importe quel générateur StyleGAN et l’adapter automatiquement.
C’était la partie générateur, donc la partie droite du modèle complet montré ici, qui reçoit le code latent et génère votre image finale.
Si vous souhaitez aussi traiter des images, et pas seulement en générer de façon aléatoire, il vous faut également un encodeur dynamique capable de comprendre n’importe quelle taille d’image et de conserver cette compréhension dans des codes latents. Les chercheurs ont utilisé pSp, ou pixel2style2pixel, une architecture d’encodeur très répandue. Elle encode une image dans un espace latent selon la taille de l’image d’entrée, puis utilise une opération de regroupement pour condenser les caractéristiques dans les codes latents qui serviront aux décodeurs, afin qu’ils ne soient pas trop grands.

Exemples de résultats de StyleGANEX. Image tirée de l’article scientifique.
Et voilà ! Grâce aux convolutions dilatées dans le générateur et à cet encodeur, vous pouvez manipuler des visages avec n’importe quelle taille d’image sans réentraînement !
Bien sûr, il ne s’agissait que d’un aperçu de ce nouvel article scientifique sur StyleGANEX, que je vous recommande fortement de lire pour mieux comprendre l’approche. Je n’ai pas non plus présenté toute l’architecture StyleGAN, mais vous trouverez plusieurs articles à son sujet sur mon blogue si cela vous intéresse ! C’est aussi le premier de quelques articles que je consacrerai aux publications d’ICCV 2023. Vous devriez donc vraiment suivre le blogue et l’infolettre si vous avez aimé celui-ci. Comme je l’ai dit au début de l’article, vous pouvez essayer le modèle vous-même à l’aide de leur démo en ligne ou en implémentant leur code et leurs modèles préentraînés accessibles au public. Si vous l’essayez, dites-moi ce que vous pensez de la qualité des manipulations d’images ! J’espère que vous avez aimé cet article, et je vous retrouve la prochaine fois avec un autre article scientifique incroyable !
Références
►Lisez l’article complet : /fr/styleganex/
►Démo : https://huggingface.co/spaces/PKUWilliamYang/StyleGANEX
►Article scientifique : https://arxiv.org/abs/2303.06146
►Code : https://github.com/williamyang1991/StyleGANEX
►Page du projet : https://www.mmlab-ntu.com/project/styleganex/
►Twitter : https://twitter.com/Whats_AI
►Mon infolettre (une nouvelle application de l’IA expliquée chaque semaine dans vos courriels !) : /fr/newsletter/
►Soutenez-moi sur Patreon : https://www.patreon.com/whatsai
►Rejoignez notre Discord sur l’IA : https://discord.gg/learnaitogether
FAQ
À quel problème StyleGANEX s’attaque-t-il ?
Il étend la modification de type StyleGAN aux images réelles plus grandes, non alignées et de résolutions variées.
Pourquoi la modification avec StyleGAN ordinaire exige-t-elle des visages alignés ?
Sa première représentation à résolution fixe suppose un recadrage, une orientation et une taille d’image standardisés.
Que changent les convolutions dilatées ?
Elles agrandissent le champ réceptif sans augmenter proportionnellement le nombre de paramètres, ce qui préserve l’information des grandes images en entrée.
En quoi une taille de filtre variable est-elle utile ?
Les premières couches adaptent leur champ à la résolution d’entrée au lieu de forcer chaque image à passer par une représentation initiale fixe de 4 par 4.
Quelles tâches peuvent profiter de cette architecture étendue ?
L’inversion, la restauration, la modification et le transfert de style peuvent fonctionner sur des images moins contraintes tout en conservant plus de contexte.

