文章来源 | 恒源云社区
原文地址 | Restormer
原文作者 | 咚咚
摘要
- 引入主题: 由于卷积神经网络(CNNs)能够从大规模数据中学习到图像的generalizable特征,所以被广泛应用于图像重建和相关任务。最近,另一类神经结构,Transformer,在自然语言和高水平的视觉任务已经显示出显著性能增益。
- 现存问题: 虽然 Transformer 模型弥补了 CNNs 的不足(即感受域有限和inadaptability to input content) ,但其计算复杂度随着空间分辨率的增加而二次增长,因此不适用于大多数涉及高分辨率图像的图像重建任务。
- 解决方法: 论文提出了一个有效的Transformer模型,Restoration Transformer,Restormer,通过对基础模块(多头前馈网络)的几个关键设计,使它能够捕捉远距离像素间的相互作用,同时仍然适用于大图像。
-
实验结果: 在多个图像重建任务上实现最先进的结果,包括图像去噪、单图像运动去模糊、散焦去模糊(单图像和双像素数据)和图像去噪(高斯灰度/颜色去噪和真实图像去噪)
算法
Overall Pipline
- 输入图像大小为,首先利用一个卷积操作获得特征嵌入
- 通过一个对称的4层编码-解码结构,得到高维特征,每一层编码/解码都包括多个Transformer 模块,从上到下,每一层中的Transformer模块数量逐渐递增,分辨率逐渐递减。
- 编码-解码器之间使用跳跃连接来传递低维特征信息。
- 进一步经过Refinement模块来提取细节特征
- 最后经过一个卷积层,并与输入图像进行叠加,得到最后的输出图像
如上图所示,每个Transformer模块中包括MDTA和GDFN模块,接下来进行详细介绍。
MDTA(MULTI-DCONV HEAD TRANSPOSED ATTENTION)
一般Transformer模块中的多头自注意力机制具有较大的计算量,在应用到高分辨率图像上是不合适的,所以该论文提出了MDTA模块。
有两个与众不同的方法:
- MDTA是计算通道上的自注意力而不是空间上,通过计算通道上的注意力来隐式编码全局上下文信息。
- 在计算自注意力map之间,使用depth-wise卷积操作生成Q、K、V,这样可以强调局部信息。
GDFN( GATED-DCONV FEED-FORWARD NETWORK)
一般的Transformer模块中使用FN进行逐像素特征操作,扩展和减小通道数。
该论文与之不同,使用了(1)门控机制和(2)depthwise卷积
如上图所示,下分支是一个门控单元,用于获取每个像素点的激活状态,使用1×1卷积层来扩展通道数,再使用3×3depthwise卷积层和GELU生成gate map。
并与上分支进行点乘,公式如下:各层的GDFN通过控制信息流来允许每个层次关注与其他层次互补的细微细节。也就是说,与MDTA相比,GDFN提供了一个独特的角色(专注于丰富上下文信息)。
PROGRESSIVE LEARNING
另外,论文还提出了一种渐进式训练方法。
基于CNN的重建模型通常在固定大小的图像patch上进行训练。然而,在小裁剪patch上训练Transformer模型可能不会编码全局图像统计信息,从而在测试时在全分辨率图像上提供次优性能。
为此,论文采用渐进式学习的方式,在早期阶段,网络在较小的图像块上进行训练,在后期的训练阶段,网络在逐渐增大的图像块上进行训练。
通过渐进学习在混合大小的patch上训练的模型在测试时表现出更好的性能。
由于在大patch上进行训练需要花费更长的时间,所以会随着patch大小的增加而减少batch大小,以保持相同的训练时间。
实验
Image Deraining Results
Single-image Motion Deblurring Results
Defocus Deblurring Results
Image Denoising Results
Ablation Studies