Spatially-Adaptive Feature Modulation for Efficient Image Super-Resolution

本文最后更新于:2023年9月6日 上午

基于空间自适应特征调制的高效图像超分辨率

导读

本文聚焦于Efficient SR。虽然目前已经提出了许多用于图像超分辨率的解决方案,但这些算法通常需要很高的功耗和内存占用。本文们提出了一个简单而有效的深度网络来有效地解决图像超分辨率问题。具体来说,作者们在ViT块上提出了一种空间自适应特征调制 (SAFM) 机制。首先在输入特征上应用 SAFM 块来动态选择具有代表性的特征表示。由于SAFM块从远程角度处理输入特征,作者进一步引入卷积通道混合器 (CCM) 来同时提取局部上下文信息并执行通道混合。大量的实验结果表明,本文方法在网络参数方面比最先进的高效SR方法(如IMDN)小3倍,计算成本更低,同时实现相当的性能。

为了减少沉重的计算负担,各种方法,包括有效的模块设计,知识蒸馏,神经架构搜索和结构重新参数化等都试图提高SR算法的效率。在这些有效的SR模型中,主要有两个优化方向:

  • 一个方向是减少模型参数或复杂度(FLOPs)。采用轻量级策略,如递归方式,参数共享和备用卷积。虽然这些方法确实减小了模型大小,但它们通常通过增加模型的深度或宽度来补偿由共享递归模块或稀疏卷积引起的性能下降,这在执行SR重构时影响推理效率。
  • 另一个方向是加快推理时间。后上采样是预定义输入的重要替代,这显著加快了运行时间。模型量化有效地加速了延迟并降低了能耗,特别是在边缘设备中部署算法时。结构重新参数化提高了推理阶段训练有素的模型的速度。这些方法运行速度快,但重建性能差。

作者开发了一种基于多尺度表示的特征调制机制来动态选择具有代表性的特征。由于调制机制从长远的角度处理输入特征,因此需要补充上下文信息。为此,作者提出了一种基于FMBConv的卷积信道混合器,该混频器可以同时对局部特征进行编码和混频。SAFMN网络能够在SR性能和模型复杂性之间实现更好的平衡。

性能-效率对比图,圆圈大小表示参数的数量,PSNR是峰值信噪比

LAM结果表示在超分用红色框标记的patch时,输入的LR图像中每个像素的重要性。DI值反映了所涉及的像素的范围。DI值越大,关注范围越广。

本文方法

SAFMN

如上图所示,该网络由以下部分组成:特征混合模块(FMM)的堆叠层和上采样层。具体来说,作者首先应用一个3 × 3的卷积层,提取输入的LR图像的特征,生成浅层特征$F_0$。然后,利用多个堆叠的FMM从$F_0$中生成更精细的深度特征,用于HR图像重建,其中每个FMM层有一个空间自适应特征调制(SAFM)子层和一个卷积通道混合器(CCM)。为了恢复HR目标图像,作者引入了一个全局残差连接来学习高频细节,并采用一个轻量级的上采样层来快速重建,该上采样层只包含一个3×3卷积和一个亚像素卷积。

作者的网络可以被定义为:

$F_0 = C_ω(I_{LR}),$

$I_{SR} = U_γ(M_θ(F_0) + F_0),$

可以看到,与经典的注意力模块相比,本文主要是做了两点改进。其一是把多头注意力替换成了所提出的SAFM,其二是把MLP替换成了所提出的CCM。下面将对这两个方面的改进详细梳理。

空间自适应特征调制

SAFM

这一模块是本文的核心。这个模块的主要目的是实现像注意力机制中的那种全局交互,同时不会带来太大的计算代价。作者实现这一目标的方法很是新颖,通过利用多尺度特征的融合来考虑远距离的交互。

这个模块的具体流程是这样的:

首先把输入特征$X$按照通道维度进行拆分(torch.chunk),这样就得到了多个具有与$X$相同空间大小但是通道大小缩减的子特征图,在上图中就是蓝色、绿色、黄色、橙色的四个块。

$[X_0,X_1,X_2,X_3] = Split(X),$

下一步就是对这4个特征图进行不同的空间下采样-上采样处理。选择一个特征图不做处理(图中的橙色),选择其他的三个特征图分别进行x2、x4、x8倍率的下采样操作。

通过上述操作,作者手头上就有了4中不同尺度的特征图,之后把它们均经过深度可分离(DW)卷积,就是上图中的深蓝色方块。由于说更小的特征图(比如x8的特征图)有着更大的感受野,因此通过相同卷积核大小的卷积后,不同尺度的特征图中的每个像素的感受野都是不同的。x8倍率的感受野最大。之后为了方便后续的通道维度拼接,作者把之前经过下采样的特征通过最近邻插值再依次上采样回来。

$\hat{X_0} = DW-Conv_{3×3}(X_0),$

$\hat{X_i} =\uparrow_{p} (DW-Conv_{3×3}(\downarrow_{\frac{p}{2^{i}}} (Xi))), 1 ≤ i ≤ 3,$

从SAFM学习到的不同尺度的深层特征

这样便可以把具有相同HW大小的特征图进行拼接了。最后跟一个1x1卷积(因为刚才4个子特征并未在通道上交互,才加上这个1x1卷积的)完成最后处理。

$\hat{X} = Conv_{1×1}(Concat([\hat{X}_0,\hat{X}_1,\hat{X}_2,\hat{X}_3])),$

到这里还没有结束,上面这个结果并不是作为SAFM的输出,而是作为一个调制器,还需要与原始输入特征相乘。就是把这个$\hat{X}$经过GELU激活,之后再和输入$X$相乘就完事了,公式如下:

$\bar{X} = \phi (\hat{X} )\odot X,$

做像SR这样的Low-Level任务,在空间上的信息缩减应该是需要避免的,而本文作者在得到多尺度特征的时候用到了下采样,而下采样操作会丢失一些细节,因此作者只是把这个$\hat{X}$作为一个门控机制的权值而没有作为模块的最终输出。

卷积通道混合器

SAFM子块专注于探索全局信息,而局部上下文信息也有助于高分辨率图像重建。作者提出了一种基于FMBConv的卷积信道混频器(CCM)来增强局部空间建模能力和进行信道混合。提出的CCM包含一个3 × 3卷积和一个1×1卷积。其中,第一个3×3卷积对空间局部上下文进行编码,并将混合信道的输入特征的信道数量加倍;之后的1 × 1卷积将通道减小到原来的输入维数。GELU激活函数应用于隐藏层进行非线性映射。

CCM

相比原始注意力机制中的MLP,这里主要是替换成了3x3卷积,同时把RELU换成了GELU。

与原始的FMBConv相比,作者进行了以下修改,使其与作者的架构更兼容:(1)移除squeeze-and-excitation(SE)块;(2)用LayerNorm 替换BatchNorm ,并将其移动到卷积之前。排除SE块主要是因为SAFM还具有对信道维度的动态效用,并且在没有SE block的情况下重建性能不会下降。此外,使用LayerNorm可以更好地稳定模型训练和获得更好的结果。

损失函数

结合平均绝对误差(mean absolute error, MAE)损失和基于FFT(快速傅里叶变换)的频率损失函数对这些参数进行优化,其定义为:

$\mathcal{L} =|| I_{SR} - I_{HR} || {1}+ \lambda || \mathcal{F}(I{SR})- \mathcal{F}(I_{HR}) | | _ {1} $

其中$\mathcal{F}$表示快速傅里叶变换,$\lambda$设置为0.05

FMM

基于ViT的网络设计,包括全局特征聚合的自关注模块和细化特征的前馈网络,作者将提出的SAFM和CCM形成一个统一的特征混合模块来选择具有代表性的特征。特征混合模块可以表示为:

$Y = SAFM(LN(X)) +X, $

$Z = CCM(LN(Y)) +Y,$

其中,$LN(·)$为LayerNorm层,$X、Y、Z$为中间特征。

实验

评价指标

作者使用PSNR (Peak Signal-to-Noise Ratio) 峰值信噪比和SSIM (Structural SIMilarity) 结构相似性来评估恢复图像的质量。所有PSNR和SSIM值都是在变换到YCbCr颜色空间的图像的Y通道上计算的。

彩色图像通常有三种方法来计算PSNR:

  1. 分别计算 RGB 三个通道的 PSNR,然后取平均值。

  2. 计算 RGB 三通道的 MSE ,然后再除以 3 。

  3. 将图片转化为 YCbCr 格式,然后只计算 Y 分量也就是亮度分量的 PSNR。

定量比较

对比试验

定性比较

内存和运行时间比较

消融实验


Spatially-Adaptive Feature Modulation for Efficient Image Super-Resolution
https://jialiangz.github.io/2023/08/23/SAFMN/
作者
爱吃菠萝
发布于
2023年8月23日
更新于
2023年9月6日
许可协议