Paysage † Conversion du monde différent † par IA

Introduction († Conversion d'horreur †)

Avant la conversion Après la conversion
tenmonkan_A.png tenmonkan_B.png

Avez-vous compris?

Cela utilise le GAN (Hostile Generation Network) pour donner à la photo ** des fonctionnalités "d'horreur" ** et ** convertir **.

Laissons de côté le principe et voyons d'abord les possibilités du GAN!

Conversion saisonnière, conversion aurore, conversion feux d'artifice

Avant la conversion Après la conversion
epoch100_real_A.png epoch100_fake_B.png
IMG_20161001_220428_real.png auroraB.png
epoch027_real_A.png epoch027_fake_B.png
IMG_20161001_220428_real.png IMG_20161001_220428_fake.png

Ceux-ci sont associés à "Summer and Spring", "Clouds and Aurora", "Sky and Fireworks", etc. en utilisant CycleGAN [1] ** Fonctionnalités échangées * Nous faisons *. Cela ne change pas seulement la couleur, mais la conversion se fait en gardant le prototype comme "traduction (conversion) d'image".

Si vous souhaitez en savoir plus sur le principe de CycleGAN, veuillez vous référer à cet article. Merci beaucoup pour mon aide.

Paysage † Différentes transformations du monde †

Cette fois, j'ai transformé cette technologie en une photo ** "conversion de paysage" ** ... Non! !!

Je l'ai utilisé pour ** "† Different World Conversion †" **! !!

Jetez un œil aux quatre mois de lutte et aux résultats.

† Conversion fantastique †

Le premier est † la conversion de fantaisie †. J'ai créé et appris un jeu de données avec une paire de "paysage (Kagoshima)" et "fantastique / fantastique". Après tout, l'expression abstraite était difficile et il était très difficile de sélectionner des images.

Avant la conversion Après la conversion
kagoshimaA.png kagoshimaB.png
epoch100_real_A_real.png epoch100_real_A_fake.png
BP19-113432D_real.png BP19-113432D_fake.png

sortit de! Le paysage déjà magnifique de Kagoshima devient encore plus ** fantastique et mystérieux **! ?? Le grain de lumière est-il "juste du bruit" ...? Non, non, ça ressemble à ** "une fée vole" ** à mes yeux. Dans l'ensemble ** la couleur bleue est très belle **.

† Conversion d'horreur †

Vient ensuite la † conversion d'horreur † introduite au début.

** * * * Attention à la navigation * * * * *.

Avant la conversion Après la conversion
tenmonkan_A.png tenmonkan_B.png
epoch111_real_a.png epoch111_fake_b.png
epoch171_real_a_360.png epoch171_real_a_360_fake(1).png

S'il vous plaît voir ce paysage urbain ...! !! ** Avez-vous le courage d'intervenir? ** ** Je veux l'utiliser comme texture pour les jeux d'horreur tel quel.

Ici, j'ai créé un jeu de données avec une paire de «paysage urbain» et de «vidéo d'horreur» et j'ai appris. En d'autres termes, j'ai continué à montrer les écrans de jeu de "SIREN" et "Silent Hill" à l'IA apprenante. C'est la raison pour laquelle le paysage urbain est ** rouge-noir ** dans l'ensemble (j'en ai essayé plusieurs, mais la rivière n'est pas devenue rouge. Malheureusement).

† Conversion de la ville sous-marine †

Vient ensuite † Undersea City-Atlantis-Transformation †. ** "Si vous mélangez les caractéristiques de" sous-marin "avec" paysage ", cela deviendra une" ville sous-marine "? 』** J'ai créé un ensemble de données et appris de l'idée simple.

Avant la conversion Après la conversion
atlantisA.png atlantisB.png
epoch126_real_A.png epoch126_fake_B.png
kutsu_180523sogi02_real.png kutsu_180523sogi02_fake.png

C'est merveilleux ...! ** L'entrée du château de Ryugu ** …… Pouvez-vous dire ça? L'arbre derrière est comme un récif de corail. ** Dieu de l'eau ... Merci. ** ** † Undersea City-Atlantis-Transformation † recueille non seulement des images «sous-marines», mais aussi des images de «plongée». J'ai pu créer un excellent jeu de données.

† Conversion des montagnes de glace †

L 'autre jour, il y avait une campagne pour "décaper le mont Fuji et Sakurajima dans la glace" en tant que projet spécial d'Anna Snow 2. ** Et si je fais la même chose avec GAN? ** ** J'ai créé un jeu de données avec une paire de "Sakurajima" et "Hyozan" et j'ai appris!

Avant la conversion Après la conversion
epoch055_real_A.png epoch055_fake_B.png
epoch085_real_A.png epoch085_fake_B.png
epoch086_real_A.png epoch086_fake_B.png

** Non, c'est exagéré. ** ** Quand je suis allé voir les résultats de la conversion avec excitation, j'avais tellement peur que j'ai pleuré parce que c'était pendant la période glaciaire.

Est-ce la rébellion de l'IA ...? Si nous avons créé le jeu de données avec plus de soin et appris la forme de la montagne, le résultat n'aurait peut-être pas été aussi terrifiant. ** † Conversion glaciaire † ** Si vous le rouvrez, ce sera une perfection parfaite.

À propos de la méthode d'apprentissage

Collection d'images pour l'ensemble de données d'entraînement

CycleGAN est un ** apprentissage non supervisé **. Aucun étiquetage n'est requis. L'avantage de CycleGAN est que même si l'arrière-plan et la composition sont différents, vous pouvez bien apprendre si vous avez le même numéro. Dans cette conversion, les images sont collectées environ ** 1000 chacune ** pour créer un ensemble de données. Les 1000 rues habituelles sont sous forme de "train A", et les 1000 rues d'un autre monde sont sous la forme de "train B".

Cela dit, je ne suis pas un ** habitant d'un autre monde **, donc je n'ai pas 1000 ** photos d'un autre monde ** dans mon appareil photo ...

Par conséquent, j'ai principalement créé un ensemble de données d'entraînement en utilisant les deux méthodes suivantes.

① Collectez des images par recherche d'images Google

La bibliothèque python "icrawler" est utile. Pour plus de détails, consultez Cet article. Merci pour toute l'aide que vous m'avez apportée.

J'ai recherché des images avec des mots-clés tels que "Aurora" et créé un ensemble de données.


② Prenez une vidéo et découpez l'image en unités d'image

Avec la méthode (1), les données de bruit sont trop mélangées en fonction du mot recherché, ce qui rend très difficile la sélection des images d'apprentissage. Dans un tel cas, il est plus facile d'imaginer la vidéo qui est l'image de conversion de style avec OpenCV etc. en unités d'image. Pour plus de détails, consultez Cet article. Merci pour toute l'aide que vous m'avez apportée.

Par exemple, dans "Horror Conversion", j'ai enregistré les scènes les plus effrayantes du jeu d'horreur pendant environ 30 minutes au total et découpé les images autour de 1000 feuilles.

Apprenez avec CycleGAN

Il apprend enfin avec Cycle GAN. Il est bon de le faire tourner sur votre propre PC, mais ** Google Colabratory ** est incroyable. C'est un service qui vous permet d'utiliser Jupyter Notebook dans le cloud. Pour plus de détails, consultez Cet article. Merci pour toute l'aide que vous m'avez apportée.

En gros, c'est un IDE cloud qui ** prête un GPU gratuitement **. C'est incroyable. Si vous avez de la chance, vous pouvez emprunter gratuitement Tesla P100 (GPU d'environ 900 000 yens). C'est incroyable. Puisqu'il s'agit d'un IDE cloud, cela ne dépend pas de l'emplacement ou des spécifications de votre propre machine. Tout ce que vous pouvez étudier en arrière-plan. C'est incroyable. J'étais trop à l'aise pour charger Google Drive. J'adore Google.

Code source

https://colab.research.google.com/drive/1KmwC-eOU3Z02ZiCmgFv-rDG4HxzK-8zG ↑ Voici les notes que j'ai réellement utilisées pour apprendre ** † Different World Conversion † **. La version Pytorch de CycleGAN [2] est implémentée sur Google Colabratory. Je ne suis toujours pas certain de mes connaissances, mais j'espère que cela vous sera utile car j'ai un commentaire pour moi-même! Tout d'abord, veuillez provenir de la conversion standard de style "cheval → shimauma" de l'échantillon.

Version de l'application Web

Je l'écrirai bientôt ngrok est incroyable!

Les références

[1]Jun-Yan Zhu, Taesung Park, Phillip Isola, Alexei A. Efros, Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, arXiv preprint arxiv:1703.10593, 2017.

[2]@inproceedings{CycleGAN2017, title={Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networkss}, author={Zhu, Jun-Yan and Park, Taesung and Isola, Phillip and Efros, Alexei A}, booktitle={Computer Vision (ICCV), 2017 IEEE International Conference on}, year={2017} } @inproceedings{isola2017image, title={Image-to-Image Translation with Conditional Adversarial Networks}, author={Isola, Phillip and Zhu, Jun-Yan and Zhou, Tinghui and Efros, Alexei A}, booktitle={Computer Vision and Pattern Recognition (CVPR), 2017 IEEE Conference on}, year={2017} }

Recommended Posts

Paysage † Conversion du monde différent † par IA
Une autre méthode de conversion de style utilisant le réseau neuronal convolutif
Paysage † Conversion du monde différent † par IA
[Chainer] Classification des documents par réseau de neurones convolutifs