热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

点击下方卡片,关注“CVer”公众号AICV重磅干货,第一时间送达点击进入—CV微信技术交流群转载自:AIWalkerpaperhttp

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—> CV 微信技术交流群

转载自:AIWalker

3c9f75c6b8e28ea45f5d8dd2bca8785c.jpeg

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

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

  • 首先,在注意力分支引入大核卷积具有明显的优势;

  • 其次,深度分离卷积可以降低大核卷积导致的巨大计算复杂度问题;

  • 最后,引入像素规范化操作让训练更高效、更稳定。

4797d63a4d0cad990a90190b702369af.jpeg

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

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

cf21336dd928a6d80439289d42d8dee2.jpeg

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

402fe62045f4b1b159fbc90cbf47d16b.jpeg

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

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

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

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

本文方案

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

6d85b9b0477fe6b16fb47310d3df483a.jpeg

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

  • 浅层特征:;

  • 非线性映射:;

  • 图像重建:

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

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 * attnclass 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 + shorcutx = 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)。

da1a571294e01bc52263d6ae2501fce3.jpeg1a62e78b0cb774e10252b2ebdf5acc3c.jpeg9b2cb9c7b8df710fd65f8cb63496fc2c.jpeg

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

  • 所提VapSR取得了SOTA性能,同时具有非常少的参数量。

  • 在X4任务上,相比RFDN与IMDN,VapSR仅需21.68%/28.18%的参数量,即可取得平均0.187dB指标提升;

  • VapSR-S取得了与BSRN-S相当的性能,后者是NTIRE2022-ESR模型复杂度赛道冠军。

  • 在线条重建方面,VapSR具有比其他方案更精确的重建效果。

点击进入—> CV 微信技术交流群

CVPR 2022论文和代码下载

后台回复:CVPR2022,即可下载CVPR 2022论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

超分辨率交流群成立
扫描下方二维码,或者添加微信:CVer222,即可添加CVer小助手微信,便可申请加入CVer-超分辨率 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如超分辨率+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲扫码或加微信号: CVer222,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!▲扫码进群
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看


推荐阅读
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 本文深入探讨了 Git 与 SVN 的高效使用技巧,旨在帮助开发者轻松应对版本控制中的各种挑战。通过详细解析两种工具的核心功能与最佳实践,读者将能够更好地掌握版本管理的精髓,提高开发效率。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • NVIDIA最新推出的Ampere架构标志着显卡技术的一次重大突破,不仅在性能上实现了显著提升,还在能效比方面进行了深度优化。该架构融合了创新设计与技术改进,为用户带来更加流畅的图形处理体验,同时降低了功耗,提升了计算效率。 ... [详细]
  • 表面缺陷检测数据集综述及GitHub开源项目推荐
    本文综述了表面缺陷检测领域的数据集,并推荐了多个GitHub上的开源项目。通过对现有文献和数据集的系统整理,为研究人员提供了全面的资源参考,有助于推动该领域的发展和技术进步。 ... [详细]
  • 蜂鸟E203学习笔记(四)——取指
    1.1取值概述1.1.1如何快速取指首先要保证存储器的读延时足够小,通常使用指令紧耦合存储器(ITCM)和指令缓存器(I ... [详细]
  • PyThon_Swift 势必取代 Python?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Swift势必取代Python?相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 关于ScrumXPDevOps的学习
    最近听了ECUG大会上孙敬云老师的分享感觉受益匪浅,毕竟大学课本上只讲到瀑布模型就没有下文了,工作以后一直贯彻的都是Scrum路线,一直也没有时间好好的去学习整理这部分的知识,直到 ... [详细]
  • 六百字读懂
    译注:来自HackerSchool的MaryRoseCook实现了一个纯JavaScript(Node.js)写就的Git:Gitlet,包含了最主要的一些命令。这个项目一是为了了 ... [详细]
author-avatar
张佩君宣真威任
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有