[PYTHON] Essayez de modifier une nouvelle image à l'aide du modèle StyleGAN2 entraîné

1.Tout d'abord

Dans le précédent ** "Yui Arakaki vit-il dans l'espace latent de StyleGAN2?" **, ** modèle StyleGAN2 appris ** Il a été constaté que les ** nouvelles images ** qui ne sont pas utilisées pour l'apprentissage ont également ** une capacité élevée de génération d'images **.

Cette fois, je voudrais jeter un oeil à ** combien de nouvelles images qui ne sont pas utilisées pour la formation peuvent être éditées ** en utilisant le ** modèle StyleGAN2 entraîné **.

Le code a été créé à l'aide de ** Google Colab ** et publié sur ** Github **. Veuillez essayer de le déplacer.

2. Qu'est-ce que le mélange de styles?

StyleGAN ne génère pas d'image à partir d'une variable latente comme GAN jusqu'à présent, mais utilise un réseau de cartographie pour générer une image à partir de 18 variables latentes w (cela s'appelle style). Profitant de cette fonctionnalité, l'édition appelée ** Style Mixing ** devient possible.

スクリーンショット 2020-07-08 13.40.30.png

Les 18 variables latentes ** w0 à w17 ** sont des couches avec 9 résolutions (4 x 4, 8 x 8, 16 x 16, 32 x 32, 64 x 64, 128 x 128, 256 x 256, 512. Deux sont connectés à chacun des × 512, 1024 × 1024).

Le contenu selon lequel la variable latente affecte la génération d'image diffère en fonction de la résolution, et à basse résolution, il affecte la vue d'ensemble telle que l'orientation du visage, la forme du visage, la coiffure et, à mesure que la résolution augmente, cela affecte les détails tels que les yeux et la bouche. Je vais.

Ici, vous pouvez mélanger les caractéristiques des deux ** images ** en échangeant uniquement la partie de l'image A et l'image B où la variable latente w est **, et cela s'appelle ** Style Miximg **. est.

3. Orientation du visage

スクリーンショット 2020-07-08 13.32.06.png Cette image montre le résultat du remplacement des variables latentes ** w0, w1 ** dans le cadre bleu ** Row_pic ** par celles dans le cadre rouge ** Col_pic **. ** w0 et w1 affectent principalement l'orientation du visage et la présence ou l'absence de lunettes **, de sorte que seule l'orientation du visage peut être modifiée indépendamment.

4. Rires

スクリーンショット 2020-07-08 13.52.42.png Cette image est ** w4, w5 ** de Row pic remplacé par Col_pic. Ce sont principalement w4 et w5 ** qui affectent la forme de la bouche, qui est le point de rire. Vous avez l'impression que la façon dont vous ouvrez la bouche bouge telle qu'elle est, vous pouvez donc modifier les nuances de votre rire.

5. Lunettes

スクリーンショット 2020-07-08 14.15.56.png Cette image est Row_pic avec ** w0, w1, w2 ** remplacé par Col_pic. ** Ce sont principalement w0, w1, w2 ** qui affectent les lunettes. Puisqu'il couvre la direction du visage, la direction du visage change également en même temps.

Ce qui est intéressant, c'est que la forme des verres ne bouge pas telle quelle, mais il semble que Row_pic ait ** des attributs individuels des verres **. Par conséquent, il est difficile de mettre les verres de la forme voulue.

6. Jeunes

スクリーンショット 2020-07-08 14.26.43.png Cette image est ** w4, w5, w6, w7 ** de Row_pic remplacée par Col_pic. ** Laissez w2, w3 ** affecté par la forme du visage et la coiffure, et remplacez uniquement ** w4, w5 **, qui affecte la forme de la bouche, et w6, w7 **, qui affectent la forme des yeux. Je suis. Si vous changez la forme de vos yeux et de votre bouche, vous serez assez jeune.

7. Vieillir

スクリーンショット 2020-07-08 14.38.48.png Comme précédemment, w2 et w3, qui affectent la forme du visage et de la coiffure, sont laissés tels quels, et seuls w4, w5, w6 et w7, qui affectent la forme de la bouche et des yeux, sont remplacés **. Le simple fait de changer la forme des yeux et de la bouche le fait paraître un peu plus vieux.

8. Masculinisation

スクリーンショット 2020-07-08 14.43.20.png Ceci est un bonus. De même, seuls w4, w5, w6, w7 sont remplacés, mais le résultat n'est pas bon (rires).

9. Résumé

スクリーンショット 2020-07-08 16.34.55.png

Ceci est un résumé grossier des relations entre les principales variables latentes w liées aux éléments de l'image du visage. ** w8 et plus n'affectent que ** tels que le contraste et la couleur, et ne semblent pas affecter directement la forme du visage.

Je pense que le modèle StyleGAN2 entraîné a ** une capacité d'édition d'image élevée ** même pour ** de nouvelles images **.

(référence) Jouez à StyleGAN !! ~ Édition d'image sans apprentissage supplémentaire ~

Recommended Posts

Essayez de modifier une nouvelle image à l'aide du modèle StyleGAN2 entraîné
Essayez de modéliser une distribution multimodale à l'aide de l'algorithme EM
Essayez une recherche similaire de recherche d'images à l'aide du SDK Python [Recherche]
Essayez de déduire à l'aide d'un modèle de régression linéaire sur Android [PyTorch Mobile]
[NNabla] Comment ajouter une couche de quantification à la couche intermédiaire d'un modèle entraîné
Essayez d'ajouter la distorsion de l'objectif fisheye à l'image
Comment coder un drone en utilisant la reconnaissance d'image
Apprentissage par renforcement 10 Essayez d'utiliser un réseau neuronal formé.
Essayez de créer une nouvelle commande sous Linux
Jusqu'à ce que vous essayiez de laisser DNN apprendre la vérité de l'image en utilisant Colab
Création d'une image trompeuse pour le modèle de génération de légende
Comment écrire une interface graphique à l'aide de la commande maya
(Python) Essayez de développer une application Web en utilisant Django
Essayez de charger l'image dans un thread séparé (OpenCV-Python)
[Python] Masquez l'image dans un cercle à l'aide de Pillow
J'ai essayé de compresser l'image en utilisant l'apprentissage automatique
Créez une page Web qui exécute un modèle qui augmente la résolution de l'image à l'aide de gradio, ce qui facilite la création d'un écran Web
J'ai essayé de prédire l'infection d'une nouvelle pneumonie en utilisant le modèle SIR: ☓ Wuhan edition ○ Hubei province edition
J'ai essayé d'utiliser PI Fu pour générer un modèle 3D d'une personne à partir d'une image
Implémentation de VGG16 à l'aide de Keras créé sans utiliser de modèle entraîné
Essayez d'évaluer les performances du modèle d'apprentissage automatique / de régression
[python] Remplacez le nom du fichier image par un numéro de série
Essayez d'évaluer les performances du modèle d'apprentissage automatique / de classification
J'ai fait une fonction pour vérifier le modèle de DCGAN
Comment générer une requête à l'aide de l'opérateur IN dans Django
J'ai fait un modèle VGG16 en utilisant TensorFlow (en chemin)
Convertissez les données d'image (png) à portée de main en une image .pbm
[Introduction à Tensorflow] Comprendre correctement Tensorflow et essayer de créer un modèle
Essayez d'utiliser l'image Docker de Jupyter
Point selon l'image
Essayez d'utiliser l'API Twitter
Essayez d'utiliser l'API Twitter
Essayez d'utiliser l'API PeeringDB 2.0
Essayez de sélectionner une langue
L'image est Namekuji
Essayez de générer une image de veste de type death metal avec DCGAN + grattez le site de base de données de métaux pour cela
J'ai essayé de prédire le nombre de personnes infectées au niveau national de la nouvelle corona avec un modèle mathématique
Introduction au Deep Learning pour la première fois (Chainer) Reconnaissance de caractères japonais Chapitre 3 [Reconnaissance de caractères à l'aide d'un modèle]
Essayez d'extraire une chaîne de caractères d'une image avec Python3
[Go] Créez une commande CLI pour changer l'extension de l'image
Le moyen le plus simple de créer un environnement d'utilisation Spleeter à l'aide de Windows
Essayez de modéliser le rendement cumulatif du roulement dans le trading à terme
Ecrire un programme qui abuse du programme et envoie 100 e-mails
Essayez de faire fonctionner la base de données en utilisant Peewee de ORM de Python (version août 2019)
Évaluer les performances d'un modèle de régression simple à l'aide de la validation d'intersection LeaveOneOut
J'ai essayé de couper une image fixe de la vidéo
Essayez d'utiliser Elasticsearch comme base de votre système de questions et réponses
Essayez de résoudre le problème de minimisation des fonctions en utilisant l'optimisation des groupes de particules
Générer une image Docker à l'aide de Fabric
Essayez de dessiner une courbe de Bézier
Essayez d'utiliser pynag pour configurer Nagios
Essayez d'introduire le thème sur Pelican
Essayez d'obtenir des statistiques en utilisant e-Stat
Convertir une chaîne en image
Essayez d'utiliser le module Python Cmd
Essayez Cython dans les plus brefs délais
Essayez de brouiller l'image avec opencv2
Créer un modèle d'apprentissage à l'aide de MNIST
Le moyen le plus rapide d'essayer EfficientNet