Intelligence artificielle

Transfert de style neuronal utilisant le modèle VGG

Transfert de style neuronal utilisant le modèle VGG


Une technique pour transformer une image numérique qui adopte le style d'une image différente

introduction:

Avant de commencer, allons sur ce site Web pour trouver l'inspiration. Sur le site Web, nous choisissons une photo de l'ordinateur local (supposons l'image nommée Joey.jpg). Appelons cette image de contenu. Ensuite, nous choisissons une autre image, disons l'image de style nommée style1.jpg à partir de l'ordinateur local. Ce site Web produit une image mixte qui préserve les contours de l'image de contenu et ajoute la texture et le motif de couleur de l'image de style à l'image de contenu. Voici le résultat.

Gauche: Image originale, Droite: Image de style, Milieu: Image mixte

La description:

Ceci est appelé Neural Style Transfer (NST) et se fait en utilisant Deep Learning, Convolution Neural Network (CNN) pour être spécifique. Je suppose que vous connaissez CNN. Sinon, je recommanderais fortement le cours d'Andrew Ng sur CNN.

Comprenons les bases du NST à l'aide de l'organigramme suivant. Il montre l'algorithme de transfert de style qui a 13 couches convolutives (seules quelques-unes sont affichées pour plus de simplicité). Deux images sont entrées dans le réseau neuronal, à savoir une image de contenu et une image de style. Notre motif ici est de générer une image mixte qui a les contours de l'image et de la texture du contenu, le motif de couleur de l'image de style. Pour ce faire, nous optimisons plusieurs fonctions de perte.

La fonction de perte pour l'image de contenu minimise la différence des fonctionnalités activées pour l'image de contenu correspondant à l'image mixte (qui n'est initialement qu'une image de bruit qui s'améliore progressivement) sur une ou plusieurs couches. Cela préserve le contour de l'image de contenu à l'image mixte résultante.

Tandis que la fonction de perte pour l'image de style minimise la différence entre les soi-disant matrices de Gram entre l'image de style et l'image mixte. Cela se fait sur une ou plusieurs couches. L'utilisation de la matrice de Gram permet d'identifier les fonctionnalités activées simultanément sur une couche donnée. Ensuite, nous imitons le même comportement pour l'appliquer à l'image mixte.

En utilisant TensorFlow, nous mettons à jour le gradient de ces fonctions combinées de perte de contenu et d'image de style à un niveau satisfaisant. Certains calculs de matrices de Gram, stockage de valeurs intermédiaires pour l'efficacité, fonction de perte pour le débruitage des images, normalisation de la fonction de perte combinée de sorte que les deux échelles d'image l'une par rapport à l'autre.

Codage :

Maintenant que nous avons compris l'algorithme, commençons à coder. Le papier d'origine utilise le modèle VGG-19. Mais ici, nous allons utiliser le modèle VGG-16 qui est disponible publiquement. Téléchargez le modèle VGG-16 à partir d'ici (n'oubliez pas qu'il s'agit d'un fichier de ~ 550 Mo).

Dans le répertoire racine, créez un nouveau dossier en le nommant vgg16 et collez le fichier ci-dessus et vgg.py à partir du lien Github. De plus, nous avons modifié le fichier vgg16.py en commentant peut-être_télécharger fonction (puisque vous avez déjà téléchargé le fichier vgg16.tfmodel)

Importons d'abord les bibliothèques. Importez ensuite le modèle vgg16.

Afficher plus

SupportIvy

SupportIvy.com : Un lieu pour partager le savoir et mieux comprendre le monde. Meilleure plate-forme de support gratuit pour vous, Documentation &Tutoriels par les experts.

Articles similaires

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bouton retour en haut de la page
Fermer