目录
引言
在图像超分辨率(Super-Resolution, SR)任务中,Transformer 架构因其全局注意力特性被广泛关注。相比传统 CNN 超分模型,基于自注意力的网络在捕捉长距离依赖和复杂纹理关系方面更具优势。SwinIR 则将 Swin Transformer(一种分层、局部注意力的 Transformer 变体)引入超分任务,通过“窗口级”自注意力提升计算效率,同时保持对局部+全局信息的良好建模能力。
SwinIR 的核心思路
- Swin Transformer 结构:
- 将图像划分为非重叠的固定大小“窗口”,在各窗口内进行多头自注意力计算;
- 通过移位窗口(shifted window)机制使不同块之间的信息交互;
- 分层结构,从低分辨率特征到更高层次特征逐步提炼。
- 多阶段残差框架:
- 在 SwinIR 中,Swin Transformer Blocks 与跳跃连接结合,让深度网络在恢复高频细节时更具稳定性。
- 像素 Shuffle 或反卷积做上采样:
- 最后阶段将特征还原到高分辨率大小。
- 多种图像重建任务统一:
- 可同时在 SR、去噪等任务上取得高品质结果,展现强泛化能力。
网络结构与数学表达
Swin Transformer 的基础
Swin Transformer 是一种分层(hierarchical) Transformer,对输入图像特征按窗口(window)划分进行局部自注意力,减少计算量。
- 在每个阶段,都把输入特征图分割成非重叠窗口 (如 7×7),并在这些窗口内做多头自注意力;
- 交替采用移位窗口(Shifted Window)策略,使相邻窗口之间能互相交互信息。
SwinIR 主体结构
SwinIR 通常包含下列模块:
- 浅层特征提取:对低分辨率图像做一次或几次卷积提取初步特征;
- Swin Transformer Blocks:堆叠若干层Swin Transformer,在窗口内进行自注意力;
- 跳跃连接(long skip connection):将浅层特征与深层输出相加,类似 EDSR 的残差结构;
- 上采样:如使用像素 Shuffle(PixelShuffle)或反卷积,将特征放大到目标分辨率;
- 输出卷积:映射到 3 通道 (RGB) 获得最终 I ^ SR \hat{I}_{\text{SR}} I^SR。
窗口多头自注意力(Window Multi-Head Self-Attention)
在Swin Transformer中,假设特征图被分成 H M × W M \frac{H}{M}\times \frac{W}{M} MH×MW 个窗口(每窗口大小为 M × M M\times M M×M);
- 对每个窗口内的 tokens(像素向量)做多头自注意力:
Attn ( Q , K , V ) = softmax ( Q K T d h ) V , \text{Attn}(\mathbf{Q}, \mathbf{K}, \mathbf{V}) = \text{softmax}\Bigl(\frac{\mathbf{Q}\mathbf{K}^T}{\sqrt{d_h}}\Bigr)\mathbf{V}, Attn(Q,K,V)=softmax(dhQKT)V,
其中 Q , K , V \mathbf{Q}, \mathbf{K}, \mathbf{V} Q,K,V 是窗口内 tokens 的投影, d h d_h dh 为单个头的维度。 - 移位窗口:在下一个 Swin Block 中,窗口起始位置会偏移一部分,使得先前窗口边缘像素能与相邻窗口像素同处一个窗口,从而实现全局信息交互。
残差与跳跃连接
SwinIR 在网络整体和每个 Transformer block 内都引入残差:
- 每个 Swin Block: x l + 1 = x l + SwinBlock ( x l ) \mathbf{x}_{l+1} = \mathbf{x}_l + \text{SwinBlock}(\mathbf{x}_l) xl+1=xl+SwinBlock(xl);
- 整体网络也可能用global residual:
F out = F in + H ( F in ) , F_{\text{out}} = F_{\text{in}} + \mathcal{H}(F_{\text{in}}), Fout=Fin+H(Fin),
提升收敛与高频信息还原能力。
损失函数
像素损失(Pixel Loss)
L pix = ∥ I ^ SR − I HR ∥ _ 1 或 ℓ 2 , \mathcal{L}_{\text{pix}} = \|\hat{I}_{\text{SR}} - I_{\text{HR}}\|\_1 \quad\text{或}\quad \ell_2, Lpix=∥I^SR