Uformer: Ein allgemeiner U-förmiger Transformator für die Bildwiederherstellung (CVPR 2022)
Zhendong Wang, Xiaodong Cun, Jianmin Bao, Wengang Zhou, Jianzhuang Liu, Houqiang Li
Papierverbindung: [Arxiv] [CVPR]
Aktualisieren:
- 2024.10.24 Fix abgelaufene Links.
- 2022.07.06 Laden Sie neue Codes und Modelle für unseren Uformer hoch.
- 2022.04.09 Hochladen Ergebnisse von Uformer bei Denoising (SIDD, DND), Motion DeBlurring (GoPro, Hide, Realblur-J/-R) und Defocus Deblurring (DPDD).
- 2022.03.02 Uformer wurde von CVPR 2022 akzeptiert!
- 2021.11.30 Update Uformer im Arxiv -Link. Der neue Code, Modelle und Ergebnisse werden hochgeladen.
- 2021.10.28 Die Ergebnisse von Uformer32 auf SIDD und DND freigeben.
- 2021.09.30 Vorausgebildeter Uformer16 für SIDD-Denoising.
- 2021.08.19 Veröffentlichen Sie ein vorgebildetes Modell (Uformer32)! Fügen Sie ein Skript für die Flop/GMAC -Berechnung hinzu.
- 2021.07.29 Fügen Sie ein Skript zum Testen des vorgeborenen Modells auf den beliebigen Auflösungsbildern hinzu.
In diesem Artikel präsentieren wir Uformer, eine effektive und effiziente transformatorbasierte Architektur, in der wir ein hierarchisches Encoder-Decoder-Netzwerk erstellen, indem wir den Transformator-Block für die Bildwiederherstellung verwenden. Uformer verfügt über zwei Kernkonstruktionen, um sie für diese Aufgabe geeignet zu machen. Das erste Schlüsselelement ist ein lokal verstärkter Fenstertransformatorblock, in dem wir nicht überlappende Fensterbasis-basierte Selbstbekämpfung verwenden, um die Rechenanforderung zu verringern und die Tiefenverteilung im Feed-Forward-Netzwerk zu verwenden, um sein Potenzial zur Erfassung des lokalen Kontexts weiter zu verbessern. Das zweite Schlüsselelement ist, dass wir drei Skip-Connection-Schema untersuchen, um Informationen aus dem Encoder effektiv an den Decoder zu liefern. Uformer wird von diesen beiden Designs angetrieben und bietet eine hohe Fähigkeit, nützliche Abhängigkeiten für die Bildwiederherstellung zu erfassen. Umfangreiche Experimente an mehreren Bildrestaurationsaufgaben zeigen die Überlegenheit von Uformer, einschließlich der Beengigung, Entspannung, Entladung und Demoireing. Wir gehen davon aus, dass unsere Arbeit weitere Forschungsarbeiten fördern wird, um transformatorbasierte Architekturen für Sichtaufgaben auf niedriger Ebene zu untersuchen. 
Paketabhängigkeiten
Das Projekt ist mit Pytorch 1.9.0, Python3.7, CUDA11.1 gebaut. Für Paketabhängigkeiten können Sie sie installieren, wenn:
pip install -r requirements.txt
Vorbereitetes Modell
Ergebnisse des vorbereiteten Modells
- Uformer_b: Sidd | Dnd | GoPro | Verstecken | Realblur-J | Realblur-R | DPDD
Datenvorbereitung
Denoising
Für Schulungsdaten von SIDD können Sie den SIDD-Medium-Datensatz aus der offiziellen URL herunterladen. Erstellen Sie dann Trainingspatches für das Training von:
python3 generate_patches_SIDD . py - - src_dir .. / SIDD_Medium_Srgb / Data - - tar_dir .. / datasets / denoising / sidd / train
Für die Bewertung von SIDD und DND können Sie hier Daten herunterladen.
Abentlämmern
Für das Training über Gopro und die Bewertung von GoPro, Hide, Realblur-J und Realblur-R können Sie hier Daten herunterladen.
Geben Sie dann alle Denoising -Daten in ../datasets/denoising und alle Deblurring -Daten in ../datasets/deblurring ein.
Ausbildung
Denoising
Um Uformer auf SIDD zu trainieren, können Sie das Training beginnen, um:
sh script/train_denoise.sh
Abentlämmern
Um Uformer auf GoPro zu trainieren, können Sie das Training beginnen, um:
sh script/train_motiondeblur.sh
Auswertung
Um Uformer zu bewerten, können Sie ausführen:
Für die Bewertung in jedem Datensatz sollten Sie die entsprechende Linie überzeugen.
Rechenkosten
Wir bieten ein einfaches Skript zur Berechnung der Flops selbst. In model.py wurde ein einfaches Skript hinzugefügt. Sie können die Konfiguration ändern und ausführen:
Die manuelle Berechnung von GMACs in diesem Repo unterscheidet sich geringfügig vom Hauptpapier, beeinflusst jedoch nicht die Schlussfolgerung. Wir werden das Papier später korrigieren.
Zitat
Wenn Sie dieses Projekt in Ihrer Forschung nützlich finden, sollten Sie sich angeben:
@InProceedings{Wang_2022_CVPR,
author = {Wang, Zhendong and Cun, Xiaodong and Bao, Jianmin and Zhou, Wengang and Liu, Jianzhuang and Li, Houqiang},
title = {Uformer: A General U-Shaped Transformer for Image Restoration},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2022},
pages = {17683-17693}
}
Anerkennung
Dieser Code leiht sich stark von Mirnet und SwinTransformer aus.
Kontakt
Bitte kontaktieren Sie uns, wenn es Fragen oder Vorschläge gibt (Zhendong wang [email protected], Xiaodong cun [email protected]).