Restormer:用于高分辨率图像复原的高效Transformer
摘要
由于卷积神经网络 (CNN) 在从大规模数据中学习可泛化的图像先验方面表现良好,因此这些模型已广泛应用于图像恢复及其相关任务。最近,另一类神经架构 Transformer 在自然语言和高级视觉任务上表现出显著的性能提升。 Transformer 模型虽然弥补了 CNN 的缺点(有限的感受野和对输入内容的不适应),但其计算复杂度随空间分辨率成平方增长,因此无法应用于大多数涉及高分辨率图像的图像恢复任务。在这项工作中,我们通过在构建模块(多头注意力和前馈网络)中进行几个关键设计来提出一种高效的 Transformer 模型,以便它可以捕获远程像素交互,同时仍然适用于大图像。我们的模型名为 Restoration Transformer ( Restormer )几个图像恢复任务上都实现了SOTA的结果,包括图像去模糊、单图像去运动模糊、散焦去模糊(单幅图像和双像素数据)和图像去噪(高斯灰度/彩色图像去噪和真实图像去噪)。论文源代码和预先训练的模型开源在https://github.com/swz30/Restormer。
1.简介
图像恢复是通过从退化的输入中去除退化(例如,噪声,模糊,雨滴)来重建高质量图像的任务。由于其不适定性,这是一个极具挑战性的问题,通常需要强大的图像先验来进行有效的恢复。由于卷积神经网络(CNN)在从大规模数据中学习可泛化先验方面表现良好,因此与传统的恢复方法相比,它们已成为更好的选择。
在 CNN 中,其基本操作是“卷积”,它为 CNN 提供了局部连接和平移不变性的特性。 虽然这些特性为 CNN 带来了效率和泛化性,但它们也产生了两个主要问题:(a) 卷积算子的感受野有限,无法对长距离像素依赖性进行建模;(b) 卷积滤波器在推理时具有静态权重,不能灵活地适应输入内容。为了解决上述缺点,一种更强大和动态的替代方案是自注意力 (SA) 机制,它通过所有其他位置的加权和来计算给定像素的输出特征。自注意是Transformer模型中的核心组件,但具有独特的实现,即针对并行化和有效表示学习进行了优化的多头SA。Transformer在自然语言任务和高级视觉问题上表现出了最先进的表现。虽然SA在捕获长距离像素相互作用方面非常有效,但其复杂性随着空间分辨率的增加呈平方增长,因此无法应用于高分辨率图像(图像恢复中常见的情况)。最近,很少有研究者致力于为图像恢复任务量身定制Transformer。为了减少计算量,这些方法要么在每个像素周围大小为8×8的小空间窗口上应用SA,要么将输入图像划分为大小为48×48的不重叠的patch,并在每个patch上独立计算SA。然而,限制SA的空间范围与捕捉真正的长距离像素依赖的目标是矛盾的,特别是在高分辨率图像上。
在本文中,我们提出了一种用于图像恢复的高效Transformer,它能够对全局连接进行建模,并且仍然适用于大型图像。具体来说,我们引入了一个多Dconv头“转置”注意力(MDTA)块(第3.1节)来取代具有线性复杂度的普通多头SA。它跨特征维度而不是空间维度应用SA,即,MDTA不是显式地对成对像素交互建模,而是计算跨特征通道的交叉协方差,从(键和查询投影)输入特征中获得注意力图。我们所提出的MDTA块的一个重要特征是在特征协方差计算之前进行局部上下文混合。这是通过使用1×1卷积的跨通道上下文的像素级聚合和使用高效的深度卷积的局部上下文的通道级聚合来实现的。该策略提供了两个关键优势。首先,它强调了空间局部上下文,并在我们的通道中引入了卷积运算的互补优势。其次,在计算基于协方差的注意力图时,它确保像素之间的上下文化全局关系隐式建模。
前馈网络(FN)是Transformer模型的另一个组成部分,该模型由两个全连接层组成,层之间具有非线性映射关系。在这项工作中,我们重新制定了正则FN的第一线性转换层,采用门控机制来改善网络中的信息流。该门控层被设计为两个线性投影层的元素乘积,其中一个是由GELU非线性激活的。我们的门控Dconv FN (GDFN)(第3.2节)也是基于类似于MDTA模块的局部内容混合,同样强调空间上下文。GDFN中的门控机制控制哪些互补特征应该向前流动,并允许网络层次结构中的后续层专门关注更精细的图像属性,从而产生高质量的输出。
除了上面的架构创新之外,我们还展示了Restormer渐进式学习策略的有效性(第3.3节)。在这个过程中,网络在早期的小块和大批量上进行训练,在后期的大块和小批量图像上进行训练。这种训练策略帮助Restormer从大型图像中学习上下文,并随后在测试时提供高质量的性能改进。我们进行了全面的实验,并在16个基准数据集上演示了我们的Restormer的SOTA性能,用于几个图像恢复任务,包括图像去模糊,单幅图像去运动模糊,散焦去模糊(在单幅图像和双像素数据上),以及图像去噪(基于合成和真实的数据);参见图1。此外,我们提供了大量的消融实验,以展示架构设计和实验选择的有效性。
本研究的主要贡献总结如下:
- 我们提出了Restormer,一种编码器-解码器Transformer,用于高分辨率图像上的多尺度局部-全局表示学习,而无需将它们分解到局部窗口,从而利用远距离的图像上下文。
- 我们提出了一个多Dconv头的转置注意力(MDTA)模块,它能够聚合局部和非局部的像素交互,并且足够有效地处理高分辨率图像。
- 一种新的门控Dconv前馈网络(GDFN),它执行受控的特征转换,即抑制信息较少的特征,只允许有用的信息在网络层次结构中进一步传递。
2 背景
图像恢复。近年来,数据驱动的CNN架构已被证明优于传统的恢复方法。在卷积设计中,基于编码器-解码器的UNet架构由于其分层多尺度表示,同时保持计算效率,已被主要研究用于恢复。类似地,基于跳跃连接的方法已被证明对恢复是有效的,因为它特别关注学习残差信息。空间和通道注意模块也被纳入以选择性地关注相关信息。我们建议读者参考NTIRE挑战报告和最近的文献综述,其中总结了图像恢复的主要设计选择。
视觉Transformer。Transformer模型最初是为自然语言任务中的序列处理而开发的。它已适用于许多视觉任务,如图像识别,分割,物体检测。视觉Transformer将图像分解为一系列patch(局部窗口)并学习它们之间的相互关系。这些模型的显著特征是可以学习图像patch序列之间的长期依赖关系和对给定输入内容的适应性的强大能力。由于这些特点,Transformer模型也被研究用于低层视觉问题,如超分辨率、图像着色、去噪和去雨。但是Transformer中SA的计算复杂度会随着图像patch数量的增加而成倍增加,因此无法应用于高分辨率图像。因此,在需要生成高分辨率输出的低级图像处理应用中,最近的方法通常采用不同的策略来降低其复杂性。一种潜在的补救方法是在局部图像区域内利用Swin Transformer的设计应用自注意。然而,这种设计选择限制了局部邻域内的上下文聚合,违背了在卷积上使用自注意的主要动机,因此不适用于图像恢复任务。相比之下,我们提出了一个Transformer模型,它可以学习长距离依赖关系,同时保持计算效率。
3 方法
我们的主要目标是开发一个高效的Transformer模型,该模型可以处理用于恢复任务的高分辨率图像。为了缓解计算瓶颈,我们对多头SA层和多尺度分层模块进行了关键设计,其计算需求比单尺度网络要小。我们首先展示了恢复器体系结构的整体pipeline(见图2)。然后我们描述了所提出的Transformer模块的核心组件:(a)多Dconv头转置注意(MDTA)和(b)门控Dconv前馈网络(GDFN)。最后,我们提供了有效学习图像统计的渐进式训练方案的细节。
整体的pipeline。给定退化图像
I
∈
R
H
×
W
×
3
\mathbf{I} \in \mathbb{R}^{H \times W \times 3}
I∈RH×W×3, Restormer首先进行卷积得到底层特征嵌入
F
0
∈
R
H
×
W
×
C
\mathbf{F_0} \in \mathbb{R}^{H \times W \times C}
F0∈RH×W×C;其中
H
×
W
H×W
H×W为空间维度,
C
C
C为通道数。接下来,这些浅层特征
F
0
F_0
F0经过4级对称编码器-解码器,转换为深层特征
F
d
∈
R
H
×
W
×
2
C
\mathbf{F_d} \in \mathbb{R}^{H \times W \times 2C}
Fd∈RH×W×2C。每一层编码器-解码器包含多个Transformer块,其中块的数量都由上至下逐渐变大,以保持效率。
编码器从高分辨率输入开始,在扩展通道大小的同时,分层地减小了空间尺寸。解码器以低分辨率潜在特征
F
l
∈
R
H
8
×
W
8
×
2
C
\mathbf{F}_l \in \mathbb{R}^{\frac{H}8 \times \frac{W} 8\times 2C}
Fl∈R8H×8W×2C为输入,逐步恢复高分辨率表示。对于特征的下采样和上采样,我们分别应用pixel-unshuffle和pixel-shuffle操作。为了辅助恢复过程,编码器特征通过跳跃连接与解码器特征连接。连接操作之后是1×1卷积,以减少除了顶部的所有级别的通道(一半)。在第1级,我们让Transformer块将编码器的低级图像特征与解码器的高级特征聚合在一起。它有利于保存复原图像中精细的结构和纹理细节。然后,在高空间分辨率的细化阶段进一步丰富深层特征
F
d
F_d
Fd。这些设计选择产生了质量的提高,我们将在实验部分(第4节)中展示。最后,卷积层应用于细化的特征,以生成残差图像
R
∈
R
H
×
W
×
3
\mathbf{R} \in \mathbb{R}^{H \times W \times 3}
R∈RH×W×3,并将退化图像添加到残差图像中,以获得恢复图像:
I
^
=
I
+
R
\hat{\mathbf{I}}=\mathbf{I}+\mathbf{R}
I^=I+R。接下来,我们将介绍Transformer block的具体模块。
3.1 多头Dconv转置注意力
Transformer中主要的计算开销来自于自注意力层。在传统SA中,key-query点积交互的时间和内存复杂度随输入的空间分辨率呈二次增长,即对于
W
×
H
W×H
W×H像素的图像的复杂度为
O
(
W
2
H
2
)
O(W^2 H^2 )
O(W2H2)。因此,在大多数涉及高分辨率图像的图像恢复任务中应用SA是不可行的。为了缓解这个问题,我们提出了具有线性复杂度的MDTA,如图2(a)所示,关键是跨通道而不是空间维度应用SA,即计算跨通道的交叉协方差,生成隐式编码全局上下文的注意力图。作为MDTA的另一个重要组成部分,我们在计算特征协方差以生成全局注意力图之前引入深度卷积来强调局部上下文信息。
在获得一个层的归一化张量
Y
∈
R
H
^
×
W
^
×
C
^
\mathbf{Y} \in \mathbb{R}^{\hat{H} \times \hat{W} \times \hat{C}}
Y∈RH^×W^×C^后,我们的MDTA首先生成query(Q)、key(K)和value(V)投影,并丰富了局部上下文。它是通过应用1×1卷积来聚合像素级跨通道的上下文,然后使用3×3深度卷积来编码通道级空间上下文,得到
Q
=
W
d
Q
W
p
Q
Y
\mathbf{Q}=W_d^Q W_p^Q \mathbf{Y}
Q=WdQWpQY,
K
=
W
d
K
W
p
K
Y
\mathbf{K}=W_d^K W_p^K \mathbf{Y}
K=WdKWpKY ,
V
=
W
d
V
W
p
V
Y
\mathbf{V}=W_d^V W_p^V \mathbf{Y}
V=WdVWpVY,其中
W
p
(
⋅
)
W_p^{(\cdot)}
Wp(⋅)是1×1点级卷积,
W
d
(
⋅
)
W_d^{(\cdot)}
Wd(⋅)是3×3深度级卷积。我们在网络中使用无偏置卷积层。接下来,我们对查询和关键投影进行重塑,使它们的点积交互作用生成大小为
R
C
^
×
C
^
\mathbb{R}^{\hat{C} \times \hat{C}}
RC^×C^的转置注意图A,而不是大小为
R
H
^
W
^
×
H
^
W
^
\mathbb{R}^{\hat{H} \hat{W} \times \hat{H} \hat{W}}
RH^W^×H^W^的巨大常规注意图。总之,MDTA过程被定义为:
X
^
=
W
p
Attention
(
Q
^
,
K
^
,
V
^
)
+
X
Attention
(
Q
^
,
K
^
,
V
^
)
=
V
^
⋅
Softmax
(
K
^
⋅
Q
^
/
α
)
\hat{\mathbf{X}}=W_p \text { Attention }(\hat{\mathbf{Q}}, \hat{\mathbf{K}}, \hat{\mathbf{V}})+\mathbf{X}\\ \operatorname{Attention}(\hat{\mathbf{Q}}, \hat{\mathbf{K}}, \hat{\mathbf{V}})=\hat{\mathbf{V}} \cdot \operatorname{Softmax}(\hat{\mathbf{K}} \cdot \hat{\mathbf{Q}} / \alpha)
X^=Wp Attention (Q^,K^,V^)+XAttention(Q^,K^,V^)=V^⋅Softmax(K^⋅Q^/α)
其中
X
X
X和
X
^
\hat{X}
X^为输入和输出特征映射;矩阵
Q
^
∈
R
H
^
W
^
×
C
^
\hat{\mathbf{Q}} \in \mathbb{R}^{\hat{H} \hat{W} \times \hat{C}}
Q^∈RH^W^×C^;
K
^
∈
R
C
^
×
H
^
W
^
\hat{\mathbf{K}} \in \mathbb{R}^{ \hat{C} \times \hat{H} \hat{W}}
K^∈RC^×H^W^和
V
^
∈
R
H
^
W
^
×
C
^
\hat{\mathbf{V}} \in \mathbb{R}^{\hat{H} \hat{W} \times \hat{C}}
V^∈RH^W^×C^是从原大小为
R
H
^
×
W
^
×
C
^
\mathbb{R}^{\hat{H} \times \hat{W} \times \hat{C}}
RH^×W^×C^的基础上变形获得的。在这里,
α
α
α是一个可学习的缩放参数,用于在应用
s
o
f
t
m
a
x
softmax
softmax函数之前控制
K
^
\hat{K}
K^和
Q
^
\hat{Q}
Q^的点积的大小。与传统的多头SA相似,我们将通道的数量划分为“头”,并并行学习单独的注意力图。
3.2 门控Dconv前馈网络
为了转换特征,常规的前馈网络(FN)对每个像素位置进行单独的相同操作。它使用两个1×1卷积,一个是扩展特征通道(通常因子
γ
=
4
γ=4
γ=4),另一个是将通道减少到原始输入维度。隐层采用非线性处理。在这项工作中,我们提出了FN中的两个基本修改来改进表示学习:(1)门控机制,(2)深度卷积。我们的GDFN架构如图2(b)所示。门控机制被描述为线性变换层的两条平行路径的元素乘积,其中一条路径由GELU进行非线性激活。与MDTA一样,我们还在GDFN中包含深度卷积来编码来自空间相邻像素位置的信息,这对于学习局部图像结构以进行有效恢复非常有用。给定一个输入张量
X
∈
R
H
^
×
W
^
×
C
^
\mathbf{X} \in \mathbb{R}^{\hat{H} \times \hat{W} \times \hat{C}}
X∈RH^×W^×C^,GDFN被表述为:
X
^
=
W
p
0
Gating
(
X
)
+
X
Gating
(
X
)
=
ϕ
(
W
d
1
W
p
1
(
LN
(
X
)
)
)
⊙
W
d
2
W
p
2
(
LN
(
X
)
)
\begin{aligned} \hat{\mathbf{X}} & =W_p^0 \text { Gating }(\mathbf{X})+\mathbf{X} \\ \operatorname{Gating}(\mathbf{X}) & =\phi\left(W_d^1 W_p^1(\operatorname{LN}(\mathbf{X}))\right) \odot W_d^2 W_p^2(\operatorname{LN}(\mathbf{X})) \end{aligned}
X^Gating(X)=Wp0 Gating (X)+X=ϕ(Wd1Wp1(LN(X)))⊙Wd2Wp2(LN(X))
其中
⊙
⊙
⊙表示元素的乘法,
φ
φ
φ表示
G
E
L
U
GELU
GELU非线性,LN是层归一化。总的来说,GDFN控制着pipeline中各个层次的信息流,从而允许每个层次专注于与其他层次互补的细节。也就是说,与MDTA相比,GDFN提供了一个不同的角色(专注于用上下文信息丰富特性)。由于所提出的GDFN比常规的FN进行了更多的运算,我们降低了扩张率
γ
γ
γ,以保证相似的参数和计算负担。
3.3 渐进式学习
基于CNN的恢复模型通常在固定大小的图像patch上进行训练。然而,在裁剪后的小 patch 上训练 Transformer 模型可能不会对全局的图像统计信息进行编码,从而在测试时的全分辨率图像上提供次优的性能。为此,我们使用渐进式学习,其中网络在早期阶段在较小的图像 patch 上进行训练,在后期的训练阶段中逐渐增大。通过渐进式学习在混合大小的 patch 上训练的模型在测试时表现出增强的性能,其中图像可以具备不同的分辨率(这是图像复原中的常见情况)。渐进式学习策略的行为方式类似于课程学习过程:网络从简单的任务开始,逐渐转向学习更复杂的任务(需要保留精细的图像结构/纹理)。由于对大 patch 的训练需要花费更长的时间,因此我们设定随着 patch 大小的增加而减小批大小,以保持每个优化步骤的时间与固定 patch 训练时间相似。
4 实验和分析
我们在基准数据集和四个图像处理任务的实验上评估了所提出的Restormer: (a)图像去模糊,(b)单幅图像去运动模糊,©散焦去模糊(单幅图像和双像素数据),以及(d)图像去噪(合成和真实数据)。关于数据集、训练协议和其他可视化结果的更多细节在补充材料中给出。在表格中,评估方法的最佳和次优质量分数被突出显示并下划线。
实现细节。我们为不同的图像恢复任务训练不同的模型。在所有实验中,除非另有说明,我们使用以下训练参数。我们的Restormer采用4级编码器-解码器架构,从level-1到level-4,Transformer块数量为[4,6,6,8],MDTA中的注意头为[1,2,4,8],通道数量为[48,96,192,384]。细化阶段包含4个块。GDFN的通道扩展因子为
γ
=
2.66
γ=2.66
γ=2.66。我们使用
A
d
a
m
W
AdamW
AdamW优化器(
β
1
=
0.9
β1=0.9
β1=0.9,
β
2
=
0.999
β2=0.999
β2=0.999,权重衰减为
1
e
−
4
1e−4
1e−4)和L1损失训练模型300K迭代,初始学习率
3
e
−
4
3e−4
3e−4随着余弦退火逐渐降低到
1
e
−
6
1e−6
1e−6。对于渐进式学习,我们从补丁大小128×128开始训练,批大小为64。patch大小和批处理大小对在迭代[92K, 156K, 204K, 240K, 276K]时更新为[(1602,40),(1922,32),(2562,16),(3202,8),(3842,8)]。对于数据增强,我们使用水平和垂直翻转。
4.1 图像去雨结果
我们使用YCbCr颜色空间中的Y通道计算PSNR/SSIM分数,方法类似于现有方法。表1显示,与现有方法相比,我们的恢复器在所有五个数据集上都获得了一致且显著的性能提升。与最近的最佳方法SPAIR相比,在所有数据集上,Restormer平均提高了1.05 dB。在单个数据集上,增益可以高达2.06 dB,例如Rain100L。图3显示了一个具有挑战性的可视化示例。我们的Restormer再现一个无雨的图像,同时有效地保留结构内容。
4.2 单图像去运动模糊结果
我们在合成数据集(GoPro, HIDE)和真实数据集(RealBlur-R, RealBlur-J)上评估了去模糊方法。表2显示,我们的Restormer在所有四个基准数据集上都优于其他方法。当对所有数据集进行平均时,我们的方法比最近的算法MIMO-UNet+的性能提高了0.47 dB,比之前的最佳方法MPRNet的性能提高了0.26 dB。与MPRNet相比,Restormer的FLOPs减少了81%(见图1)。此外,我们的方法比Transformer模型IPT提高了0.4 dB,参数少了4.4倍,运行速度快了29倍。值得注意的是,我们的恢复器仅在GoPro数据集上进行了训练,但它通过设置新的最先进的状态来展示对其他数据集的强泛化。从图4可以看出,与其他算法相比,我们的方法生成的图像更加清晰,在视觉上更接近于真实值。
4.3 散焦去模糊结果
表3显示了常规散焦去模糊方法(EBDB和JNB)以及基于DPDD数据集的学习方法的图像保真度评分。我们的Restormer在所有场景类别上的单图像和双像素散焦去模糊任务上明显优于SOTA方案。特别是在组合场景类别上,Restormer比之前的最佳方法IFAN提高了0.6 dB。与Transformer模型Uformer相比,我们的方法提供了1.01 dB PSNR的显著增益。图5表明,我们的方法比其他方法更有效地去除空间变化的散焦模糊。
4.4 图像去噪结果
我们对用加性高斯白噪声生成的合成基准数据集(Set12,BSD68,Urban100,Kodak24和McMaster)以及真实世界的数据集(SIDD和DND)进行去噪实验,我们使用了无偏差Restormer进行去噪。
高斯去噪。表4和表5分别给出了不同方法在灰度和彩色图像去噪基准数据集上的PSNR分数。与现有方法一致,我们在测试中包括噪声水平15、25和50。评估的方法分为两类实验:
- 学习一个单一的模型来处理不同的噪声水平;
- 学习每个噪声水平单独的模型。
我们的Restormer在不同数据集和噪声水平的实验设置下都达到了最先进的性能。具体而言,对于高分辨率Urban100数据集上具有挑战性的噪声水平50,Restormer比之前基于cnn的最佳方法DRUNet获得了0.37 dB增益,比最近基于变压器的网络SwinIR获得了0.31 dB增益,如表4所示。在表5中可以观察到类似的高斯颜色去噪性能的增益。值得一提的是,DRUNet需要噪声级图作为额外的输入,而我们的方法只需要噪声图像。此外,与SwinIR相比,我们的Restormer的FLOPs少了3.14倍,运行速度快了13倍。图6给出了灰度去噪(上行)和颜色去噪(中行)两种不同方法的去噪结果。我们的Restormer恢复干净和清晰的图像。
真实图像去噪。表6显示,我们所提出的方法是唯一的在两个数据集的PSNR指标上都超过40 dB的。值得注意的是,在SIDD数据集上,我们的Restormer比之前的最佳CNN方法MIRNet和Transformer模型的Uformer分别获得了0.3 dB和0.25 dB的PSNR增益。图6(底行)显示了我们的恢复器生成干净的图像而不损害精细纹理。
4.5消融实验
对于消融实验,我们在大小为128×128的图像块上训练高斯颜色去噪模型,仅用于100K迭代。测试在Urban100数据集上进行,并提供了具有挑战性的噪声水平σ=50的分析。FLOPs和推断时间在图像大小256×256上计算。表7-10显示了我们的贡献产生的质量性能改进。接下来,我们分别描述每个组件的影响。
多头注意力的提升。表7c表明,我们的MDTA提供了较基线0.32 dB的有利增益(表7a)。此外,通过深度卷积将局部性引入MDTA可以提高鲁棒性,因为去除局部性会导致PSNR下降(见表7b)。
前馈网络的提升。表7d显示FN中控制信息流的门控机制比传统FN产生0.12 dB增益。与多头注意力一样,向FN引入局部机制也会带来性能优势(见表7e)。我们通过结合门控深度卷积进一步加强FN。在噪声水平为50时,我们的GDFN(表7f)比标准FN实现了0.26 dB的PSNR增益。总的来说,我们的transformer块的贡献导致了比基线0.51 dB的显著增益。
Level-1解码器的设计选择。为了将编码器特征与level-1解码器进行聚合,我们在拼接操作后不使用1×1卷积(将通道减少一半)。它有助于保存来自编码器的精细纹理细节,如表8所示。这些结果进一步证明了在细化阶段添加Transformer块的有效性。
渐进学习的影响。从表9可以看出,在训练时间相似的情况下,渐进学习的效果优于固定patch训练。
更深或更宽的恢复器? 表10显示,在相似的参数/FLOPs预算下,深窄模型比宽浅模型表现得更准确。但是,由于并行化,更宽的模型运行得更快。在本文中,我们使用深窄Restormer。
5 结论
我们提出了一个图像恢复Transformer模型,Restormer,以较高的计算效率处理高分辨率图像。我们为Transformer块的核心组件引入了关键设计,以改进特征聚合和转换。具体来说,我们的多Dconv头部转置注意(MDTA)模块通过跨通道而不是空间维度应用自注意力来隐式地建模全局上下文,因此具有线性复杂度而不是平方复杂度。此外,所提出的门控Dconv前馈网络(GDFN)引入了一种门控机制来执行受控的特征转换。为了将CNN的强度合并到Transformer模型中,MDTA和GDFN模块都包括用于编码空间局部上下文的深度卷积。在16个基准数据集上的大量实验表明,Restormer实现了众多图像恢复任务的SOTA性能。
mark(仅个人记录)
距Restormer提出已经一年有余,Restormer是很成功的算法,也非常有效,加入TLC后也能基本达到sota的能力。虽然不是第一个应用通道自注意力的算法,但是它给出了详实的实验数据,给了大家很好的参考。Restormer提供的自注意力计算方式很成功地解决了VIT注意力计算量过大的问题,但是这种计算通道自注意力的方式也带来了对未来low-level模型设计的启示,transformer的全局交互建模是否真正有意义,因为Restormer通道自注意力的设计丧失了部分的全局交互能力(transformer的设计初衷就是这种全局建模的能力),却依然能达到非常惊人的效果。后续旷世在NAFNet的设计中,也仅仅在block中使用了最简单的通道注意力,通过非常简单的CNN block(完全不使用transformer,pure CNN)的堆叠也在许多low-level任务上超越了当时的sota。顺便一提,Restormer虽然相比transformer模型来说已经非常“Efficient”,但四卡八卡训练个一周还是很正常的😂///。