Syed Waqas Zamir,Aditya Arora,Salman Khan,Munawar Hayat,Fahad Shahbaz Khan,Ming-Hsuan Yang和Ling Shao
我们很高兴看到我们的工作激发了NTIRE 2021挑战中的获胜解决方案:
摘要:图像恢复任务在恢复图像时需要在空间细节和高级上下文化信息之间取得复杂的平衡。在本文中,我们提出了一种新颖的协同设计,可以最佳地平衡这些竞争目标。我们的主要建议是一个多阶段的体系结构,它逐步学习了降级输入的恢复功能,从而将整个恢复过程分解为更易于管理的步骤。具体而言,我们的模型首先使用Encoder-Decoder架构学习上下文化的功能,然后将它们与保留本地信息的高分辨率分支结合在一起。在每个阶段,我们介绍了一种新颖的人均自适应设计,该设计利用原位监督的关注来重新持续当地功能。这种多阶段体系结构中的关键要素是不同阶段之间的信息交换。为此,我们提出了一种两方面的方法,其中信息不仅从早期到晚阶段依次交换,而且还存在特征处理块之间的横向连接,以避免任何信息丢失。由此命名为MPRNET的紧密相互互联的多阶段架构在一系列任务上提供了十个数据集的强大性能提高,包括图像deraining,deblurring和denoising。例如,在Rain100L,GoPro和DND数据集上,与最先进的ART相比,我们分别获得4 dB,0.81 dB和0.21 dB的PSNR增益。
MPRNET的总体框架 | 监督注意模块(SAM) |
该模型构建在Pytorch 1.1.0中,并在Ubuntu 16.04环境(Python3.7,Cuda9.0,Cudnn7.5)上进行了测试。
要安装,请遵循以下结构
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
安装热身调度程序
cd pytorch-gradual-warmup-lr; python setup.py install; cd ..
测试deblurring,deraining,deNoing yours映像的预先训练的模型,运行
python demo.py --task Task_Name --input_dir path_to_images --result_dir save_images_here
这是执行Deblurring的示例:
python demo.py --task Deblurring --input_dir ./samples/input/ --result_dir ./samples/output/
在其各自的目录中提供了培训和测试代码,以进行去除,降低和降解。
实验是针对不同图像处理任务进行的,包括图像脱毛,图像降低和图像降解。 MPRNET生产的图像可以从Google Drive链接下载:DeBlurring,deranning和DeNoising。
在合成数据集上脱毛。 | 在真实数据集上脱毛。 |
如果您使用mprnet,请考虑引用:
@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}
}
如果您有任何疑问,请联系[email protected]