Allgemeine Einführung
Bringing Old Photos Back to Life" ist ein Open-Source-Projekt, das von einem Team von Microsoft-Forschern entwickelt wurde und sich auf die Restaurierung alter Fotos mithilfe von KI-Technologie konzentriert. Es basiert auf einem Deep-Learning-Ansatz, der schwerwiegende Probleme bei Fotos wie Kratzer, Unschärfe und Verblassen beheben kann, um historische Bilder wieder zum Leben zu erwecken. Das Projekt wurde als mündliche Präsentation auf der CVPR 2020 (Conference on Computer Vision and Pattern Recognition) vorgestellt und fand große Beachtung. Nutzer können über GitHub auf den Code und die vortrainierten Modelle zugreifen, die für die Forschung oder den persönlichen Bedarf an Fotorestauration geeignet sind. Das Projekt bietet nicht nur technische Implementierungen, sondern auch eine ausführliche Dokumentation und Beispiele für Entwickler und Bastler.
Online-Erfahrung unter https://colab.research.google.com/drive/1NEm6AsybIiC5TwTU_4DqDkQO0nFRB-uA?usp=sharing
Funktionsliste
- Verbesserung der Gesamtqualität alter FotosKI-Algorithmen verbessern die Klarheit, den Kontrast und die Farben Ihrer Fotos.
- Automatische KratzerreparaturErkennt und repariert physische Kratzer auf Fotos und stellt die ursprünglichen Bilddetails wieder her.
- Verbesserung des GesichtsbereichsFeinabstimmung für Gesichtsbereiche, um die Klarheit der Gesichtszüge zu verbessern.
- Unterstützung für hohe AuflösungUnterstützt die Verarbeitung von Fotos mit höherer Auflösung für professionelle Restaurierungszwecke.
- Bedienung der BenutzeroberflächeBietet eine grafische Benutzeroberfläche, um das Hochladen und Wiederherstellen von Fotos zu vereinfachen.
- Maßgeschneiderte SchulungsmodelleErmöglicht es den Nutzern, bei Bedarf bestimmte Datensätze zu trainieren und die anwendbaren Szenarien zu erweitern.
Hilfe verwenden
Ablauf der Installation
Um "Bringing Old Photos Back to Life" zu verwenden, müssen Sie die Konfiguration der Umgebung und die Installation des Codes abschließen. Nachfolgend finden Sie die detaillierten Schritte für das Ubuntu-System (Windows-Benutzer müssen ihre Umgebung entsprechend anpassen):
1. die Umwelt vorbereiten
- SystemanforderungenUbuntu (empfohlen) mit Nvidia GPU und CUDA-Unterstützung.
- Python-VersionStellen Sie sicher, dass Python 3.6 oder höher installiert ist.
- Abhängige Installation::
- Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein, um die erforderlichen Bibliotheken zu installieren:
pip install torch torchvision numpy opencv-python PySimpleGUI
- Wenn GPU-Unterstützung erforderlich ist, stellen Sie sicher, dass CUDA und die entsprechende Version von PyTorch installiert sind.
- Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein, um die erforderlichen Bibliotheken zu installieren:
2. das Herunterladen von Code und Modellen
- Klon-Lager::
git clone https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life.git cd Bringing-Old-Photos-Back-to-Life
- Modul für synchronisierte Chargenstandardisierung::
- gehen in
Face_Enhancement/models/networks/
Katalog:cd Face_Enhancement/models/networks/ git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch cp -rf Synchronised-BatchNorm-PyTorch/sync_batchnorm . / cd ... /... /... /
- gehen in
Global/Erkennung_Modelle/
Wiederholen Sie den Vorgang für den Katalog:cd Global/detection_models/ git clone https://github.com/vacancy/Synchronized-BatchNorm-PyTorch cp -rf Synchronised-BatchNorm-PyTorch/sync_batchnorm . / cd ... /.. /
- gehen in
- Download des vortrainierten Modells::
- gehen in
Face_Enhancement/
Katalog, download Modelle zur Gesichtsverbesserung:cd Face_Enhancement/ wget https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/face_checkpoints.zip entpacken Sie face_checkpoints.zip cd ... /
- gehen in
Global/
Katalog, Download Global Repair Model:cd Global/ wget https://github.com/microsoft/Bringing-Old-Photos-Back-to-Life/releases/download/v1.0/global_checkpoints.zip entpacken Sie global_checkpoints.zip cd ... /
- gehen in
- Modelle zur Gesichtserkennung::
- gehen in
Gesicht_Erkennung/
Katalog, laden Sie die Testdatei herunter:cd Face_Detection/ wget http://dlib.net/files/shape_predictor_68_face_landmarks.dat.bz2 bzip2 -d shape_predictor_68_face_landmarks.dat.bz2 cd . /
- gehen in
3. testweise Installation
- Führen Sie den Beispielbefehl aus, um sicherzustellen, dass die Umgebung korrekt ist:
python run.py --input_folder . /test_images --output_folder . /Ausgabe --GPU 0
- Wenn die Wiederherstellung erfolgreich war, wird das Foto im Ordner
. /output/final_output/
Katalog.
Verwendung
Bedienung über die Befehlszeile
- Vorbereiten des Eingabeordners: Legen Sie die alten Fotos, die wiederhergestellt werden sollen, in einen Ordner (z.B.
test_images/
). - Führen Sie den Reparaturbefehl aus::
- Keine Reparatur von Kratzern:
python run.py --input_ordner /pfad/zu/test_images --output_ordner /pfad/zu/output --GPU 0
- Enthält die Reparatur von Kratzern:
python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0 --with_scratch
- Keine Reparatur von Kratzern:
- Ergebnisse anzeigenDie wiederhergestellten Fotos werden automatisch in dem angegebenen Ausgabeordner gespeichert (z. B.
/pfad/zur/ausgabe/endgültige_ausgabe/
).
Bedienung über GUI-Schnittstelle
- Starten der GUI::
python GUI.py
- Verfahren::
- Klicken Sie auf die Schaltfläche "Foto auswählen", um das alte Foto hochzuladen, das wiederhergestellt werden soll.
- Klicken Sie auf die Schaltfläche "Foto ändern" und warten Sie, bis der Vorgang abgeschlossen ist (die Dauer hängt von der Größe des Fotos und der Leistung der Hardware ab).
- Wenn die Verarbeitung abgeschlossen ist, werden die Ergebnisse auf der Schnittstelle angezeigt und in der Datei
. /Ausgabe/
Mappe. - Klicken Sie auf "Fenster verlassen", um das Programm zu schließen.
Ausgewählte Funktionen Bedienung Ablauf
1. die Reparatur von Kratzern
- Anwendbare SzenarienEs gibt offensichtliche physische Kratzer auf den Fotos.
- Arbeitsweise::
- Fügen Sie in der Befehlszeile Folgendes hinzu
--mit_Kratzer
oder markieren Sie die entsprechende Option in der grafischen Benutzeroberfläche (falls unterstützt). - Das System erkennt den zerkratzten Bereich automatisch und repariert ihn, der Vorgang kann etwas länger dauern.
- Überprüfen Sie die Ausgabe, der zerkratzte Teil sollte gleichmäßig gefüllt sein.
- Fügen Sie in der Befehlszeile Folgendes hinzu
2. die Verbesserung des Gesichts
- Anwendbare Szenarien: Unscharfe Gesichter oder fehlende Details in Fotos.
- Arbeitsweise::
- sicher
Face_Enhancement/
Die Modelle im Verzeichnis werden korrekt geladen. - Während des Betriebs erkennt das System automatisch den Gesichtsbereich und nimmt eine Feinabstimmung vor.
- Die Details von Gesichtern (z. B. Augen, Mundwinkel) werden auf dem Ausgabefoto deutlicher dargestellt.
- sicher
3. hochauflösende Verarbeitung
- Anwendbare SzenarienMüssen gescannte Fotos mit hoher Auflösung korrigieren.
- Arbeitsweise::
- Fügen Sie in der Befehlszeile Folgendes hinzu
--HR
Parameter:python run.py --input_folder /path/to/test_images --output_folder /path/to/output --GPU 0 --HR
- Hinweis: Da das Modell standardmäßig mit einer Auflösung von 256x256 trainiert wird, können höhere Auflösungen mehr Rechenressourcen erfordern.
- Fügen Sie in der Befehlszeile Folgendes hinzu
caveat
- Leitwegproblem: Es wird empfohlen, absolute Pfade zu verwenden (z.B.
/home/user/test_images
), um Fehler zu vermeiden. - LeistungsoptimierungDas Projekt wurde nicht für die Arbeitsgeschwindigkeit optimiert, und große Fotos können langsam verarbeitet werden.
- Auflösung GrenzwerteDie besten Ergebnisse werden bei einer Auflösung von 256x256 Pixeln erzielt, größere Auflösungen müssen eventuell gechunked werden.
Mit den oben genannten Schritten können Benutzer leicht mit der Wiederherstellung alter Fotos beginnen, sei es für persönliche Erinnerungen oder zu Forschungszwecken, und zufriedenstellende Ergebnisse erzielen.