[PYTHON] J'ai essayé l'algorithme de super résolution "PULSE" dans un environnement Windows

Essayez l'algorithme de super-résolution haute performance «PULSE: Suréchantillonnage photo auto-supervisé via l'exploration de l'espace latent de modèles génératifs» annoncé au CVPR de cette année. J'ai fait. C'est un "apprentissage avec auto-enseignant" populaire.

Points de "PULSE"

――Les points d'évaluation sont différents qu'avant --Comparez avec l'image réduite après la super-résolution, pas l'image après la super-résolution --Une super résolution est possible que les méthodes conventionnelles

Ce GIF est facile à saisir l'image. transformation.gif

Code source

Le code source est disponible sur Github. Cette fois, je vais l'utiliser tel quel.

Installation

J'ai installé les modules suivants sur Python 3.7.

--Installer à partir de l'interface graphique d'Anaconda Navigator - matplotlib - numpy - pandas - pillow - scipy - requests --Installer à partir de la ligne de commande - pytorch - torchvision --cudatoolkit (100.2 est utilisé cette fois)

Environnement

Préparez un dossier pour stocker les images que vous souhaitez super-résolution. Ici, appelons cela "entrée" pour le moment.

Mettez l'image que vous souhaitez en super-résolution. (Vous pouvez en mettre plus d'un) L'image a quelques restrictions.

Courir

> python run.py

Courir avec.

La gestion des erreurs

La plupart des images donnent l'erreur suivante:

Loading Synthesis Network
Optimizing
BEST (100) | L2: 0.0058 | GEOCROSS: 4.3057 | TOTAL: 0.7981 | time: 10.0 | it/s: 9.98 | batchsize: 1
Could not find a face that downscales correctly within epsilon

Dans l'exemple ci-dessus, la valeur minimale de L2 est "0,0058", mais le seuil par défaut est "0,002", et une erreur se produira s'il n'est pas plus proche que cela.

En guise de contre-mesure, modifiez la valeur de seuil avec l'argument "eps".

> python run.py -eps 0.005

Résultat d'exécution

Le résultat de l'exécution est enregistré dans le dossier "runs". L'image de sortie en super-résolution sera de 1 024 x 1 024 png. image.png image.png

Les préjugés étrangers sont terribles. .. .. De plus, cela semble inutile si ce n'est pas une face avant.

Impressions

C'est facile à faire, mais il y a beaucoup de choses que vous devez faire pour l'utiliser réellement.

Recommended Posts

J'ai essayé l'algorithme de super résolution "PULSE" dans un environnement Windows
J'ai essayé de créer un environnement avec WSL + Ubuntu + VS Code dans un environnement Windows
J'ai essayé de remplacer le disque dur Windows 10 par un SSD plus petit
J'ai essayé de créer un environnement serveur qui fonctionne sous Windows 10
J'ai essayé de mettre virtualenv dans l'environnement Cygwin
J'ai construit un environnement TensorFlow avec windows10
Démarrage de Node.js dans un environnement virtuel
J'ai essayé "Implémentation d'un algorithme génétique (GA) en python pour résoudre le problème du voyageur de commerce (TSP)"
J'ai essayé d'afficher la valeur d'altitude du DTM dans un graphique
J'ai essayé de créer une méthode de super résolution / SRCNN ①
Utilisez le dernier pip dans un environnement virtualenv
J'ai essayé de jouer à un jeu de frappe avec Python
J'ai essayé de simuler "Birthday Paradox" avec Python
J'ai essayé la méthode des moindres carrés en Python
(Apprentissage automatique) J'ai essayé de comprendre attentivement l'algorithme EM dans la distribution gaussienne mixte avec l'implémentation.
Définir une adresse IP fixe dans l'environnement Linux
J'ai essayé d'ajouter un module Python 3 en C
J'ai essayé de créer une méthode de super résolution / SRCNN ③
J'ai essayé de créer une méthode de super résolution / SRCNN ②
Ce à quoi j'étais accro lors de la création d'applications Web dans un environnement Windows
Je souhaite utiliser Python dans l'environnement de pyenv + pipenv sous Windows 10
J'ai essayé d'implémenter ce qui semble être un outil de snipper Windows avec Python
Instructions pour connecter Google Colab. À l'environnement d'exécution local dans un environnement Windows
virtualenvwrapper dans l'environnement Windows
J'ai essayé de représenter graphiquement les packages installés en Python
J'ai essayé d'implémenter un pseudo pachislot en Python
J'ai essayé d'exécuter TensorFlow dans l'environnement AWS Lambda: Préparation
J'ai essayé d'implémenter GA (algorithme génétique) en Python
[Go + Gin] J'ai essayé de créer un environnement Docker
J'ai remplacé le livre de recettes Windows PowerShell par un script python.
J'ai essayé d'implémenter un automate cellulaire unidimensionnel en Python
Quand j'ai essayé d'installer PIL et matplotlib dans un environnement virtualenv, j'en étais accro.
J'ai essayé d'exécuter PIFuHD sur Windows pour le moment
J'ai essayé de simuler l'optimisation des publicités à l'aide de l'algorithme Bandit
J'ai essayé "un programme qui supprime les déclarations en double en Python"
J'ai essayé de résumer le code souvent utilisé dans Pandas
J'ai essayé d'automatiser "un cœur même séparé" à l'aide d'un algorithme génétique en Python
J'ai essayé "Comment obtenir une méthode décorée en Python"
J'ai essayé d'illustrer le temps et le temps du langage C
J'ai essayé la bibliothèque changefinder!
J'ai essayé de programmer le test du chi carré en Python et Java.
J'ai créé une classe en Python et essayé de taper du canard
J'ai essayé de résumer les commandes souvent utilisées en entreprise
J'ai essayé d'implémenter la fonction d'envoi de courrier en Python
J'ai essayé un peu le comportement de la fonction zip
J'ai aussi essayé d'imiter la fonction monade et la monade d'état avec le générateur en Python
J'ai fait un chronomètre en utilisant tkinter avec python
J'ai écrit un doctest dans "J'ai essayé de simuler la probabilité d'un jeu de bingo avec Python"
J'ai essayé de changer le script python de 2.7.11 à 3.6.0 sur Windows10
J'ai essayé d'exécuter le système de reconnaissance vocale hors ligne Julius avec python dans l'environnement virtuel Docker
J'ai essayé d'automatiser la construction d'un environnement pratique à l'aide de l'API SoftLayer d'IBM Cloud
J'ai écrit un script qui divise l'image en deux
J'ai eu une erreur lorsque j'ai essayé de traiter luigi en parallèle dans Windows, mais la solution
J'ai eu une erreur SSL lorsque j'ai installé Anaconda dans un nouvel environnement, donc je l'ai résolu (Windows10, Anaconda3-2019.10)
J'ai essayé de trouver la différence entre A + = B et A = A + B en Python, alors notez
Une histoire qui n'a pas fonctionné lorsque j'ai essayé de me connecter avec le module de requêtes Python
Concurrence avec VS Code Créez un environnement Python pour les professionnels sous Windows