论文地址:https://arxiv.org/abs/2205.04437
代码位置:https://github.com/XPixelGroup/HAT
论文小结
本文方法是基于Transformer的方法,探索了Transformer在低级视觉任务(如SR)中的应用潜力。本文提升有效利用像素范围得到的网络,提出了一种混合注意力Transformer,命名为 HAT(Hybrid Attention Transformer)。
本文的混合注意力Transformer结合channel attention和基于窗口的self-attention方案,所以认为是结合了全局数据统计和局部拟合能力的互补优势。为了进一步聚合跨窗口的信息,作者使用了重叠交叉注意模块来增加相邻窗口特征之间的交流。
本文方法比当时最先进的方法领先PSNR指标1dB以上。
论文简介
使用LAM方法测试(可以得到选择区域哪些像素贡献了最多),得到结论:虽然swinIR的平均指标更高,但基于transformer的swinIR的信息利用范围并不比基于CNN的RCAN方法要大,如下图所示。有效信息范围较小,但指标高,可能可以得出SwinIR比CNN方法拥有更大的映射能力的结论。但与此同时,由于其利用像素区域的范围有限,可能会恢复出错误的纹理。所以本文设计网络的时候考虑了在使用近self-attention结构的时候利用更多的像素用于重构。

查看swinIR的中间状态,有的样本的中间状态会有块效应。这表明移位窗口机制不能完美地实现跨窗口信息交互。所有本文加强了滑动窗口之间的连接,这样可以改善基于窗口的self-attention方法。

为了解决上述问题,释放Transformer在SR方向上的潜力,作者提出了HAT,混合注意力Transformer。HAT结合了channel attention和self-attention,意图使用前者的全局信息能力和后者强大的表达能力。此外还引入了重叠交叉注意模块来实现相邻窗口特征更直接的交互。
由于Transformer不像CNN那样具有归纳偏差,因此使用大规模数据预训练的模型参数对于释放此类模型的潜力非常重要。在本文中,作者提供了一种有效的同任务预训练策略。IPT使用多个恢复任务进行预训练。EDT使用多个退化级别进行预训练。作者直接使用大规模数据集对同一任务进行预训练,并相信大规模数据对于预训练来说才是真正重要的。以训练出来的指标作为验证,如下图所示,比其他方法高 0.1 0.1 0.1~ 1.2 1.2 1.2dB。

论文方法
网络架构
本文设计的网络结构如下图所示:和很多网络一样,整个网络由三个部分组成,包括浅层特征提取,深层特征提取和图像重构。

HAB
如图2所示,当采用channel attention时,更多的像素会被激活,因为有一个全局信息作为权重(个别图的牵强解释?)。所以本文引入channel-attention为基础的conv block,加入到Transformer block中来增强网络的表达能力。
如上图4所示,一个channel attention block(CAB)被塞到了标准的Swin Transformer block下的第一个LayerNorm(LN)层后面,与window-base multi-head self-attention(W-MSA)模块平行。
类似于SwinIR和Swin Transformer,在连续的HAB中,每隔一段时间就采用基于偏移窗口的自注意力(SW-MSA)。为了避免CAB和MSA在优化和视觉表示上可能的冲突,CAB的输出乘以一个小常数 α \alpha α。对于给定的输入,HAB的整个计算过程:其中 X N X_N XN和 X M X_M XM都是中间特征, Y Y Y是HAB的输出。
X N = L N ( X ) , X M = ( S ) W − M S A ( X N ) + α C A B ( X N ) + X , Y = M L P ( L N ( X M ) ) + X M , (1) \begin{equation}%输入公式的区域 \begin{aligned}%aligned命令对齐,在对齐的地方用"&" X_N&=LN(X), \\ X_M&=(S)W-MSA(X_N)+\alpha CAB(X_N)+X, \\ Y&=MLP(LN(X_M))+X_M, \end{aligned} \end{equation} \tag{1} XNXMY=LN(X),=(S)W−MSA(XN)+