[PYTHON] Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen

Überblick

Fortsetzung der vorherigen Sitzung. Es ist Teil2. Klicken Sie hier für den vorherigen Link (Teil 1) → https://t.co/CpVUj7CiHo?amp=1 Letztes Mal: Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen Fortsetzung: Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen

Inhaltsverzeichnis

  1. Zuallererst
  2. PC-Umgebung
  3. Codebeschreibung
  4. Am Ende

1. Zuallererst

Super-Resolution ist eine Technologie, die die Auflösung von Bildern mit niedriger Auflösung und bewegten Bildern verbessert. SRCNN verwendet Deep Learning, um Ergebnisse mit höherer Genauigkeit als herkömmliche Methoden zu messen. Es ist die Methode, die gemacht wurde. (Zweites Mal)

Der vollständige Code ist auch auf GitHub veröffentlicht. Überprüfen Sie ihn daher dort. https://github.com/morisumori/srcnn_keras

2. PC-Umgebung

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

3. Codebeschreibung

Wie Sie aus GitHub sehen können, besteht es hauptsächlich aus drei Codes. ・ Datacreate.py → Programm zur Datensatzgenerierung ・ Model.py → SRCNN-Programm ・ Main.py → Ausführungsprogramm Ich habe eine Funktion mit datacreate.py und model.py erstellt und mit main.py ausgeführt.

__ Dieses Mal werde ich model.py erklären. __ __

Beschreibung von 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

Wie erwartet ist es kurz.

Wenn ich mir das SRCNN-Papier anschaue, schreibe ich übrigens, dass es eine solche Struktur hat. image.png Es hat insgesamt 3 Schichten. Bitte lesen Sie das Papier für die Details des Modells. Link → https://arxiv.org/pdf/1501.00092.pdf

Im Code werden die Anzahl der Filter, die Kernelgröße usw., die im Dokument beschrieben werden, so angewendet, wie sie sind. Es scheint also, dass das Kopieren in Ordnung ist. Ich baue mit Keras.

Ich erkläre nicht wirklich über Modell ...? Es ist alles in der Faltungsschicht. Weitere Informationen finden Sie unter Keras-Dokumentation.

4. Am Ende

Diesmal habe ich das Modell erklärt. Das letzte ist die Implementierung. Letztes Mal: Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen Fortsetzung: Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen

Wenn Sie Fragen oder Kommentare haben, zögern Sie bitte nicht, uns zu kontaktieren!

Recommended Posts

Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / SRCNN build zu erstellen
Ich habe versucht, eine Super-Resolution-Methode / ESPCN zu erstellen
[Go + Gin] Ich habe versucht, eine Docker-Umgebung zu erstellen
Ich habe versucht "Wie man eine Methode in Python dekoriert"
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
Ich möchte eine Python-Umgebung erstellen
Ich habe eine Web-API erstellt
Ich habe versucht zu debuggen.
Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe versucht, einen "verdammt großen Literaturkonverter" zu machen.
Ich habe versucht, einen Pseudo-Pachislot in Python zu implementieren
Ich möchte einfach eine modellbasierte Entwicklungsumgebung erstellen
Ich habe versucht, eine ML-Pipeline mit Cloud Composer zu erstellen
CTF-Anfänger haben versucht, einen Problemserver (Web) zu erstellen [Problem]
Ich habe versucht, die Methode zur Mittelung der Dollarkosten zu simulieren
Ich habe CPython eine Funktion hinzugefügt (Build & Structure Grasp)
Ich habe versucht, ein Konfigurationsdiagramm mit Diagrammen zu zeichnen
Ich habe versucht, PredNet zu lernen
Ich habe versucht, SVM zu organisieren.
Ich habe versucht, PCANet zu implementieren
Ich habe versucht, Linux wieder einzuführen
Ich habe versucht, Pylint vorzustellen
Ich habe versucht, SparseMatrix zusammenzufassen
jupyter ich habe es berührt
Ich habe versucht, StarGAN (1) zu implementieren.
Ich habe versucht, eine Umgebung mit WSL + Ubuntu + VS-Code in einer Windows-Umgebung zu erstellen
Ich habe versucht, eine Klasse für die Suche nach Dateien mit der Glob-Methode von Python in VBA zu erstellen
Ich habe versucht, das grundlegende Modell des wiederkehrenden neuronalen Netzwerks zu implementieren
Ich habe den Super-Resolution-Algorithmus "PULSE" in einer Windows-Umgebung ausprobiert
Ich habe versucht, einen eindimensionalen Zellautomaten in Python zu implementieren
Ich habe versucht, automatisch einen Bericht mit der Markov-Kette zu erstellen
[Markov-Kette] Ich habe versucht, die Zitate in Python einzulesen.
Ich habe versucht, mit Hy ・ Define a class zu beginnen
Ich habe versucht, [eine bestimmte Aufgabe] mit einem Raspeltorte zu automatisieren
Ich bin gestolpert, als ich versucht habe, Basemap zu installieren, also ein Memorandum
Ich habe versucht, eine zufällige FizzBuzz-Spalte mit Blasensortierung zu sortieren.
Ich habe versucht, in einem tief erlernten Sprachmodell zu schreiben
Ich habe mit PyQt einen einfachen Texteditor erstellt
Ich habe versucht, mit Docker einen Dienst aufzubauen, der maschinell erlernte Daten mit explosiver Geschwindigkeit verkauft
Ich habe versucht, Deep VQE zu implementieren
Ich habe versucht, eine Quip-API zu erstellen
Ich habe versucht, Python zu berühren (Installation)
Ich habe versucht, eine kontroverse Validierung zu implementieren
Ich habe versucht, Pytorchs Datensatz zu erklären
Ich habe Watson Voice Authentication (Speech to Text) ausprobiert.
Ich habe Teslas API berührt
Ich habe versucht, mich über MCMC zu organisieren.
Ich habe versucht, Realness GAN zu implementieren
Ich habe versucht, den Ball zu bewegen
Ich habe versucht, den Abschnitt zu schätzen.
[5.] Ich habe versucht, mit Python ein bestimmtes Authenticator-ähnliches Tool zu erstellen
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird