0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于超大感受野注意力的超分辨率模型

CVer 来源:AIWalker 作者:AIWalker 2022-10-27 13:55 次阅读

注意力机制是深度学习领域非常重要的一个研究方向,在图像超分领域也有不少典型的应用案例,比如基于通道注意力构建的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在大幅降低参数量的同时取得了非常优秀的性能。相比通道注意力与空域注意力,像素注意力是一种更广义的注意力形式,为进一步的探索提供了一个非常好的基线。

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

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

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

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

368720e4-55b7-11ed-a3b6-dac502259ad0.jpg

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

36997258-55b7-11ed-a3b6-dac502259ad0.jpg

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

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

当引入PN后,模型的性能取得了显著的提升,达到了28.92dB,参数量仅为241K。

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

本文方案

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

36c0b368-55b7-11ed-a3b6-dac502259ad0.jpg

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

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

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

classAttention(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)

defforward(self,x):
u=x.clone()
attn=self.pointwise(x)
attn=self.depthwise(attn)
attn=self.depthwise_dilated(attn)
returnu*attn

classVAB(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)

defforward(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)

returnx

本文实验

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

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

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

36e349a0-55b7-11ed-a3b6-dac502259ad0.jpg37744252-55b7-11ed-a3b6-dac502259ad0.jpg378c5568-55b7-11ed-a3b6-dac502259ad0.jpg

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

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

审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 分辨率
    +关注

    关注

    2

    文章

    989

    浏览量

    41564
  • 模型
    +关注

    关注

    1

    文章

    2704

    浏览量

    47687
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119910

原文标题:董超团队提出VapSR:基于超大感受野注意力的超分辨率模型

文章出处:【微信号:CVer,微信公众号:CVer】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    EVAL_PASCO2_SENSOR为什么无法从较低的分辨率高速获得更高的分辨率

    我有一个图像 EVAL_PASCO2_SENSOR,支持高达 3840x2160 分辨率的超高速和高速。 我能以快的速度拍摄所有静止画面。 但是,当我尝试获得更高分辨率(3840x2160)的静态
    发表于 02-22 07:58

    如何估算WM_MOTOR_CONTROL_01旋转分辨率

    尊敬的各位:有了“EVAL_6EDL7141_FOC_3SH”,我的 WM_MOTOR_CONTROL_01 就转过身来了。我该如何估计/计算, WM_MOTOR_CONTROL_01 旋转分辨率
    发表于 01-22 06:09

    如何提高硬件pwm的分辨率

    如题,新唐的pwm一般都是16bit, 其实也可以利用预分频比来提高一些所谓的分辨率. 现在有这样一个需求. 要求脉宽在0-65535us之间连续可调, 周期,也类似.但是肯定要大于65535,连续
    发表于 01-16 08:30

    详述ADC精度和分辨率的差异

    在与使用模数转换器(ADC)的系统设计人员进行交谈时,我最常听到的一个问题就是: “你的16位ADC的精度也是16位的吗?” 这个问题的答案取决于对分辨率和精度概念的基本理解。尽管是两个完全
    发表于 12-20 06:55

    ADC分辨率和精度的区别是什么

    分辨率和精度这两个,经常拿在一起说,才接触的时候经常混为一谈。对于ADC来说,这两样也是非常重要的参数,往往也决定了芯片价格,显然,我们都清楚同一个系列,16位AD一般比12位AD价格贵,但是同样是
    发表于 12-19 06:41

    峰峰值分辨率与有效分辨率的区别

    低带宽、高分辨率ADC的分辨率为16位或24位。但是,器件的有效位数受噪声限制,而噪声则取决于输出字速率和所用的增益设置。有些公司规定使用有效分辨率来表示该参数,ADI则规定使用峰峰值分辨率
    发表于 12-15 07:56

    峰值噪声与有效噪声的区别?峰值分辨率与有效分辨率的区别?

    峰值噪声与有效噪声的区别,峰值分辨率与有效分辨率的区别?无失码分辨率又是指的什么?
    发表于 11-27 11:42

    请问有采样250MHz左右、分辨率为12位,管脚兼容8位分辨率的adc吗?

    您好, 请问有采样250MHz左右 分辨率为12位,管脚兼容8位分辨率的adc吗? 谢谢!
    发表于 11-21 06:46

    请问AD5522的分辨率如何提高?

    AD5522的输出电压跨度在22.5V左右,对应16bit的DAC的分辨率约22.5V/65536=343uV。 如果我想提高到170uV左右的分辨率,但是又要保持输出电压跨度22.5V不变需要用
    发表于 11-15 08:20

    怎么调整andriod输出分辨率,适配分辨率大的屏?

    求教,怎么调整andriod输出分辨率,适配分辨率大的屏
    发表于 11-06 07:13

    变速传动中转速估计和转子位置传感器分辨率的选择及ST伺服方案介绍

    转子位置测量的分辨率• 空间量化转子位置影响的建模• 传感器分辨率对速度估计的影响• 变频驱动器基于模型的速度估计算法:• 矢量跟踪观测器• 速度控制回路的调整• 位置传感器分辨率的选
    发表于 09-07 07:10

    如何提高新唐硬件pwm的分辨率

    如题, 新唐的pwm一般都是16bit, 其实也可以利用预分频比来提高一些所谓的分辨率。 现在有这样一个需求。 要求脉宽在0-65535us之间连续可调, 周期,也类似。但是肯定要大于65535
    发表于 08-23 06:49

    S32K344 14位ADC分辨率和12位分辨率之间有什么区别?

    我正在使用 S32K344s ADC。网站上的数据表和规范声明了 12 位分辨率,但 ADC 外设可以在 CALBISTREG 寄存器中设置为 14 位分辨率。 如果 ADC 指定为 12 位,14 位分辨率和 12 位
    发表于 06-06 09:10

    如何使用gstreamer获得更高的分辨率

    我正在使用带有最新 Kirkstone yocto bsp 版本的 imx8mp,我的图像传感器支持 4056x3040 分辨率。 运行 gstreamer 时,我观察到任何高于 4K
    发表于 05-29 06:00