Transformer
在计算机视觉任务中表现出了令人鼓舞的性能,包括图像超分辨率(SR
)。然而,流行的基于Transformer
的SR
方法通常采用具有二次计算复杂度的窗口自注意力机制,导致固定的小窗口,限制了感受野的范围。论文提出了一种将基于Transformer
的SR
网络转换为分层Transformer
(HiT-SR
)的通用策略,利用多尺度特征提升SR
性能,同时保持高效设计。具体而言,首先用扩展的分层窗口替代常用的固定小窗口,以聚合不同尺度的特征并建立长距离依赖关系。考虑到大窗口所需的密集计算,进一步设计了一种具有线性复杂度的空间通道相关方法,以窗口大小高效地从分层窗口中收集空间和通道信息。大量实验验证了HiT-SR
的有效性和效率,改进版本的SwinIR-Light
、SwinIR-NG
和SRFormer-Light
在参数、FLOPs
和速度方面取得了最先进的SR
结果(约7
倍)。来源:晓飞的算法工程笔记 公众号,转载请注明出处
论文: HiT-SR: Hierarchical Transformer for Efficient Image Super-Resolution
Introduction
图像超分辨率(SR
)是一项经典的低级视觉任务,旨在将低分辨率(LR
)图像转换为具有更好视觉细节的高分辨率(HR
)图像。如何解决不适定的SR
问题引起了数十年的广泛关注。许多流行的方法采用卷积神经网络(CNN
)来学习LR
输入与HR
图像之间的映射。尽管已取得显著进展,但基于CNN
的方法通常侧重于通过卷积利用局部特征,往往在聚合图像中的长距离信息方面表现不足,从而限制了基于CNN
的SR
性能。
视觉Transformer
的最新发展为建立长程依赖关系提供了一种有前景的解决方案,这为许多计算机视觉任务(包括图像超分辨率)带来了好处。在流行的基于Transformer
的SR
方法中,一个重要的组件是窗口自注意力(W-SA
)。通过将局部性引入自注意力,W-SA
机制不仅更好地利用了输入图像中的空间信息,还减轻了处理高分辨率图像时的计算负担。然而,目前的基于Transformer
的SR
方法通常采用固定的小窗口尺寸,例如SwinIR
中的 8 × 8 8\times8 8×8 。将感受野限制在单一尺度,阻碍了网络收集多尺度信息,如局部纹理和重复模式。此外,W-SA
对窗口大小的二次计算复杂度也使得在实际中扩大感受野变得不可承受。
为了减轻计算开销,以往的尝试通常减少通道数以支持大窗口,例如ELAN
中的group-wise
多尺度自注意力(GMSA
)的通道分割和SRFormer
中permuted
自注意力块(PSA
)的通道压缩。然而,这些方法不仅面临空间信息与通道信息之间的权衡,而且对窗口大小仍然保持二次复杂性,限制了窗口扩展(在ELAN
中最大为 16 × 16 16\times16 16×16 ,在SRFormer
中为 24 × 24 24\times24 24×24 ,而在论文的方法中则可达到 64 × 64 64\times64 64×64 及更大)。因此,如何在保持计算效率的同时有效聚合多尺度特征,仍然是基于Transformer
的SR
方法面临的一个关键问题。
为此,论文开发了一种通用策略,将流行的基于Transformer
的SR
网络转换为高效图像超分辨率的层级Transformer
(HiT-SR
)。受到多尺度特征聚合在超分辨率任务中成功的启发,论文首先提出用扩展的层级窗口替换Transformer
层中的固定小窗口,使得HiT-SR
能够利用逐渐增大感受野的信息丰富的多尺度特征。为了应对处理大窗口时W-SA
计算负担的增加,论文进一步设计了一种空间-通道相关(spatial-channel correlation
,SCC
)方法,以高效聚合层级特征。具体而言,SCC
由一个双特征提取(dual feature extraction
,DFE
)层组成,通过结合空间和通道信息来改善特征投影,还有空间和通道自相关(S-SC
和C-SC
)方法,以高效利用层级特征。其计算复杂度与窗口大小呈线性关系,更好地支持窗口扩展。此外,与传统的W-SA
采用硬件效率较低的softmax
层和耗时的窗口平移操作不同,SCC
直接使用特征相关矩阵进行变换,并使用层级窗口进行感受野扩展,从而在保持功能性的同时提升了计算效率。
总体而言,论文的主要贡献有三个方面:
-
提出了一种简单而有效的策略,即
HiT-SR
,将流行的基于Transformer
的超分辨率方法转换为层级Transformer
,通过利用多尺度特征和长距离依赖关系来提升超分辨率性能。 -
设计了一种空间-通道相关方法,以高效利用空间和通道特征,其计算复杂度与窗口大小呈线性关系,从而实现对大层级窗口的利用,例如 64 × 64 64\times64 64×64 窗口。
-
将
SwinIR-Light
、SwinIR-NG
和SRFormer-Light
转换为HiT-SR
版本,即HiT-SIR
、HiT-SNG
和HiT-SRF
,取得了更好的性能,同时参数和FLOPs
更少,并实现了约7
倍的速度提升。
Method
Hierarchical Transformer
如图2
所示,流行的基于Transformer
的超分辨率框架通常包括卷积层,从低分辨率输入图像 I L R ∈ R 3 × H × W I_{LR} \in \mathbb{R}^{3\times H\times W} ILR∈R3×H×W 中提取浅层特征 F S ∈ R C × H × W F_{S} \in \mathbb{R}^{C\times H\times W} FS∈RC×H×W ,特征提取模块通过Transformer
块(TBs
)聚合深层图像特征 F D ∈ R C × H × W F_{D} \in \mathbb{R}^{C\times H\times W} FD∈RC×H×W ,以及重建模块从浅层和深层特征恢复高分辨率图像 I H R ∈ R 3 × s H × s W I_{HR} \in \mathbb{R}^{3\times sH\times sW} IHR∈R3×sH×sW ( s s s 表示放大因子)。在特征提取模块中,TBs
通常是由级联的Transformer
层(TLs
)和后续的卷积层构成,其中每个TL
包括自注意力(SA
)、前馈网络(FFN
)和层归一化(LN
)。由于自注意力的计算复杂度与输入大小呈二次关系,因此在TL
中通常采用窗口划分来限制自注意力的作用于局部区域,这被称为窗口自注意力(W-SA
)。尽管W-SA
缓解了计算负担,但其感受野被限制在较小的局部区域,从而阻碍了超分辨率网络利用长距离依赖关系和多尺度信息。
为了高效聚合层级特征,论文提出了一种通用策略,将上述超分辨率框架转换为层级Transformer
。如图2
所示,主要在两个方面进行了改进:
- 在块级别对不同的
TLs
应用层级窗口,而不是对所有TLs
使用固定的小窗口大小,从而使HiT-SR
能够建立长距离依赖关系并聚合多尺度信息。 - 为了克服大窗口带来的计算负担,用一种新颖的空间-通道关联(
SCC
)方法替代TLs
中的W-SA
,这种方法更好地支持以线性计算复杂度进行窗口缩放。
基于上述策略,HiT-SR
不仅通过利用层级特征获得了更好的性能,还得益于SCC
保持了计算效率。
Block-Level Design: Hierarchical Windows
在块级别,为不同的TLs
分配层级窗口,以收集多尺度特征。给定一个基础窗口大小 h B × w B h_{B}\times w_{B} hB×wB ,为第 i i i 个TL
设置窗口大小 h i × w i h_i\times w_i hi×wi 为
h i = α i h B , w i = α i w B , \begin{equation} h_i = \alpha_i h_{B},\quad w_i = \alpha_i w_{B}, \end{equation} hi=αihB,wi=α