手把手教你改进PAN!董超团队开源超大感受野注意力超分方案VapSR

2022 年 10 月 24 日 极市平台
↑ 点击 蓝字  关注极市平台

作者丨HappyAIWalker
来源丨AIWalker
编辑丨极市平台

极市导读

 

意机制在设计高级超分辨率(SR)网络中起着关键作用。在这项工作中,作者们通过改进注意机制设计了一个高效的SR网络。VapSR以更少的参数优于当前的轻量级网络。>>加入极市CV技术交流群,走在计算机视觉的最前沿

paper:https://arxiv.org/abs/2210.05960

code:https://github.com/zhoumumu/VapSR

注意力机制是深度学习领域非常重要的一个研究方向,在图像超分领域也有不少典型的应用案例,比如基于通道注意力构建的RCAN,基于二阶注意力机制构建的SAN,基于像素注意力机制构建的PAN,基于Transformer自注意力机制构建的SwinIR,基于多尺度大核注意力的MAN等。

本文则以PAN为蓝本,对其进行逐步改进以期达到更少的参数量、更高的超分性能。该方案具体包含以下几个关键点:

  • 提升注意力分割的感受野,类似大核卷积注意力VAN;
  • 将稠密卷积核替换为深度分离卷积,进一步降低参数量;
  • 引入像素规范化(Pixel Normalization)技术,其实就是Layer Normalization,但出发点不同。

上述关键技术点为注意力机制的设计提供了一个清晰的演变路线,最终得到了本文的VapSR,即大感受像素注意力网络(VAst-receptive-field Pixel attention Network)。

实验结果表明:相比其他轻量超分网络,VapSR具有更少的参数量。比如,项目IMDB与RFDN,VapSR仅需21.68%、28.18%的参数即可取得与之相当的性能。

本文动机

通过引入像素注意力,PAN在大幅降低参数量的同时取得了非常优秀的性能。相比通道注意力与空域注意力,像素注意力是一种更广义的注意力形式,为进一步的探索提供了一个非常好的基线。

受启发于自注意力的发展,我们认为:基于卷积操作的注意力仍有进一步改进的空间。因此,作者通过以下三个像素注意力中的设计原则展示了改善超分注意力的过程:

  • 首先,在注意力分支引入大核卷积具有明显的优势;
  • 其次,深度分离卷积可以降低大核卷积导致的巨大计算复杂度问题;
  • 最后,引入像素规范化操作让训练更高效、更稳定。

Large Kernel 以上图i中的baseline为基础,作者首先对注意力分支进行感受野扩增:将提升到(将图示ii),性能提升0.15dB,但参数量从846K提升到了4123K。

Parameter Reduction 为降低参数量,我们尝试尽可能移除相对不重要的部分。作者提出了三个方案:(1) 将非注意力分支的卷积尺寸从下调到;(2) 将大核卷积注意力分支替换为深度深度分离卷积;(3) 将深度分离卷积中的深度卷积进行分解为深度卷积+带扩张因子的深度卷积(该机制可参考下图,将卷积拆分为+,其中后者的扩张因子为3)。此时,模型性能变为28.48dB,但参数量降到了240K,参数量基本被压缩到了极限。

Pixel Normalization(PN) 注意力机制的元素乘操作会导致训练不稳定问题:小学习率收敛不够好,大学习率又会出现梯度异常。前面的注意力改进导致所得方案存在性能下降问题。为解决该问题,作者经深入分析后提出了像素规范化技术(可参考下图不同规范化技术的可视化对比)。

假设输入特征为 , 第 个像素 的特征均值与方差可以描述如下:

那么, 像素规范化可以表示为:

那么,像素规范化可以表示为:当引入PN后,模型的性能取得了显著的提升,达到了28.92dB,参数量仅为241K。

Switch Attention to Middle 在上述基础上,作者进一步将注意力的位置进行了调整,放到了两个 卷积中间。此时,模型性能得到了0.03dB提升,达到了28.95dB,参数量仍为241K。

本文方案

前面的探索主要聚焦在微观层面,基于此,作者进一步在宏观层面进行了更多设计与提炼,进而构建了VapSR,取得了更佳的性能,同时具有更少的参数量。

上图给出了所提VapSR架构示意图,延续了常规轻量方案的设计思路:

  • 浅层特征: ;
  • 非线性映射:
  • 图像重建:

模块在前面探索得到的模块上进行了微调: (1) 主要是将模块输入与输出通 道数从 64 减少到了 48 , 保持中间注意力部分的通道数仍为 (2) 将注意力分 支 深度扩张卷积 (有时也称之为空洞卷积) 调整为 深度扩张卷积, 此时感 受野为 (3) 调整了注意力分支三个卷积的顺序, 将 卷积移到最前 面。对于 VapSR-S, 作者进一步将 部分从 卷积调整为组卷积 , 该操作可以进一步降低参数量。

class Attention(nn.Module):  
    def __init__(self, dim):  
        super().__init__()  
        self.pointwise = nn.Conv2d(dim, dim, 1)  
        self.depthwise = nn.Conv2d(dim, dim, 5, padding=2, groups=dim)  
        self.depthwise_dilated = nn.Conv2d(dim, dim, 5, 1, padding=6, groups=dim, dilation=3)  

    def forward(self, x):  
        u = x.clone()  
        attn = self.pointwise(x)  
        attn = self.depthwise(attn)  
        attn = self.depthwise_dilated(attn)  
        return u * attn  

class VAB(nn.Module):  
    def __init__(self, d_model, d_atten):  
        super().__init__()  
        self.proj_1 = nn.Conv2d(d_model, d_atten, 1)  
        self.activation = nn.GELU()  
        self.atten_branch = Attention(d_atten)  
        self.proj_2 = nn.Conv2d(d_atten, d_model, 1)  
        self.pixel_norm = nn.LayerNorm(d_model)  
        default_init_weights([self.pixel_norm], 0.1)  

    def forward(self, x):  
        shorcut = x.clone()  
        x = self.proj_1(x)  
        x = self.activation(x)  
        x = self.atten_branch(x)  
        x = self.proj_2(x)  
        x = x + shorcut  
      
        x = x.permute(0, 2, 3, 1) #(B, H, W, C)  
        x = self.pixel_norm(x)  
        x = x.permute(0, 3, 1, 2).contiguous() #(B, C, H, W)  
      
        return x  

本文实验

在实验部分,作者构建了VapSR与VapSR-S两个版本的轻量型超分方案:

  • VapSR:包含21个VAB模块,主干通道数为48;
  • VapSR-S:包含11个VAB模块,主干通道数为32。

此外,需要注意的是:对于X4模型,重建模块并未采用常规的轻量方案(Conv+PS),而是采用了类EDSR的重方案(Conv+PS+Conv+PS)。

上表&图给出了不同方案的性能与可视化效果对比,从中可以看到:

  • 所提VapSR取得了SOTA性能,同时具有非常少的参数量。
  • 在X4任务上,相比RFDN与IMDN,VapSR仅需21.68%/28.18%的参数量,即可取得平均0.187dB指标提升;
  • VapSR-S取得了与BSRN-S相当的性能,后者是NTIRE2022-ESR模型复杂度赛道冠军。
  • 在线条重建方面,VapSR具有比其他方案更精确的重建效果。

△点击卡片关注极市平台,获取 最新CV干货


极市干货
算法竞赛:往届获奖方案总结以及经验详解|ACCV2022国际细粒度图像分析挑战赛
技术综述 BEV 学术界和工业界方案、优化方法与tricks综述 PyTorch下的可视化工具(网络结构/训练过程可视化)
极视角动态:极视角与华为联合发布基于昇腾AI的「AICE赋能行业解决方案」算法误报怎么办?自训练工具使得算法迭代效率提升50%!

CV技术社群邀请函 #




△长按添加极市小助手
添加极市小助手微信(ID : cvmart2)

备注:姓名-学校/公司-研究方向-城市(如:小极-北大-目标检测-深圳)


即可申请加入极市目标检测/图像分割/工业检测/人脸/医学影像/3D/SLAM/自动驾驶/超分辨率/姿态估计/ReID/GAN/图像增强/OCR/视频理解等技术交流群


极市&深大CV技术交流群已创建,欢迎深大校友加入,在群内自由交流学术心得,分享学术讯息,共建良好的技术交流氛围。


点击阅读原文进入CV社区

收获更多技术干货

登录查看更多
0

相关内容

图像超分辨率(SR)是提高图像分辨率的一类重要的图像处理技术以及计算机视觉中的视频。
【博士论文】深度卷积神经网络架构设计及优化问题研究
专知会员服务
49+阅读 · 2022年12月11日
【CVPR2021】探索图像超分辨率中的稀疏性以实现高效推理
【ECCV2020】EfficientFCN:语义分割中的整体引导解码器
专知会员服务
15+阅读 · 2020年8月23日
国家自然科学基金
5+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Arxiv
17+阅读 · 2022年2月23日
Arxiv
16+阅读 · 2021年3月2日
VIP会员
相关基金
国家自然科学基金
5+阅读 · 2017年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2011年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2008年12月31日
Top
微信扫码咨询专知VIP会员