恒源云 (Gpushare)_Restormer: 用于高分辨率图像重建的高效 Transformer
文章来源 | 恒源云社区
原文地址 | 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
评论