Syed Waqas Zamir, Aditya Arora, Salman Khan, Munawar Hayat, Fahad Shahbaz Khan, Ming-Hsuan Yang et Ling Shao
Nous sommes heureux de voir que notre travail a inspiré les solutions gagnantes dans les défis NTIRE 2021 :
Résumé: Les tâches de restauration d'images exigent un équilibre complexe entre les détails spatiaux et les informations contextualisées de haut niveau lors de la récupération d'images. Dans cet article, nous proposons une nouvelle conception synergique qui peut équilibrer de manière optimale ces objectifs concurrents. Notre principale proposition est une architecture à plusieurs étages, qui apprend progressivement les fonctions de restauration pour les entrées dégradées, décomposant ainsi le processus de récupération global en étapes plus gérables. Plus précisément, notre modèle apprend d'abord les fonctionnalités contextualisées utilisant des architectures d'encodeur et les combine plus tard avec une branche haute résolution qui conserve des informations locales. À chaque étape, nous introduisons une nouvelle conception adaptative par pixel qui exploite une attention supervisée in situ pour re-ponter les fonctionnalités locales. Un ingrédient clé dans une telle architecture à plusieurs étapes est l'échange d'informations entre les différentes étapes. À cette fin, nous proposons une approche à deux facettes où les informations sont non seulement échangées séquentiellement des premiers stades précoces, mais des connexions latérales entre les blocs de traitement des fonctionnalités existent également pour éviter toute perte d'informations. L'architecture multi-stage étroitement liée résultant, nommée MPRNET, fournit des gains de performances solides sur dix ensembles de données sur une gamme de tâches, notamment la détention d'images, le désablurage et le débroussage. Par exemple, sur les ensembles de données RAIN100L, GoPro et DND, nous obtenons des gains PSNR de 4 dB, 0,81 dB et 0,21 dB, respectivement, par rapport à l'état de l'art.
Cadre global de MPRNET | Module d'attention supervisé (SAM) |
Le modèle est construit dans Pytorch 1.1.0 et testé sur un environnement Ubuntu 16.04 (Python3.7, CUDA9.0, CUDNN7.5).
Pour l'installation, suivez ces intructions
conda create -n pytorch1 python=3.7
conda activate pytorch1
conda install pytorch=1.1 torchvision=0.3 cudatoolkit=9.0 -c pytorch
pip install matplotlib scikit-image opencv-python yacs joblib natsort h5py tqdm
Installer le planificateur d'échauffement
cd pytorch-gradual-warmup-lr; python setup.py install; cd ..
Pour tester les modèles pré-formés de déblure, de détention, de débroussage sur vos propres images, exécutez
python demo.py --task Task_Name --input_dir path_to_images --result_dir save_images_here
Voici un exemple pour effectuer une déblure:
python demo.py --task Deblurring --input_dir ./samples/input/ --result_dir ./samples/output/
Les codes de formation et de test pour la déblugure, la déraisonment et le débroussage sont fournis dans leurs répertoires respectifs.
Des expériences sont effectuées pour différentes tâches de traitement d'image, notamment, le déblure d'image, la détention d'images et le débrage d'image. Les images produites par MPRNET peuvent être téléchargées à partir des liens Google Drive: déblure, déraisonment et débraillé.
Déblure sur les ensembles de données synthétiques. | Déblure sur l'ensemble de données réel. |
Si vous utilisez MPRNET, veuillez envisager de citer:
@inproceedings{Zamir2021MPRNet,
title={Multi-Stage Progressive Image Restoration},
author={Syed Waqas Zamir and Aditya Arora and Salman Khan and Munawar Hayat
and Fahad Shahbaz Khan and Ming-Hsuan Yang and Ling Shao},
booktitle={CVPR},
year={2021}
}
Si vous avez une question, veuillez contacter [email protected]