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 ③
1.Tout d'abord 2. Environnement PC 3. Description du code 4. À la fin
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
cpu : intel corei7 8th Gen gpu : NVIDIA GeForce RTX 1080ti os : ubuntu 20.04
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. __
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. 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.
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!