Syed Waqas Zamir, Aditya Arora, Salman Khan, Munawar Hayat, Fahad Shahbaz Khan et Ming-Hsuan Yang
Résumé: Étant donné que les réseaux de neurones convolutionnels (CNN) fonctionnent bien dans l'apprentissage des priors d'image généralisables à partir de données à grande échelle, ces modèles ont été largement appliqués à la restauration d'images et aux tâches connexes. Récemment, une autre classe d'architectures neuronales, Transformers, a montré des gains de performances significatifs sur le langage naturel et les tâches de vision de haut niveau. Alors que le modèle de transformateur atténue les lacunes des CNN (c.-à-d. Le champ réceptif limité et l'inadaptabilité à saisir le contenu), sa complexité de calcul se développe quadratique avec la résolution spatiale, ce qui rend il est impossible de s'appliquer à la plupart des tâches de restauration d'images impliquant des images de haute résolution. Dans ce travail, nous proposons un modèle de transformateur efficace en créant plusieurs conceptions clés dans les blocs de construction (réseau d'attention et réseau multi-tête) de sorte qu'il peut capturer des interactions de pixels à longue portée, tout en restant applicables aux grandes images. Notre modèle, nommé Restoration Transformer (Restormer), obtient des résultats de pointe sur plusieurs tâches de restauration d'images, notamment la déraisonment de l'image, le désincarnation du mouvement à image unique, le déblurage de défocalisation (données à l'image unique et à double pixel) et un dénaison d'image réelle).
Voir install.md pour l'installation des dépendances requises pour exécuter Restormer.
Pour tester les modèles Restormer pré-formés de déraisonment, de désinblure de mouvement, de défocus de débour
python demo.py --task Task_Name --input_dir path_to_images --result_dir save_images_here
Exemple d'utilisation pour effectuer le déblurage de défocalisation sur un répertoire d'images:
python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/' --result_dir './demo/restored/'
Exemple d'utilisation pour effectuer le déblurage défocus sur une image directement:
python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/portrait.jpg' --result_dir './demo/restored/'
Les instructions de formation et de test pour la déraisonment, le désinbulion, le débourage de défocalisation et le débroussage sont fournies dans leurs répertoires respectifs. Voici un tableau récapitulatif contenant des hyperliens pour une navigation facile:
| Tâche | Instructions de formation | Test des instructions | Les résultats visuels de Restormer |
|---|---|---|---|
| Dénorage | Lien | Lien | Télécharger |
| Mouvement de mouvement | Lien | Lien | Télécharger |
| Défocalisation | Lien | Lien | Télécharger |
| Nénoison gaussien | Lien | Lien | Télécharger |
| Vrai déniisation | Lien | Lien | Télécharger |
Des expériences sont effectuées pour différentes tâches de traitement d'image, y compris la détention d'images, le déblurage de mouvement à image unique, le débourage de défocalisation (à la fois sur des données d'image unique et de double pixel) et le débroussage d'image (à la fois sur des données gaussiennes et réelles).
S: Débocus de défocus à image unique. D: Débocar à double pixel.
Top Super-How: Apprendre un seul modèle pour gérer divers niveaux de bruit. Super-rang inférieur: formation d'un modèle séparé pour chaque niveau de bruit.
Niveaux de gris | Couleur |
Si vous utilisez Restormer, veuillez envisager de citer:
@inproceedings{Zamir2021Restormer,
title={Restormer: Efficient Transformer for High-Resolution Image Restoration},
author={Syed Waqas Zamir and Aditya Arora and Salman Khan and Munawar Hayat
and Fahad Shahbaz Khan and Ming-Hsuan Yang},
booktitle={CVPR},
year={2022}
}
Si vous avez une question, veuillez contacter [email protected]
Remerciement: Ce code est basé sur la boîte à outils Basicsr et Hinet.