Restormer: 高分辨率图像修复的高效 Transformer (CVPR 2022 -- 口头报告)
Syed Waqas Zamir、Aditya Arora、Salman Khan、Munawar Hayat、Fahad Shahbaz Khan和Ming-Hsuan Yang
新闻
- 2022年4月4日: 已集成到Huggingface Spaces 🤗,使用Gradio。试用网页演示:
- 2022年3月30日: 添加了Colab演示。
- 2022年3月29日: Restormer被选为CVPR 2022的口头报告 :dizzy:
- 2022年3月10日: 训练代码已发布 :fire:
- 2022年3月3日: 论文被CVPR 2022接收 :tada:
- 2021年11月21日: 测试代码和预训练模型已发布!
摘要: 由于卷积神经网络(CNNs)能够很好地从大规模数据中学习通用的图像先验,这些模型被广泛应用于图像修复和相关任务。近期,另一类神经网络架构Transformer在自然语言处理和高级视觉任务上展现出显著的性能优势。虽然Transformer模型克服了CNN的缺点(即有限的感受野和对输入内容的不适应性),但其计算复杂度随空间分辨率呈二次方增长,因此无法应用于大多数涉及高分辨率图像的图像修复任务。在本工作中,我们通过对构建模块(多头注意力和前馈网络)进行几项关键设计,提出了一个高效的Transformer模型,使其能够捕捉长程像素交互,同时仍然适用于大型图像。我们的模型名为Restoration Transformer (Restormer),在多个图像修复任务上达到了最先进的结果,包括图像去雨、单图像运动去模糊、散焦去模糊(单图像和双像素数据)以及图像去噪(高斯灰度/彩色去噪和真实图像去噪)。
网络架构
安装
请参阅INSTALL.md以安装运行Restormer所需的依赖项。
演示
要在您自己的图像上测试去雨、运动去模糊、散焦去模糊和去噪的预训练Restormer模型,您可以使用Google Colab ,或使用以下命令行
python demo.py --task Task_Name --input_dir path_to_images --result_dir save_images_here
对图像目录执行散焦去模糊的示例用法:
python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/' --result_dir './demo/restored/'
直接对图像执行散焦去模糊的示例用法:
python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/portrait.jpg' --result_dir './demo/restored/'
训练和评估
去雨、运动去模糊、散焦去模糊和去噪的训练和测试说明在它们各自的目录中提供。这里是一个包含超链接的摘要表,便于导航:
结果
实验针对不同的图像处理任务进行,包括图像去雨、单图像运动去模糊、散焦去模糊(单图像和双像素数据)以及图像去噪(高斯和真实数据)。
图像去雨 (点击展开)
单图像运动去模糊 (点击展开)
散焦去模糊 (点击展开)
S: 单图像散焦去模糊。 D: 双像素散焦去模糊。
高斯图像去噪 (点击展开)
上面的超级行: 学习一个单一模型来处理各种噪声水平。 下面的超级行: 为每个噪声水平训练一个单独的模型。
灰度 | 彩色 |
真实图像去噪 (点击展开)
引用
如果您使用Restormer,请考虑引用:
@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}
}
联系方式
如果您有任何问题,请联系waqas.zamir@inceptioniai.org