最快可达 SwinIR 4倍的高效超分网络

2023-11-04

在这里插入图片描述
(本文首发于"我爱计算机视觉",如需转载等事宜请联系我爱计算机视觉
作者单位: 香港理工大学、OPPO
论文链接:https://arxiv.org/abs/2203.06697
代码链接:https://github.com/xindongzhang/ELAN

看点

Transformer通过利用自注意(self-attention, SA)进行特征提取,取得了令人印象深刻的结果。然而SA的计算是非常昂贵的,并且一些操作对于SR任务来说可能是冗余的。本文提出了一种高效的远程注意网络(ELAN),它首先采用shift卷积在保持与1x1卷积相当的复杂度情况下有效的提取图像局部结构信息,然后提出了一种分组多尺度自注意(GMSA)模块,它使用不同的窗口大小在非重叠的特征组上计算SA。通过将两个shift卷积与GMSA模块级联,构建高效的远程注意块(ELAB),并通过共享注意机制进一步加速该模块的运行,极限情况下能比SwinIR快四倍!

方法

Overview

ELAN的架构如下图所示,它由三部分组成:浅层特征提取、深度特征提取和HR图像重建。其中浅层特征提取由一个3x3卷积组成,深度特征提取由堆叠的ELAB和一个残差连接组成,重建模块由一个3 × 3卷积和一个PixelShuffle操作组成,损失采用 L 1 L_1 L1范式。
在这里插入图片描述

ELAB

如下图所示,ELAB由局部特征提取和GMSA组成,上述都配备了残差连接。
在这里插入图片描述

局部特征提取: 中间特征 X X X以往多采用多层感知或两个1 × 1卷积的方法,但这只有1 × 1的感受野。本文采用中间有ReLU激活函数的两个shift卷积来扩大感受野以更有效地提取局部特征。shift卷积由shift运算和1 × 1卷积组成。具体的说,shift卷积将输入特征平均分为五组,前四组特征沿不同的空间维度进行位移,最后一组不变,然后用1x1卷积就可以利用位移后的相邻元素的信息。这没有引入额外的可学习参数并保持了与1x1卷积相似的复杂度,同时使感受野由1变成了3。
GMSA: 给定一个CxHxW的特征图,使用窗口大小为M的自注意的计算复杂度为 2 M 2 H W C 2M^2HWC 2M2HWC。GMSA首先将输入特征分成K组,然后利用 M k , k ∈ [ 1 , K ] M_k,k\in[1,K] Mk,k[1,K]的窗口大小计算第K组特征的SA。假设通道平均分割且,单个组的计算复杂度为 2 / k ( M k 2 H W C ) 2/k(M_k^2HWC) 2/k(Mk2HWC),总复杂度为 2 / k ( ∑ k M k 2 ) H W C 2/k(\sum_kM_k^2)HWC 2/k(kMk2)HWC,然后将不同组的SA输出通过1x1卷积聚合。
加速SA(ASA): 首先,摒弃了以往Transformer中广泛使用的层归一化(LN),因为LN将SA的计算分割成许多元素级操作,这不利于高效推理。本文采用批归一化(BN)来稳定训练过程,在推理阶段BN可以合并到卷积运算中,不会造成额外的计算成本。其次,SwinIR中的SA使用三个独立的1 × 1卷积θ、φ和g计算,本文设置θ = φ,计算对称高斯空间中的SA,这可以节省一个1 × 1卷积但不牺牲SR的性能,如上图(e)所示。
共享注意得分图: 上述SA的一次前向传递包含两个1 × 1卷积和四个reshape操作。由于SR任务中的特征尺寸较大,reshape耗时较长。为此,本文在相邻的SA模块之间共享注意得分图。如下图b所示,第i个SA模块的注意得分图,直接被后面n个SA模块重复使用。这种方法在n个SA时减少2n次reshape和n个1×1卷积。实验发现,使用少量的n(如1或2)时只会导致SR性能的轻微下降,但节省了大量的计算资源。
在这里插入图片描述
移位窗口: 本文改进了SwinIR的移位窗口机制,如上图c所示。首先对特征进行对角线方向的循环偏移,并计算偏移后的GMSA。然后将结果反向循环偏移。利用半窗口大小的循环偏移可以对特征映射进行新的划分,并在之前的GMSA模块中引入相邻非重叠窗口之间的连接。虽然循环偏移将边界上的一些像素点转移到较远的区域,但这些像素点在SR任务中只占小部分,所以循环偏移对SR的影响很小。利用循环移位机制就可以去掉SwinIR中所采用的掩蔽策略和相对位置编码,使得网络更加整洁高效。

实验

消融实验

移位窗口机制,推断速度从247ms降低到177ms的同时性能几乎保持不变。用ASA来替代SA,在不损失PSNR/SSIM性能的情况下,推理延迟从177ms降低到66ms。通过采用GMSA对长期依赖模型进行有效建模,PSNR和SSIM指数在所有5个数据集上都得到了显著改善。这表明GMSA比SwinIR小窗口下的SA更有效。共享注意机制,可以在性能下降很小的情况下,进一步加快光的推断时间。
在这里插入图片描述

定量评估

轻量级SR模型对比
Transformer的方法通过利用图像的自相似性,在PSNR/SSIM指标上优于许多基于cnn的方法。但是因为在SwinIR中SA是一个沉重的计算负担,SwinIR-light的延迟比CNN的方法要慢×10以上。得益于高效的远程注意力设计,ELAN-light模型不仅在所有五个数据集上获得了较好的指标,而且比SwinIR-light快了×4.5。同时参数和计算复杂度也比SwinIR-light要小。
在这里插入图片描述在这里插入图片描述
经典SR模型对比
ELAN在所有数据集上都获得了更好的PSNR和SSIM,推理速度×2。
在这里插入图片描述在这里插入图片描述

定性评估在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

最快可达 SwinIR 4倍的高效超分网络 的相关文章

  • M3U8视频AES解密播放

    在网站上看到一些有意思的视频想要下载下来的时候 发现没有找不到mp4格式的地址 因为该网站视频播放是HLS HTTP Live Streaming 技术 HLS是Apple公司研发的流媒体传输技术 包括一个m3u8的索引文件 多个ts分片文
  • MySql锁机制(全网最全、最详细、最清晰)

    1 MySql锁机制 锁机制的作用 解决因为资源共享 而造成的并发问题 没有锁机制时 例如一号用户和二号用户都要去买同一件商品 假如这件商品是一件衣服 一号用户手速稍微快了一些 于是就先买到了这件衣服 但是因为没有 锁机制 于是就造成了二号
  • 【笔试强训选择题】Day28.习题(错题)解析

    作者简介 大家好 我是未央 博客首页 未央 303 系列专栏 笔试强训选择题 每日一句 人的一生 可以有所作为的时机只有一次 那就是现在 文章目录 前言 一 Day28习题 错题 解析 总结 前言 一 Day19习题 错题 解析 1 解析
  • ES高可用及集群管理

    ES高可用及集群管理 Elasticsearch 是一个分布式 高扩展 高实时 RESTful 风格的搜索与数据分析引擎 服务可用性 允许有节点停止服务 数据可用性 部分节点丢失 不会丢失数据 水平扩展 集群容错 一 分片 1 什么是分片及

随机推荐

  • Unity Blend Tree动画的混合,认识Blend Tree

    我们在Animator Controller中除了可以创建一个State外还可以创建一个Blend Tree 如下 那么我们看下新创建的Blend Tree和State有什么区别 唯一的区别就是Montion指向的类型变成了Blend Tr
  • 启动测试(建立索引库,映射,用分页结果集的方法把当前的页面的商品数据拿到后,再用do,while方法把当前商品页面转换给goods列表,再把结果导入索引库)

    我们要去实现对上一次内容的测试 上一次内容大概就是讲了怎么样去完成Goods查询页面的编写 下面的测试当中需要把上次做完的东西导入索引库当中对索引库进行增删改查 然而就会用到下面的方法 一个是Template方法 导入索引库 一个是Repo
  • python调用摄像头

    import cv2 模块称作cv2 python需要用到opencv python模块 可在命令行模式输入 pip install opencv python i https pypi douban com simple capture
  • AI建模

    三维重建是将客观世界中的物体在虚拟空间表达出来 在大众视野中 物品三维重建最直观的应用当属虚拟仿真和VR AR导航 其实在学科专业领域 三维重建已经更早地应用在高精地图 测绘系统 城市规划等领域 科技发展的终极方向应当是普适性 结合现代信息
  • Git的下载及使用

    一 Git的下载 1 下载Git 打开Git官网进行下载Git git scm com 直接点击Download for Windows进入Git版本页面 在此页面根据自己电脑的操作系统选择相应的Git版本 2 安装程序 下载完成之后双击g
  • 炒冷饭,springboot自定义logo详解

    初学springboot的朋友 是不是经常能看到项目启动时日志打印的springboot图标logo 有没有人想让他长成自己的样子 现在我就告诉你 如果不想显示logo 你可以在配置文件中增加如下配置 spring main banner
  • 64位操作系统不能安装64位虚拟机的解决办法

    很多人都遇到过这样的情况把 就是自己的电脑CPU明明是64的 为什么安装64的虚拟机却不能安装 安装时出现如下错误 但是在真实机上安装却没有问题 这是为什么呢 这是因为你电脑的硬件虚拟化没有开启 据说host系统是64位的 guest系统才
  • 1.错误处理org.apache.jasper.JasperException: The absolute uri: http://java.sun.com/jsp/jstl/core。是什么原因造成

    解决方法 tomcat 8 5 启用项目时提示 无法在web xml或使用此应用程序部署的jar文件中解析绝对uri http java sun com jsp jstl core 项目需要扫描Tld文件 修改一下tomcat 配置conf
  • retrofit应用详解与源码解析--奇技淫巧

    本文出自门心叼龙的博客 属于原创类容 未经允许 不得转载 本专栏的同步视频教程已经发布到CSDN学院 https edu csdn net course detail 30408 文章目录 请求超时设置 日志拦截器的设置 网络的缓存设置 自
  • linux shell中\w \s \d \b ^ $等常用匹配用法

    正则表达式 w s d b 用法 匹配除换行符以外的任意字符 w 匹配字母或数字或下划线 s 匹配任意的空白符 d 匹配数字 等价于 0 9 D 匹配非数字字符 b 匹配单词的开始或结束 匹配字符串的开始 匹配字符串的结束 其中 A Z 表
  • running beyond physical memory limits. Current usage: 2.0 GB of 2 GB physical memory used; 2.6 GB of

    昨天使用hadoop跑五一的数据 发现报错 Container pid 47660 containerID container 1453101066555 4130018 01 000067 is running beyond physic
  • starUML教程-用例图/类图

    用例图 也称为用户模型图 是从软件需求分析到最终实现的第一步 它是从客户的角度来描述系统功能 它包含3个基本组件 1 参与者 与系统打交道的人或使用该系统的人 2 用例 表示该系统的某项完整功能 3 关系 定义用例之间的关系 泛化关系 扩展
  • 蓝桥杯每日一题(12):猜年龄(小明)(python)

    Topic 来道简单的 小明带两个妹妹参加元宵灯会 别人问她们多大了 她们调皮地说 我们俩的年龄之积是年龄之和的6倍 小明又补充说 她们可不是双胞胎 年龄差肯定也不超过8岁啊 请你写出 小明的较小的妹妹的年龄 Solution 填空题以快为
  • 【web安全】——命令执行漏洞(RCE)详解

    作者名 Demo不是emo 主页面链接 主页传送门创作初心 舞台再大 你不上台 永远是观众 没人会关心你努不努力 摔的痛不痛 他们只会看你最后站在什么位置 然后羡慕或鄙夷座右铭 不要让时代的悲哀成为你的悲哀专研方向 网络安全 数据结构 每日
  • 华为OD机试 - 找出两个整数数组中同时出现的整数(Java)

    题目描述 现有两个整数数组 需要你找出两个数组中同时出现的整数 并按照如下要求输出 有同时出现的整数时 先按照同时出现次数 整数在两个数组中都出现并目出现次数较少的那个 进行归类 然后按照出现次数从小到大依次按行输出 没有同时出现的整数时
  • 区块链分布式存储

    想知道更多区块链技术知识 请百度 链客区块链技术问答社区 链客 有问必答 BAT垄断了互联网创业道路 DAPP成为创投界新趋势 区块链革命引领市场变天 区块链 创业当红 互联网 创业成为经典 Dapp 区块链 应用 将会如何改变我们的互联网
  • Nacos配置中心一直连接本地问题&解决

    最近使用写了一个微服务的demo 使用nacos做配置中心 项目启动我的nacos一直去连接本地 配置文件中也指定了nacos的地址 后来 也是查阅资料才得知 bootstrap yml bootstrap properties 用来在程序
  • Vue解决CDN引入的echarts,通过ajax异步请求的数据不能被正确渲染到视图层的问题

    在参加计算机设计大赛做作品的时候遇到的一个困难 花了挺长时间才解决 在这里做个记录 一 这里先介绍如何CDN引入ECharts 在需要用到ECharts的界面加入 即可 或者先下载好这个文件 src改为这个文件的相对路径 二 以南丁格尔玫瑰
  • 数据结构与算法分析--Java语言描述(第二章(1))

    习题2 8 假设需要生成前N个自然数的一个随机置换 例如 4 1 2 5 2 和 3 1 4 2 5 就是合法的置换 但 5 4 1 2 1 却不是 因为数1出现了两次而数 3 缺没有 这个程序常常用于模拟一些算法 我们假设存在一个随机数生
  • 最快可达 SwinIR 4倍的高效超分网络

    本文首发于 我爱计算机视觉 如需转载等事宜请联系我爱计算机视觉 作者单位 香港理工大学 OPPO 论文链接 https arxiv org abs 2203 06697 代码链接 https github com xindongzhang