Was ist ESRGAN?
Enhanced Super-Resolution Generative Adversarial Networks (ESRGAN) ist eine fortschrittliche Art von Generative Adversarial Network (GAN) Modell, das zwei neuronale Netzwerke verwendet, die gegeneinander ein wettbewerbsorientiertes Spiel spielen. Die Hauptkomponenten dieses Systems sind der Generator und der Diskriminator. Der Generator erzeugt neue Bilder, während der Diskriminator die Authentizität dieser Bilder bewertet und bestimmt, ob sie echt oder generiert sind.
In der Anfangsphase erzeugt der Generator ein neues Bild, und anschließend bewertet der Diskriminator, ob dieses Bild echt oder ein Fabrikat ist. Während dieses Prozesses berechnen GANs zwei unterschiedliche Verlustwerte - einen für den Generator und einen für den Diskriminator. Diese Rückkopplungsschleife ermöglicht es dem Generator, aus seinen Fehlern zu lernen und seine erzeugten Bilder im Laufe der Zeit zu verbessern, während der Diskriminator seine Fähigkeit verbessert, echte von gefälschten Bildern zu unterscheiden.
ESRGAN nutzt ein vortrainiertes Modell, das VGG19-Gewichte verwendet und die Philosophie „Das Rad nicht neu erfinden“ betont - alles, was Sie brauchen, ist oft bereits verfügbar, um es effektiv zu nutzen.
ESRGAN für Ihren Zweck vorbereiten
Um ESRGAN effektiv zu nutzen, müssen Sie Ihre Datensätze vorbereiten. Für dieses Tutorial verwenden wir den Kaggle Datensatz namens CalebA, der aus über 200.000 Bildern von Prominentengesichtern besteht, die jeweils eine Auflösung von 218x178 und drei Farbkanaälen haben. Obwohl es möglich ist, den gesamten Datensatz zu nutzen, ist es ratsam, nur 10.000 Bilder hochzuladen, um Verarbeitungsverzögerungen zu vermeiden.
Notebook-Setup
ESRGAN benötigt eine GPU mit erheblichem Speicher, und wir empfehlen, Google Colab für diesen Zweck zu verwenden. Beginnen Sie damit, den Runtime-Typ anzupassen: Wählen Sie Runtime und dann Change Runtime Type und wählen Sie GPU als Hardwarebeschleuniger.
Klonen des Repositories
Als nächstes klonen Sie das Repository, das das implementierte ESRGAN enthält, und installieren die erforderlichen Bibliotheken, um loszulegen.
Daten laden
Um mit dem Laden Ihrer Daten fortzufahren, müssen Sie Ihr Google Drive mit Google Colab verbinden. Dies kann nahtlos mit dem Befehl erfolgen:
Um Dateien aus einem RAR-Archiv zu extrahieren, verwenden wir die patool Bibliothek und stellen sicher, dass das Ausgabeverzeichnis auf /content/PyTorch-GAN/data
gesetzt ist.
Ein Testdatensatz erstellen
Es ist wichtig, einen separaten Testdatensatz zu führen, der nicht während des Trainings des Modells einbezogen wurde. Um diesen zu erstellen, verschieben Sie einen ausgewählten Teil Ihrer Bilder aus dem Hauptdatensatzordner in einen neuen Ordner, der für Tests vorgesehen ist. Beginnen Sie damit, einen neuen Ordner namens test zu erstellen.
Wenn die Anzahl der Bilder überwältigend ist, können Sie auch Batch-Methoden verwenden, um sie effizient zu verwalten.
Das Modell trainieren
Jetzt ist es Zeit, das neuronale Netzwerk mit ESRGAN zu trainieren! Um das Training zu starten, verwenden Sie den folgenden Befehl mit den angegebenen Argumenten:
Verfügbare Trainingsargumente:
-
--dataset_name: Name Ihres Ordners, der sich in
/content/PyTorch-GAN/data
befindet - --n_epochs: standardmäßig 200 Epochen
- --hr_height: Höhe des Ausgabebildes (standardmäßig 256)
- --hr_width: Breite des Ausgabebildes (standardmäßig 256)
- --channels: Kanäle des Eingabebildes (standardmäßig 3)
- --checkpoint_interval: wird empfohlen, auf 250 für kleinere Datensätze zu setzen (standardmäßig 5000)
Details zu anderen Argumenten finden Sie HIER.
Die ausgegebenen Trainingsbilder werden im Ordner unter /content/PyTorch-GAN/implementations/esrgan/images/training
gespeichert.
Das Modell testen
Um das Modell zu evaluieren, benötigen Sie ein Bild aus Ihrem vordefinierten Testset. Führen Sie das Modell mit dem festgelegten Befehl aus:
Verfügbare Testargumente:
-
--image_path: Name Ihres Bildes (z.B.
/content/PyTorch-GAN/data/test/0.jpg
) -
--checkpoint_model: Pfad zu Ihrem trainierten Generator (z.B.
/content/PyTorch-GAN/implementations/esrgan/saved_models/generator_X.pth
; ersetzen Sie X durch die Nummer der letzten trainierten Epoche).
Das generierte Bild wird in /content/PyTorch-GAN/implementations/esrgan/images/outputs/
gespeichert.
Wenn Sie die generierten Bilder in Ihr Google Drive kopieren möchten, tun Sie dies einfach mit den entsprechenden Befehlen.
Zusammenfassung
Die Kraft von GAN-Modellen liegt in ihrer Fähigkeit, neuronale Netzwerke zu verwenden, die sich kontinuierlich gegenseitig verfeinern, um eine schrittweise Verbesserung zu erreichen. ESRGAN, wie in diesem Tutorial gezeigt, konzentriert sich speziell auf die Verbesserung von Bildern. Obwohl das Modell leistungsstark ist, erfordert es erhebliche Rechenressourcen. Die anfänglichen Ergebnisse nach 5 Epochen mit 10.000 Trainingsbildern sind möglicherweise nicht perfekt; jedoch werden Sie bei weiterer Durchführung von Epochen bemerkenswerte Verbesserungen beobachten!
Erforschen Sie die faszinierende Welt der KI-Anwendungen, die aus Hackathons hervorgehen, zur Inspiration, und genießen Sie diese fesselnde Reise mit ESRGAN!
Bleiben Sie dran für weitere spannende KI-Tutorials!
Vielen Dank! - Adrian Banachowicz, Data Science Praktikant bei New Native.
Hinterlasse einen Kommentar
Alle Kommentare werden vor der Veröffentlichung geprüft.
Diese Website ist durch hCaptcha geschützt und es gelten die allgemeinen Geschäftsbedingungen und Datenschutzbestimmungen von hCaptcha.