Le transfert de style neuronal est une technique d'optimisation utilisée pour prendre deux images - une image de contenu et une image de référence de style (telle qu'une œuvre d'art d'un peintre célèbre) - et les mélanger afin que l'image de sortie ressemble à l'image de contenu, mais « peinte ». dans le style de l’image de référence de style.
Ceci est mis en œuvre en optimisant l'image de sortie pour qu'elle corresponde aux statistiques de contenu de l'image de contenu et aux statistiques de style de l'image de référence de style. Ces statistiques sont extraites des images à l'aide d'un réseau convolutionnel.
Pour exécuter le notebook, veuillez cloner ce référentiel, démarrez un serveur de notebook Jupyter dans le répertoire correct et ouvrez le notebook appelé style_transfer_gan.ipynb
. Ce bloc-notes contient également le code d'un didacticiel sur le fonctionnement du transfert de style ; le code des données de ce référentiel est intercalé partout.
Pour voir le code StarGan, veuillez ouvrir le bloc-notes appelé StarGAN_v2_celeb_face_synthesizer.ipynb
.
Les styles artistiques que nous avons utilisés se trouvent dans le dossier art-styles
et incluent les éléments suivants :
Nous avons utilisé trois visages de célébrités pour le carnet de transfert de style original : celebrity-faces/male/the-weeknd.jpg
, celebrity-faces/male/wesley-snipes.jpg
et celebrity-faces/female/lady-gaga.jpg
.
Pour le notebook StarGAN, nous avons utilisé une sélection de photos de l'ensemble de données Celeb A-HQ. Ce sont les photos restantes dans le répertoire celebrity-faces/
.
Cette section explorera le travail dans style_transfer_gan.ipynb
. Pour comprendre comment le transfert de style neuronal s'effectue sur différents visages, nous avons alimenté plusieurs images de contenu (visages) via notre modèle et en avons sélectionné trois qui, selon nous, fourniraient suffisamment de différence de teint et de structure du visage. Pour chaque visage, nous avons utilisé les 10 styles artistiques répertoriés ci-dessus comme images de référence de style. La tendance générale que nous avons remarquée était que les styles qui ressemblaient davantage au visage de la personne et à ses arrière-plans d'image produisaient de meilleurs résultats que les styles très différents.
Pour The Weeknd, nous avons choisi une image prise après qu'il ait subi une chirurgie esthétique, lui donnant ainsi une structure faciale sensiblement différente. Dans son cas, nous avons vu que des styles tout aussi différents de la norme, comme le cubisme ou le surréalisme, produisaient de meilleurs résultats qu'un style comme le classicisme (voir ci-dessous).
Résultats surréalisme contre classicisme sur le visage de The Weeknd
De même, comme le teint de Wesley Snipes est plus foncé et que les couleurs de l'arrière-plan de son image originale sont également plus atténuées, les styles avec des tons similaires étaient plus précis. Comparez les résultats du cubisme et du fauvisme ci-dessous :
Résultats du cubisme contre le fauvisme sur le visage de Wesley Snipes
Les résultats de Lady Gaga, cependant, étaient bien plus homogènes dans tous les domaines. La plupart des styles étaient toujours capables de capturer certains détails de son visage sans trop de perte. Comme vous pouvez le constater, le fauvisme – qui ne fonctionnait pas aussi bien avec le visage de Wesley Snipes – fonctionne bien mieux ici.
Résultats Fauvsim vs. Classicisme sur le visage de Lady Gaga
Il existe de nombreuses raisons pour lesquelles le visage de Lady Gaga aurait pu produire de meilleurs résultats en général, mais une explication probable réside dans les données utilisées pour entraîner le modèle de transfert de style. Si le modèle disposait de plus de visages blancs lors de l’entraînement, il fonctionnerait probablement mieux avec des visages blancs lors des tests.
Cette section explorera le travail dans StarGAN_v2_celeb_face_synthesizer.ipynb
. StarGAN v2, le modèle de traduction d'images développé par Clova AI apprend le mappage entre différentes images. Nous avons utilisé un réseau Star GAN pré-entraîné avec l'ensemble de données CelebA-HQ ainsi qu'un ensemble de visages de célébrités de différents sexes, tons de peau, traits du visage et modifications du visage/corps (tatouages et chirurgie plastique) comme ensemble de données d'image source, et l'ensemble de données CelebA-HQ comme ensemble de données d'images de référence. Notre ensemble de données source a été divisé en deux domaines : féminin et masculin.
Ce qui suit est une liste d’images sources que nous avons choisi de synthétiser.
Rochelle Humes | Ariana Grande | Lady Gaga | Jennifer Laurent |
---|---|---|---|
Chris Hemsworth | Mike Tyson | Donald Trump | Le week-end | Wesley Bécassines |
---|---|---|---|---|
Nous avons transformé toutes les images sélectionnées en recadrant l'image à un rapport aussi proche que possible de 1:1, avec le visage au centre et en occupant une grande partie de l'image. Nous avons ensuite affiné l'image pour une rotation et un recadrage plus fins à l'aide de l'outil intégré fourni par Clova AI. Enfin, nous avons transmis ces images affinées au réseau StarGAN pré-entraîné et généré des images de sortie synthétisées.
Nos résultats ont montré que des traits du visage distincts, tels que des mâchoires et des lèvres fortes, se propageaient selon différents sexes et tons de peau dans les images générées/sorties. Pour les visages comme celui de The Weeknd qui ont subi des modifications faciales (par exemple chirurgie plastique), nous avons remarqué que ces caractéristiques restaient également distinctes dans les images générées. Cependant, les images générées n'étaient pas aussi réalistes. Comme prévu, des caractéristiques de haut niveau telles que la coiffure, le maquillage, la barbe et le teint sont suivies à partir des images de référence. Cependant, d'autres caractéristiques telles que les tatouages semblaient avoir été préservées de l'image source. De même, le modèle a conservé la pose et l'identité des images source dans la plupart des images de sortie.
Le résultat de notre expérience est présenté ci-dessous