Sur la base de visage Deformation (lien ci-joint) généré contre réseau (GAN) de

Auteur: Rudra Raina

Traduction: Zhang Yihao

Commenté par: Wu Jin Di,

Cet article sur 2100 mots Suggestions de lecture 10 minutes.

Le présent document décrit les connaissances générées contre réseau (GAN), et l'utilisation qui transforment les visages des gens et explorer comment utiliser StyleGAN générer différents attributs du visage (comme l'âge, souriant, etc.).

contour

Jusqu'à tout récemment, j'ai commencé à explorer le contenu de la profondeur de l'apprentissage, et rencontré ces idées intéressantes et des projets dans la vision par ordinateur.

Même avec mes connaissances limitées et l'expérience, et j'espère que cela aide quelques-uns des autres débutants intéressés par ce domaine et essayer de nouvelles choses passionnantes.

J'ai trouvé une grande chaîne YouTube, appelé arXiv Insights (ou simplement AI, c'est une coïncidence? Je ne pense pas). Dans ce canal, j'ai trouvé une vidéo très intéressante: comment générer réseau contre le visage humain déformé! Cet article est un résumé de la vidéo que j'ai appris de la connaissance, et j'espère que d'ici la fin vous avez une bonne compréhension de cette idée, et peut-être essayer vous-même.

La figure ci-dessus qui n'existe pas dans la vraie vie, ils sont générés par ordinateur. Mes amis, c'est la puissance de GAN. Si cela a suscité votre attention, s'il vous plaît continuez à lire pour en savoir plus.

Partie I: Qu'est-ce que GAN

GAN a une tâche très simple à faire, est de commencer à partir de zéro pour générer des données, et ces données peuvent même tromper les humains.

Le modèle est constitué d'Ian Goodfellow et ses collègues en 2014 à l'invention, la composition des deux réseaux de neurones (et discriminateur générateur), qui sont en concurrence les uns avec les autres, ce qui entraîne un certain nombre de contenu réel.

Le but d'utiliser deux réseaux peut se résumer autant que possible d'apprendre la structure de base des données d'entrée, et utiliser ces connaissances pour créer un contenu similaire qui correspondent tous les paramètres pour adapter la même catégorie.

Comme indiqué plus haut, l'entrée est le visage humain, GAN exactement comment les élèves apprennent à face ou d'une personne adulte. Grâce à cette compréhension, il va générer un visage au hasard, le visage de ces personnes peut également être vrai.

Jetons un coup d'oeil de plus près:

La structure de base du GAN

Ce chiffre est un modèle simplifié de la structure de GAN, mais il capture l'essence complète du concept.

C'est ce qui se passe dans la prochaine itération de la GAN:

1. Générateur

  • Le générateur de bruit aléatoire en tant que vecteur d'entrée;
  • Le générateur multiple effectue une convolution transposable à l'échantillonnage du bruit, générer l'image finale.

2. discriminateur

  • Il est d'obtenir entrée aléatoire de l'échantillon réel du monde (échantillon réel) ou générés des échantillons d'image (faux échantillon);
  • Comme son nom l'indique, discriminateur seulement faire une chose: la discrimination « vraiment échantillon » ou entrée « faux échantillon ».

Comme les utilisateurs, nous savons qu'il est faux de l'échantillon réel ou d'échantillons, et utiliser ces connaissances pour utiliser rétropropagation (BP) perte de formation au discriminateur pour mieux faire son travail.

Mais nous savons tous, le générateur est un réseau de neurones, afin que nous puissions toujours se propager à un échantillon aléatoire de bruit, générateur aidant génère une meilleure image. Ainsi, la discrimination et le générateur peuvent utiliser la même perte de fonction.

L'astuce consiste à équilibrer ces deux réseaux dans le processus de formation. Si cela est fait correctement, le discriminateur apprendre à distinguer même une petite exception, tandis que le générateur produira le plus d'apprendre la production réelle.

compréhension technique GAN des travaux:

Constructeur et discriminateur au minimum - le plus grand jeu.

  • Générateur tenter de réduire l'écart entre l'image factice et l'image réelle, à discriminateur tromper;
  • Discriminateur pour optimiser la compréhension de l'image réelle afin de distinguer les échantillons de faux.

Dans l'image ci-dessus, D (x) est la probabilité qu'une image juste « vrai échantillon » de.

Il y a une autre fonction G (z) est la sortie du générateur, z est une variable d'entrée cachée aléatoire. Une probabilité génération ont « vrai échantillon » est calculé par le discriminateur D (G (z)).

Pour discriminateur, nous espérons:

  • image échantillon solide a correctement identifié et donc D (x) doit être proche de 1;
  • Pendant ce temps, de même d'identifier correctement les fausses images, D (G (Z)) pour être proche de 1.

Pour Constructeur:

  • Générateur et D (x) indépendamment de la précision, seule la D (G (z)) doivent être identifiés comme un échantillon réel, et donc il doit être proche de 1 que possible.

fonction objective de GAN

Seulement quand un bon équilibre entre les deux réseaux, est la base de cette fonction perte architecture GAN, nous pouvons obtenir un générateur haute performance et un discriminateur.

Pour ceux qui sont intéressés à en apprendre davantage sur le GAN:

  • Ceci est le lien vers l'article original de Ian Goodfellow.

https://papers.nips.cc/paper/5423-generative-adversarial-nets.pdf

  • Ceci est la série « GAN-GAN (du début à la fin) » - écrit par Jonathan Hui aperçu dans l'un des meilleurs GAN de l'information et ses applications.

https://medium.com/@jonathan_hui/gan-gan-series-2d279f906e7b

Partie II: La partie intéressante

Le principe du modèle:

  • Après générateur de formation, les variables cachées qui comprennent parfaitement la structure sous-jacente de l'ensemble de données.
  • Dans notre exemple, nous utiliserons le modèle connaissent déjà la structure du visage. Le modèle a été développé par NVIDIA chercheurs StyleGAN.

https://en.wikipedia.org/wiki/StyleGAN

  • Notre objectif est d'utiliser cette structure et le manipuler pour produire des choses intéressantes.

Vous devez savoir que le traitement d'image de domaine de pixels est très lourd et difficile, donc nous allons traiter des images cachées dans le vecteur.

Ensuite, nous sommes arrivés au premier obstacle, comment faire? Pour une image donnée, nous pouvons toujours trouver l'image latente correspondant au vecteur? N est représenté ci-dessous:

processus:

Pour notre premier obstacle, la solution la plus efficace:

  • Faces de génération d'un générateur aléatoire;
  • Ces images sont utilisées en tant que l'ensemble de données, le potentiel de ResNet de formation de l'image source à l'aide du code vectoriel (estimation préliminaire);
  • Nous utiliserons ResNet par pré-formation, peut trouver le code caché à l'image de requête (estimation approximative);
  • Ensuite, l'image en tant que point de départ, le calcul de la perte L2 « image originale », et mettre à jour le code de vecteur implicite (lui-même générateur tout en fixant le poids de droite).

Ceci est la deuxième partie de la vidéo - mise à jour des estimations des codes cachés

Dans la seconde moitié de cette vidéo, en raison des estimations de code cachées à l'image convergent vrai des requêtes de code, la mise à jour difficile à observer.

modification à temps partiel

Eh bien, peut-être pas.

plan:

  • Nous avons besoin d'un autre ensemble de données, et génère ensuite à nouveau une base de données aléatoire de visage.
  • Nous appliquons un classificateur pré-formé pour obtenir la propriété des attributs tels que « genre », « âge », « Sourire » et ainsi de suite.
  • Ceci est fait pour nous permettre de cartographier le code sous-jacent à la propriété d'image pour trouver le mode approprié.
  • Nous devons comprendre le StyleGAN espace potentiel est un espace de 512 dimensions très complexe.

espace caché de StyleGAN

Ici, chaque point représente une image, nous devons trouver un modèle dans l'espace. Par exemple, dans une certaine direction dans l'espace, comment se déplacer pour changer l'image générée?

  • On peut observer dans l'espace caché, ces propriétés peuvent être facilement isolés par « hyperplan linéaire. »
  • L'avion émulé long de la ligne nous fournira la propriété de changement de direction.

Enfin, je veux montrer un autre exemple, j'ai changé l'attribut « âge » Emma Watson images.

Voilà ce que j'essayé de lier dépôt GitHub, la vidéo est la sortie réelle.

https://github.com/rudraina/Face-Morph

Merci encore Arxiv Perspicacité couvre des sujets intéressants.

https://github.com/rudraina/Face-Morph

Allez, vous pouvez essayer vous-même.

Titre original:

Face Morphing à l'aide générative accusatoire réseau (GAN)

Lien original:

https://medium.com/swlh/face-morphing-using-generative-adversarial-network-gan-c751bba45095

Editeur: Wang Jing

Commenté par: Lin Yilin

Introduction Traducteur

Zhang Yihao, Université Tongji Kenichi à la lecture, la direction de la recherche pour l'exploration de données de trafic et de l'intelligence artificielle. L'ère des grandes données, les données et les algorithmes des États-Unis est difficile à exprimer avec peu de mots, mais l'analyse des données à écrire avec la substance, efficace et accent sur l'innovation, comme dans le raisonnement. Une planification de transport blanc professionnel, d'explorer de nouveaux domaines de la planification des transports est l'exploration de données et la base de l'analyse.

- FIN -

attention Tsinghua - données Académie des sciences de Qingdao plate-forme publique micro-canal officiel " données d'envoi THU « Sisters et n ° » Les données envoyées THU « Pour plus de conférences et de bien-être contenu de qualité.

élection au Royaume-Uni qui peut triompher dans le sprint final « Double Twelve »?
Précédent
Exclusive | lire un article pour apprendre la théorie des probabilités: théorie bayésienne (avec liens)
Prochain
Allemagne du Nord main Rhine-Westphalia, Dongguan accélérer le rythme du développement de l'industrie de la biotechnologie
Page 102 PPT, DeepMind renforcer l'apprentissage des derniers développements, y compris les graphiques, les formules et le code
le chef Aujourd'hui, je | en direct à Chaozhou, comment pouvez-vous apprendre à ne pas faire cette nourriture de route?
Nouvelles Association Tsinghua Alumni Association a organisé un forum sur Tsinghua Alumni Sanchuang
souffle principal de faire 50 push-ups, refuse d'accepter de se battre! | Chat pendant un certain temps avant d'aller au lit
Yunnan Zhanyi: beau bonus campagne Parc
Exclusif | Image de la fonction de rotation et de remodelage dans Pandas
Les résultats du sondage: 77,27 pour cent des répondants ont exprimé les masses ne pas manger les animaux sauvages ne veulent pas essayer
Xiamen: bébé Meng apprendre lutte contre les incendies week-end heureux
Une nouvelle bayésienne Optimisation des CNNs 1 bit
Où sont tous les vétérans de l'IA qui fuient Baidu et Microsoft? Organigramme élite de l'IA chinoise derrière le monde
2887 jours! Abe est devenu premier ministre le plus ancien du Japon: scandale du poignet Fun Fair politique