[PYTHON] J'ai essayé de créer une méthode de super résolution / SRCNN ②

Aperçu

Suite de la session précédente. C'est part2. Cliquez ici pour le lien précédent (part1) → https://t.co/CpVUj7CiHo?amp=1 Dernière fois: J'ai essayé de créer une méthode de super-résolution / SRCNN ① Suite: J'ai essayé de créer une méthode de super résolution / SRCNN ③

table des matières

1.Tout d'abord 2. Environnement PC 3. Description du code 4. À la fin

1.Tout d'abord

La super-résolution est une technologie qui améliore la résolution des images basse résolution et des images animées, et le SRCNN utilise l'apprentissage en profondeur pour mesurer les résultats avec une plus grande précision que les méthodes conventionnelles. C'est la méthode qui a été faite. (Deuxième fois)

Le code complet est également publié sur GitHub, veuillez donc vérifier ici. https://github.com/morisumori/srcnn_keras

2. Environnement PC

cpu : intel corei7 8th Gen gpu : NVIDIA GeForce RTX 1080ti os : ubuntu 20.04

3. Description du code

Comme vous pouvez le voir sur GitHub, il se compose principalement de trois codes. ・ Datacreate.py → Programme de génération de jeux de données ・ Model.py → Programme SRCNN ・ Main.py → Programme d'exécution J'ai créé une fonction avec datacreate.py et model.py et l'ai exécutée avec main.py.

__ Cette fois, je vais expliquer model.py. __

Description de model.py

model.py



import tensorflow as tf
from tensorflow.python.keras.models import Model
from tensorflow.python.keras.layers import Conv2D, Input

def SRCNN():
    input_shape = Input((None, None, 1))

    conv2d_0 = Conv2D(filters = 64,
                        kernel_size = (9, 9),
                        padding = "same",
                        activation = "relu",
                        )(input_shape)
    conv2d_1 = Conv2D(filters = 32,
                        kernel_size = (1, 1),
                        padding = "same",
                        activation = "relu",
                        )(conv2d_0)
    conv2d_2 = Conv2D(filters = 1,
                        kernel_size = (5, 5),
                        padding = "same",
                        )(conv2d_1)

    model = Model(inputs = input_shape, outputs = [conv2d_2])

    model.summary()

    return model

Comme prévu, c'est court.

En passant, quand je regarde l'article du SRCNN, j'écris qu'il a une telle structure. image.png Il a un total de 3 couches. Veuillez lire l'article pour les détails du modèle. Lien → https://arxiv.org/pdf/1501.00092.pdf

Dans le code, le nombre de filtres, la taille du noyau, etc. décrits dans l'article sont appliqués tels quels, il semble donc que la copie soit correcte. Je construis avec des keras.

Je n'explique pas vraiment le modèle ...? Tout est dans la couche Convolution. Pour plus d'informations, consultez la documentation keras.

4. À la fin

Cette fois, j'ai expliqué le modèle. Le dernier est la mise en œuvre. Dernière fois: J'ai essayé de créer une méthode de super-résolution / SRCNN ① Suite: Méthode de super résolution / SRCNN ③

Si vous avez des questions ou des commentaires, n'hésitez pas à nous contacter!

Recommended Posts

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 ②
J'ai essayé de créer une méthode de super résolution / ESPCN
[Go + Gin] J'ai essayé de créer un environnement Docker
J'ai essayé "Comment obtenir une méthode décorée en Python"
J'ai essayé de créer un linebot (implémentation)
J'ai essayé de créer un linebot (préparation)
Je veux créer un environnement Python
J'ai créé une API Web
J'ai essayé de déboguer.
J'ai essayé de créer un environnement de développement Mac Python avec pythonz + direnv
J'ai créé un jeu ○ ✕ avec TensorFlow
J'ai essayé de faire un "putain de gros convertisseur de littérature"
J'ai essayé d'implémenter un pseudo pachislot en Python
Je souhaite créer facilement un environnement de développement basé sur un modèle
J'ai essayé de créer un pipeline ML avec Cloud Composer
Le débutant de la CTF a tenté de créer un serveur problématique (Web) [Problème]
J'ai essayé de simuler la méthode de calcul de la moyenne des coûts en dollars
J'ai ajouté une fonction à CPython (construction et compréhension de la structure)
J'ai essayé de dessiner un diagramme de configuration à l'aide de diagrammes
J'ai essayé d'apprendre PredNet
J'ai essayé d'organiser SVM.
J'ai essayé d'implémenter PCANet
J'ai essayé de réintroduire Linux
J'ai essayé de présenter Pylint
J'ai essayé de résumer SparseMatrix
jupyter je l'ai touché
J'ai essayé d'implémenter StarGAN (1)
J'ai essayé de créer un environnement avec WSL + Ubuntu + VS Code dans un environnement Windows
J'ai essayé de créer une classe pour rechercher des fichiers avec la méthode Glob de Python dans VBA
J'ai essayé de mettre en œuvre le modèle de base du réseau neuronal récurrent
J'ai essayé l'algorithme de super résolution "PULSE" dans un environnement Windows
J'ai essayé d'implémenter un automate cellulaire unidimensionnel en Python
J'ai essayé de créer automatiquement un rapport avec la chaîne de Markov
[Chaîne de Markov] J'ai essayé de lire les citations en Python.
J'ai essayé de commencer avec Hy ・ Définir une classe
J'ai essayé d'automatiser [une certaine tâche] à l'aide d'une tarte à la râpe
J'ai trébuché lorsque j'ai essayé d'installer Basemap, donc un mémorandum
J'ai essayé de trier une colonne FizzBuzz aléatoire avec un tri à bulles.
J'ai essayé d'écrire dans un modèle de langage profondément appris
J'ai créé un éditeur de texte simple en utilisant PyQt
J'ai essayé de créer un service qui vend des données apprises par machine à une vitesse explosive avec Docker
J'ai essayé d'implémenter Deep VQE
J'ai essayé de créer l'API Quip
J'ai essayé de toucher Python (installation)
J'ai essayé de mettre en place une validation contradictoire
J'ai essayé d'expliquer l'ensemble de données de Pytorch
J'ai essayé l'authentification vocale Watson (Speech to Text)
J'ai touché l'API de Tesla
J'ai essayé de m'organiser à propos de MCMC.
J'ai essayé d'implémenter Realness GAN
J'ai essayé de déplacer le ballon
J'ai essayé d'estimer la section.
[5e] J'ai essayé de créer un certain outil de type Authenticator avec python
J'ai essayé de créer un environnement serveur qui fonctionne sous Windows 10