Activating More Pixels in Image Super-Resolution Transformer
- 论文地址
- 摘要
- [1 介绍](#1 介绍)
- [2 相关工作](#2 相关工作)
-
- [2.1 图像深度网络 SR](#2.1 图像深度网络 SR)
- [2.2 Vision Transformer](#2.2 Vision Transformer)
- [3 方法](#3 方法)
-
- [3.1 Motivation](#3.1 Motivation)
- [3.2 Network Architecture](#3.2 Network Architecture)
-
- 总体结构。
- [Residual Hybrid Attention Group (RHAG)。](#Residual Hybrid Attention Group (RHAG)。)
- 混合注意块(HAB)。
- [Overlapping Cross-Attention Block (OCAB).](#Overlapping Cross-Attention Block (OCAB).)
- [3.3 ImageNet 上的预训练](#3.3 ImageNet 上的预训练)
- [4 实验](#4 实验)
-
- [4.1 实验设置](#4.1 实验设置)
- [4.2 不同窗口大小的影响](#4.2 不同窗口大小的影响)
- [4.3 Ablation Study](#4.3 Ablation Study)
-
- [Effectiveness of OCAB and CAB。](#Effectiveness of OCAB and CAB。)
- [Effects of the overlapping size](#Effects of the overlapping size)
- [Effects of different designs of CAB.](#Effects of different designs of CAB.)
- [4.4 与最先进方法的比较](#4.4 与最先进方法的比较)
- [4.5 相同任务预训练的有效性](#4.5 相同任务预训练的有效性)
- [5 结论](#5 结论)
论文地址
1、论文
2、源码
摘要
基于 Transformer 的方法在图像超分辨率等低级视觉任务中表现出令人印象深刻的性能。然而,我们发现这些网络只能通过归因分析利用有限空间范围的输入信息。这意味着 Transformer 的潜力在现有网络中仍未得到充分利用。为了激活更多的输入像素进行重建,我们提出了一种新颖的混合注意力转换器 (HAT)。它结合了通道注意力和自注意力方案,从而利用它们的互补优势。此外,为了更好地聚合跨窗口信息,我们引入了重叠交叉注意模块来增强相邻窗口特征之间的交互。在训练阶段,我们额外提出了一种相同任务的预训练策略以带来进一步的改进。大量实验证明了所提出模块的有效性,整体方法明显优于最先进的方法 1dB 以上。代码和模型将在 https:/github.com/chxy95/HAT 上提供
1 介绍
单幅图像超分辨率 (SR) 是计算机视觉和图像处理中的经典问题。它旨在从给定的低分辨率输入重建高分辨率图像。由于深度学习已成功应用于 SR 任务 [9],许多基于卷积神经网络 (CNN) 的方法被提出 [10,11,19,30,65,67,7,41] 并且几乎主导了这一领域领域在过去几年。最近,由于在自然语言处理方面的成功,Transformer [50] 引起了计算机视觉界的关注。在高级视觉任务 [13,36,51] 上取得快速进展后,还针对低级视觉任务 [5,54,62] 以及 SR [26,29] 开发了基于 Transformer 的方法。特别是,新设计的网络 SwinIR [29] 在此任务中取得了突破性的改进。尽管取得了成功,"为什么 Transformer 比 CNN 更好"仍然是一个谜。一个直观的解释是,这种网络可以受益于自我注意机制并利用远程信息。然而,我们采用归因分析方法 LAM [14] 来检查 SwinIR 中重建所涉及的利用信息范围。有趣的是,我们发现如图 2(a) 所示,SwinIR 在超分辨率方面并不比基于 CNN 的方法(例如 RCAN [65])利用更多的输入像素。此外,尽管 SwinIR 获得了更高的定量性能,但在某些情况下,由于使用的信息范围有限,它产生的结果不如 RCAN。这些现象说明 Transformer 具有更强的局部信息建模能力,但其利用信息的范围有待扩大。为了解决上述问题并进一步开发 Transformer 在 SR 方面的潜力,我们提出了一种混合注意 Transformer,即帽子。我们的 HAT 结合了通道注意力和自注意力方案,以利用前者利用全局信息的能力和后者强大的表示能力。此外,为了更好地聚合跨窗口信息,我们还引入了重叠交叉注意力模块。受 [5,26] 的启发,我们还探讨了预训练对 SR 任务的影响,并提供了相同任务的预训练策略。实验结果表明,该策略的性能优于多相关任务预训练 [26]。配备上述设计和改进,我们的方法可以大大超越最先进的方法(0.3dB∼1.2dB),如图 1 所示。
总的来说,我们的贡献包括三个方面:
1)我们将通道注意力引入 Transformer 以利用更多输入信息。
2)我们提出了一个重叠的交叉注意模块,以更好地聚合跨窗口信息。
3)我们提供了一个相同任务的预训练策略来进一步激活所提出的网络的潜力。
2 相关工作
2.1 图像深度网络 SR
CNN [9] 首先在图像 SR 任务中引入了深度卷积神经网络 (CNN),并获得了优于传统 SR 方法的性能ods,许多深度网络 [10,11,45,19,23,30,67,65,7,41,40,29,26] 已被提出用于 SR 以进一步提高重建质量。例如,许多方法应用更精细的卷积模块设计,例如残差块 [24,30] 和密集块 [53,67],以增强模型表示能力。一些作品探索了更多不同的框架,如递归神经网络 [20,46] 和图神经网络 [69]。为了提高感知质量,[24,53,64,52] 引入了对抗性学习以产生更真实的结果。通过使用注意力机制,[65,7,66,33,41,40]在重建保真度方面取得了进一步的提高。最近,提出了一系列基于 Transformer 的网络 [5,29,26],不断刷新 SR 任务的 state-of-the-art,展示了 Transformer 强大的表示能力。为了更好地理解 SR 任务的工作机制SR 网络,一些作品 [14,35,59,22] 被提出来分析和解释 SR 网络。 LAM [14] 采用积分梯度法来探索哪些输入像素对最终性能贡献最大。 DDR [35] 基于深度特征降维和可视化揭示了 SR 网络中的深度语义表示。 FAIG [59] 被提议为盲 SR 中的特定退化找到判别过滤器。 [22] 引入了通道显着图来证明 Dropout 可以帮助防止对真实 SR 网络的共同适应。在这项工作中,我们利用 LAM [14] 来分析和理解 SR 网络的行为。
2.2 Vision Transformer
最近,Transformer [50] 由于其在自然语言处理领域的成功而引起了计算机视觉界的关注。一系列基于 Transformer 的方法 [13,27,56,51,36,18,12,6,57,60,25,42] 已经被开发用于高级视觉任务,包括图像分类 [36, 13,27,44,49],目标检测[34,48,36,4,6],分割[55,51,16,2]等。虽然vision Transformer已经显示出其在建模长程依赖性方面的优势[ 13,43],仍有许多工作证明卷积可以帮助 Transformer 实现更好的视觉表示 [56,58,61,60,25]。由于令人印象深刻的性能,Transformer 也被引入用于低级视觉任务 [5,54,37,29,3,62,28,26]。具体来说,[5] 开发了一个 ViT 风格的网络,并引入了用于图像处理的多任务预训练。 SwinIR [29] 提出了一种基于 [36] 的图像恢复 Transformer。 [3,28] 将基于 Transformer 的网络引入到视频恢复中。 [26] 采用自注意力机制和多相关任务预训练策略,进一步刷新了 SR 的最新技术水平。然而,现有的作品仍然不能充分发挥 Transformer 的潜力,而我们的方法可以激活更多的输入信息以实现更好的重建。
3 方法
3.1 Motivation
Swin变压器[36]在图像超分辨率[29]方面已经表现出优异的性能。然后我们渴望知道是什么让它更好地工作比基于 CNN 的方法。为了揭示其工作机制,我们采用了一种诊断工具------LAM [14],这是一种为 SR 设计的归因方法。使用 LAM,我们可以判断哪些输入像素对所选区域的贡献最大。如图 2(a) 所示,红色标记点是有助于重建的信息像素。直观地说,利用的信息越多,可以获得越好的性能。比较 RCAN [65] 和 EDSR [30],这对于基于 CNN 的方法来说是正确的。
然而,对于基于 Transformer 的方法------SwinIR,其 LAM 并没有显示出比 RCAN 更大的范围。这与我们的常识相矛盾,但也可以为我们提供额外的见解。
首先,这意味着 SwinIR 具有比 CNN 更强的映射能力,因此可以使用更少的信息来获得更好的性能。
其次,如果 SwinIR 可以利用更多的输入像素,它仍有改进空间。如图 2(a) 所示,SwinIR 在蓝色框中标记的重建模式不如 RCAN。通道注意方案有助于 RCAN 看到更多像素,这也可能对 Transformer 有利。
此外,我们可以在 SwinIR 的中间特征图中观察到明显的块效应,如图 2(b) 所示。这些伪影是由窗口分区机制引起的,这种现象表明移位窗口机制无法有效地建立跨窗口连接。一些针对高级视觉任务的工作 [12,18,57,42] 也指出,增强窗口之间的连接可以改进基于窗口的自注意力方法。
基于以上两点,我们研究了基于 Transformer 的模型中的通道注意力,并提出了一个重叠的交叉注意力模块,以更好地为基于窗口的 SR Transformer 聚合跨窗口信息。
3.2 Network Architecture
总体结构。
如图3所示,整个网络由浅层特征提取、深层特征提取和图像重建三部分组成。
具体来说,对于给定的低分辨率(LR)输入 ILR ∈ RH×W ×Cin ,我们首先使用一个卷积层 HSF (·) 提取浅层特征
其中 Cin 和 C 分别表示输入和中间特征的通道数。浅层特征提取可以简单地将输入从低维空间映射到高维空间,同时实现每个像素标记的高维嵌入。此外,早期的卷积层可以帮助学习更好的视觉表示 [25] 并导致稳定的优化 [58]。然后我们进行深度特征提取 HDF(·) 进一步得到 deepfeature
其中 HDF(·) 由 N 个残差混合注意力组 (RHAG) 和一个 3× 3个卷积层HConv(·),可以逐步处理中间特征为
其中HRHAGi (·)代表第i个RHAG。继[29]之后,我们还在这部分的尾部引入了一个卷积层,以更好地聚合深度特征的信息。之后,我们添加一个全局残差连接来融合浅层特征和深层特征,然后通过重建模块重建高分辨率结果为
其中 HRec(·) 表示重建模块。具体来说,我们采用像素洗牌方法[45]对融合特征进行上采样。
我们简单地使用 L1 损失来优化参数。
Residual Hybrid Attention Group (RHAG)。
如图 3 所示,每个 RHAG 包含 M 个混合注意块 (HAB)、一个重叠交叉注意块 (OCAB) 和一个 3×3 卷积层。具体来说,对于第i个RHAG,可以表示为
其中Fi−1,0表示第i个RHAG的输入特征,Fi−1,j表示第 i 个 RHAG 中第 j 个 HAB 的第 j 个输出特征。在映射一系列 HAB 之后,我们插入一个 OCAB 以扩大基于窗口的自注意力的感受野,并更好地聚合跨窗口信息。在 RHAG 的末尾,我们保留了 [29] 之后的卷积层。还添加了一个残差连接来稳定训练过程[65]。
混合注意块(HAB)。
如图 2(a) 所示,当采用通道注意力时,更多像素被激活,因为涉及全局信息来计算通道注意力权重。此外,许多工作表明卷积可以帮助 Transformer 获得更好的视觉表示或实现更容易的优化 [56,58,60,25,68]。因此,我们将基于通道注意力的卷积块合并到标准的 Transformer 块中,以进一步增强网络的表示能力。如图 3 所示,在第一个 LayerNorm (LN) 层之后,通道注意力块 (CAB) 被插入到标准 Swin Transformer 块中,与基于窗口的多头自注意力 (W-MSA) 并行模块。请注意,在类似于 [36,29] 的连续 HAB 中,每隔一段时间采用基于移位窗口的自注意力 (SW-MSA)。
为了避免 CAB 和 MSA 在优化和视觉表示方面可能发生的冲突,一个小常数 α 乘以 CAB 的输出。对于给定的输入特征X,HAB的整个过程计算为
其中XN和XM表示中间特征。 Y 表示 HAB 的输出。特别是,我们将每个像素视为嵌入的标记(即,按照 [29] 将补丁大小设置为 1 以进行补丁嵌入)。 MLP 表示多层感知器。
self-attention模块的具体计算,给定一个大小为H×W×C的输入特征,首先将其划分为大小为M×M的HW localwindows,然后在每个窗口内计算M2 self-attention。对于localwindowfeatureXW∈RM2×C,query、key和value矩阵通过线性映射计算作为 Q、K 和 V。然后,基于窗口的自注意力被表示为
其中d表示query/key的维度。 B表示相对位置编码,计算为[50]。
此外,为了建立相邻非重叠窗口之间的连接,我们还利用移位窗口分区方法 [36] 并将移位大小设置为窗口大小的一半。
CAB 由两个具有 GELU 激活的标准卷积层组成功能[15]在它们和通道注意(CA)模块之间,如图3所示。由于基于Transformer的结构通常需要大量通道来嵌入令牌,因此直接使用具有恒定宽度的卷积会产生大量计算成本.
因此,我们通过两个卷积层之间的常数 β 压缩通道数。对于一个有C个通道的输入特征,第一层卷积层压缩后输出特征的通道数为C/β,然后通过第二层将特征扩展为C个通道。接下来,利用标准 CA 模块 [65] 自适应地重新缩放通道特征。整个过程公式为
其中Xin、Xout、Conv1、Conv2分别表示输入特征、输出特征、第一卷积层和第二卷积层, 分别。
Overlapping Cross-Attention Block (OCAB).
重叠交叉注意块 (OCAB)。
我们引入 OCAB 直接建立跨窗口连接,增强窗口自注意力的表示能力。我们的 OCAB 由一个重叠的交叉注意 (OCA) 层和一个类似于标准 Swin Transformer 块 [36] 的 MLP 层组成。
但是对于 OCA,如图 4 所示,我们使用不同的窗口大小来划分投影特征。
具体地,对于输入特征X的XQ,XK,XV∈R H×W×C,XQ 被划分为大小为 M ×M 的 HW/M2 非重叠窗口,而XK,XV展开为大小为Mo×Mo的HW/M2重叠窗口。计算为
其中γ是控制重叠尺寸的常数。
为了更好地理解这个操作,标准窗口分区可以被认为是内核大小和步长都等于窗口大小 M 的滑动分区。相比之下,重叠窗口分区可以被看作是内核大小的滑动分区等于Mo,而步长等于M。使用大小为γM的零填充来保证重叠窗口的大小一致性。
注意矩阵计算为等式 7,并且还采用了相对位置偏差B∈R M×Mo。
与 WSA 的查询、键和值是从同一个窗口特征计算出来的不同,OCA 从更大的字段中计算键/值,可以利用更多有用的信息进行查询。请注意,尽管 [42] 中的多分辨率重叠注意力(MOA)模块执行类似的重叠窗口分区,但我们的 OCA 与 MOA 不同,因为 MOA 使用窗口特征作为标记来计算全局注意力,而 OCA 计算每个窗口内的交叉注意力使用像素令牌的功能。
3.3 ImageNet 上的预训练
最近的作品[5,26] 表明预训练在低级任务中起着重要作用。 IPT [5] 强调使用各种低级任务,如去噪、去雨、超分辨率等,而 EDT [26] 利用特定任务的不同退化级别进行预训练。这些工作旨在探索多任务预训练对目标任务的影响。相比之下,我们基于相同的任务直接对更大规模的数据集(即 ImageNet [8])进行预训练。例如,当我们要为×4 SR训练一个模型时,我们首先在ImageNet上训练一个×4 SR模型,然后在特定的数据集上进行微调,比如DF2K。如第二节所述。 4.5,提出的策略,即同任务预训练,更简单,同时带来更多的性能提升。值得一提的是,足够的预训练训练迭代次数和适当的小学习率进行微调对于预训练策略的有效性非常重要。我们认为这是因为 Transformer 需要更多的数据和迭代来学习任务的一般知识,但需要较小的学习率进行微调以避免对特定数据集的过度拟合。
4 实验
4.1 实验设置
我们使用DF2K 数据集(DIV2K [31]+Flicker2K [47])作为原始训练数据集,遵循最新的出版物[29,32]。在使用预训练时,我们采用 [5,26] 之后的 ImageNet [8]。对于HAT的结构,RHAG数和HAB数都设置为6。全网通道数设置为180。注意头数和窗口大小都设置为6和16(S)W- MSA 和 OCA。
对于所提出模块的具体超参数,我们将 CAB 输出的权重因子 (α)、CAB 中两个卷积层之间的挤压因子 (β) 和 OCA 的重叠率 (γ) 设置为 0.01、3 和分别为 0.5。
对于较大的变体 HAT-L,我们通过将 RHAG 的数量从 6 增加到 12 来直接将 HAT 的深度加倍。为了评估定量性能,报告了 PSNR 和 SSIM(在 Y 通道上计算)。更多训练细节可以参考附录。
4.2 不同窗口大小的影响
如第 1 节所述。 3.1,为SR激活更多的输入像素往往会获得更好的性能。放大窗口大小来计算自注意力是一种直观的方法。在 [26] 中,作者研究了不同窗口大小的影响。然而,他们基于转移的交叉局部注意力进行实验,并且只探索最大 12×12 的窗口大小。我们进一步探讨了自我注意的窗口大小如何影响表示能力。为了消除我们新引入的块的影响,我们直接在 SwinIR 上进行了以下实验。如选项卡所示。如表1 所示,大窗口大小为 16 的模型获得了更好的性能,尤其是在 Urban100 [17] 上。我们还提供了如图 5 所示的定性比较。对于红色框中标记的补丁,窗口大小为 16 的模型比窗口大小为 8 的模型使用更多的输入像素。重建结果也证明了大窗口大小的有效性。基于这个结论,我们直接使用窗口大小 16 作为我们的默认设置。
4.3 Ablation Study
Effectiveness of OCAB and CAB。
我们进行实验来证明所提出的 CAB 和 OCAB 的有效性。 ×4 SR 在 Urban100 数据集上测试的定量性能如表2 所示。与基线相比,所提出的 OCAB 和 CAB 都带来了 0.1dB 的性能增益。受益于这两个模块,该模型获得了进一步的性能提高0.16分贝。我们还提供了定性比较,以进一步说明OCAB和CAB的影响,如图6所示。我们可以观察到,使用 OCAB 的模型具有更大的使用像素范围,并产生更好的重建结果。当采用 CAB 时,使用的像素甚至扩展到完整图像。此外,我们使用OCAB和CAB的方法的结果获得了最高的DI[14],这意味着我们的方法利用了最多的输入像素。虽然它获得的性能比 w/OCAB 略低,但我们的方法获得了最高的 SSIM 并重建了最清晰的纹理。
Effects of the overlapping size
重叠大小的影响。如第 4 节所述,我们设置了一个常数γ来控制 OCAB 的重叠大小。为了探索该方法不同重叠大小的影响,我们将一组γ从 0 设置为 0.75 来检查性能变化,如选项卡 3 所示。请注意,γ = 0 表示标准变压器块。可以发现,γ = 0.5 的模型性能最佳。相反,当γ设置为 0.25 或 0.75 时,模型没有明显的性能提升,甚至性能下降。它说明了不适当的重叠大小不能有利于相邻窗口的交互。
Effects of different designs of CAB.
不同CAB设计的影响。我们进行实验以探索不同CAB设计的影响。首先,我们研究了卷积设计和信道注意力的影响。如 Tab.4 所示,使用深度卷积会导致严重的性能下降,这意味着深度卷积削弱了CAB的代表性。此外,我们可以观察到,渠道注意力带来了明显的性能提升。它证明了渠道注意力的有效性。我们还进行了实验,以探索CAB的加权因子α的影响。如第 3.2 节所示,α用于控制特征融合的 CAB 特征的权重。较大的α表示 CAB 提取的特征权重较大,α = 0 表示不使用 CAB。如选项卡 5 所示,α为 0.01 的模型获得最佳性能。这表明 CAB 和自我注意在优化中可能存在潜在问题,而较小的权重因子可以抑制此问题以获得更好的组合。
4.4 与最先进方法的比较
定量结果。图 6 显示了我们的方法与最先进方法的定量比较:EDSR [30]、RCAN [65]、SAN [7]、IGNN [69]、HAN [41]、NLSN [40] ,RCAN-it [32],以及使用 ImageNet 预训练的方法,即 IPT [5] 和 EDT [26]。我们可以看到,我们的方法在所有基准数据集上都明显优于其他方法。特别是,HAT 在 Urban100 数据集上超过 SwinIR 0.48dB∼0.64dB,在 Manga109 数据集上超过 SwinIR 0.34dB∼0.45dB。与使用预训练的方法相比,HAT 在所有三个尺度的 Urban100 数据集上也比 EDT 有超过 0.5dB 的性能提升。此外,在 ×2 SR 的 Urban100 数据集上,经过预训练的 HAT 的性能优于 SwinIR,高达 1dB。此外,大型型号 HAT-L 甚至可以带来进一步的改进。值得注意的是,性能差距要大得多Urban100数据集,因为它包含更多结构化和自我重复的模式。这有利于我们的方法利用更多有用的信息。所有这些结果都证明了我们方法的有效性。
视觉比较。我们还提供如图 7 所示的视觉比较。对于Urban100数据集中的图像"img 011"、"img 044"和"img 073",我们的方法可以成功恢复清晰的晶格含量。相比之下,其他方法都受到严重的模糊效应的影响。
我们可以在 Manga109 数据集的"HealingPlanet"上观察到类似的行为。在恢复图像中的字符时,HAT 获得了比其他方法更清晰的纹理。结合定量比较结果,我们证明了我们方法的优越性。
4.5 相同任务预训练的有效性
如表 6,使用相同任务预训练策略的模型明显优于没有预训练的模型。 EDT [26] 还探讨了不同预训练策略对 SR 任务的影响。它表明,与单任务预训练(例如,在×4 SR任务的×2 SR设置上进行预训练)和类似于[5]的多无关任务预训练。为了证明我们策略的有效性和优越性,我们还在我们的网络中应用了与 EDT 相同的策略。为了公平比较,这两种策略都采用了包含 128 万张图像的完整 ImageNet 数据集。我们提供了预训练模型的定量结果以及×4 SR 上的微调模型,如表 7. 可以看出,同任务预训练表现更好,不仅在预训练阶段,在微调过程中也表现得更好。与特定任务的预训练相比,多任务预训练似乎削弱了性能。从这个角度来看,我们倾向于认为"为什么预训练有效"的原因是数据的多样性,而不是任务之间的相关性。
5 结论
本文提出了一种用于超分辨率的新型混合注意力转换器HAT。我们的模型结合了通道注意力和自我注意力,以激活更多像素以重建高分辨率结果。此外,我们提出了一个重叠的交叉注意力模块,用于计算不同窗口大小的特征之间的注意力,以更好地聚合跨窗口信息。此外,我们引入了相同的任务预训练策略,以进一步激活所提出的模型的潜力。大量的实验证明了所提出的模块的有效性,我们的HAT明显优于最先进的方法。