ICCV 2023 | 利用双重聚合的Transformer进行图像超分辨率
导读
本文提出一种同时利用图像空间和通道特征的 Transformer 模型,DAT(Dual Aggregation Transformer),用于图像超分辨(Super-Resolution,SR)任务。DAT 以块间和块内的双重方式,在空间和通道维度上实现特征聚合,从而具有强大的图像表示能力。具体来说,DAT 在连续的 Transformer 块中交替应用空间和通道自注意力,以实现块间聚合。同时,本文还提出自适应交互模块(Adaptive Interaction Module,AIM)和空间门前馈网络(Spatial-Gate Feed-forward Network,SGFN)来实现块内特征聚合。AIM 从空间与通道为徒改进现有注意力机制,SGFN 在前馈网络中引入了非线性空间信息。实验证明,DAT 实现目前最先进的图像超分辨率性能。
论文连接: https://arxiv.org/abs/2308.03364
代码连接: https://github.com/zhengchen1999/DAT
01. 研究问题
图像超分辨率(Image Super-Resolution,简称图像 SR)是一种图像处理技术,旨在通过增加图像的细节和清晰度,将低分辨率(LR)图像转换为高分辨率(HR)图像。简单来说,就是将一张小尺寸的模糊图像,变成大尺寸的清晰图像。图像超分辨率技术在实际应用中具有广泛的用途,包括高清电视、监控摄像头、医学影像、卫星图像等。现如今,随着人工智能、机器学习的发展,使用深度学习技术的图像超分辨率成为主流。
02. 方法动机
目前,Transformer 在 SR 任务中表现出色。其核心是自注意力(Self-Attention,SA)机制,能够建立全局依赖关系。而全局关系的建立,对于高分辨率图像的重建尤为重要。然而,全局SA的计算复杂度与图像大小成平方比,这极大的限制了其在高分辨率图像上的应用(这在图像 SR 中很常见)。考虑到这个原因,一些研究人员提出更加高效的 SA,以有效利用 Transformer。总的来说可以分为空间与通道两个方面:
- 空间方面,局部空间窗口被提出来限制全局 SA 的应用范围,从而提出局部窗口注意力(Spatial-Window Self-Attention,SW-SA)。如图(a),空间维度H×W 被划分为多个窗口,注意力在每个窗口中被执行。
- 通道方面,提出通道自注意力(Channel-Wise Self-Attention,CW-SA)。如图(b),注意力沿着通道维度 C 计算。也就是图中每一个独立的块都作为一个 token。

这些方法都在降低计算复杂度的同时,实现优异的性能。同时这两种方法对于图像特征( H×W×C )的建模,是针对不同(空间与通道)的维度的。那么,是否可以同时考虑两个维度,在现有方法的基础上,进一步提高Transformer的建模能力,实现更加出色的超分辨率性能呢?
受以上发现的启发,我们提出 DAT(Dual Aggregation Transformer),通过块间和块内双重方式,实现空间和通道特征有效融合。具体来说,我们在连续的 Transformer 块中交替应用 SW-SA 和 CW-SA 。通过这在交替的方式,DAT 能够同时捕获空间和通道信息,实现块间特征聚合。同时,为了实现块内特征聚合,我们还提出自适应交互模块(Adaptive Interaction Module,AIM)和空间门前馈网络(Spatial-Gate Feed-forward Network,SGFN)。AIM 对 SW-SA 和 CW-SA 建模单一维度进行改进,SGFN 则在前馈网络中引入非线性空间信息。
总体而言,我们的贡献可以总结为以下三点:
- 设计了一种新的图像超分辨率模型:DAT。该模型以块间和块内双重方式聚合空间和通道特征,增强 Transformer 的建模能力。
- 交替应用空间和通道自注意力,实现块间特征聚合。此外,还提出 AIM 和 SGFN 来实现块内特征聚合。
- 进行了大量实验,证明提出的 DAT 实现最先进的图像超分辨率性能,同时保持较低的复杂性和模型大小。
03. 方法介绍
在本节中,我们首先介绍 DAT 的架构。 随后,我们详细阐述自适应交互模块(AIM)和空间门前馈网络(SGFN)两个组件。
3.1 模型架构

正如前文提到,在 DAT 中,我们以交替的方式同时使用 SW-SA 和 CW-SA 两种注意力模块。这种组合,能够对两个维度的特征进行建模,并利用它们的优势互补:
- SW-SA 对空间上下文进行建模,增强每个特征图的空间表达。
- CW-SA 可以更好地构建通道之间的依赖关系,扩大感受野,从而帮助 SW-SA 捕获空间特征。
因此,空间和通道信息在连续的 Transformer 块之间流动,以此实现块间特征聚合。
3.2 自适应交互模块(AIM)

我们提出的 AIM 对 SW-SA 和 CW-SA 实现进一步改进。首先,考虑到自注意力主要是捕获全局特征,我们增加了与自注意力模块平行的卷积分支,依次引入局部性到 Transformer 中。接着,考虑到虽然交替执行 SW-SA 和 CW-SA 可以在块间实现空间与通道的特征聚合,但是对于每个自注意力(SA)而言,不同维度的信息仍然无法有效利用。因此,我们提出了AIM(灰色阴影区),作用于两个分支之间,并根据分支的类型,从空间或通道维度自适应地重新加权特征,从而在单个注意力模块中实现空间和通道信息的聚合。
综合上述改进,我们在 SW-SA 和 CW-SA 的基础上,提出改进版的自适应空间自注意力(Adaptive Spatial Self-Attention,AS-SA)和 自适应通道自注意力(Adaptive Channel Self-Attention,AC-SA)。
相比原始自注意力机制,我们的方法具有:
- 局部(卷积)和全局(注意力)更好的耦合:两个分支的输出可以自适应调整以相互适应、融合。
- 更强的建模能力:对于 SW-SA,互补通道信息提高了其通道建模能力;对于 AC-SA,通过空间交互,额外的空间知识同样增强特征表征能力。
3.3 空间门前馈网络(SGFN)

传统的前馈网络(Feed-Forward Network,FFN)有线性层和非线性激活组成。只能够对特征通道进行建模, 但忽略了建模空间信息。 此外,FFN会通过线性层在内部对特征通道进行放大,这导致通道之间存在冗余,从而阻碍了特征表达能力。
为了克服上述问题,我们提出了 SGFN:将空间门控(Spatial-Gate,SG)引入到 FFN 中。SG 是一个简单的门空机制,由深度卷积和逐元素乘法组成。同时,我们将特征图沿着通道维度,均匀的分为两个部分,分别送入卷积和乘法旁路中,以此来降低通道冗余性。并且该操作也能有效降低计算复杂度。
整体来看,AIM 和 SGFN 是 Transformer 块的两个主要组成。通过这个两个模块,我们实现块内的特征聚合:
- AIM 从通道维度增强 SW-SA,并从空间维度增强 CW-SA。
- SGFN 将非线性空间信息引入仅建模通道关系的 FFN 中。
04. 实验结果
消融实验:我们对提出方法的各个进行详尽的消融实验,证明了方法的有效性。

定量对比:我们提出了2个不同大小的模型变体(DAT-S、DAT),与目前最先进的图像超分辨率方法,在5个基准数据集上进行对比。如下表所示,我们的方法取得了最先进的结果。

视觉对比:我们在下图中展示了视觉效果的对比结果。可以发现,我们的方法在细节的重建上具有明显的优势。

模型大小:我们还提供了模型大小(Params)、复杂度(FLOPs)、性能上的综合对比。我们的方法在实现性能提升的同时,也保持了较低的复杂性和模型大小。

05. 结论
本文提出了 DAT(Dual Aggregation Transformer),是一种用于图像超分辨率 Transformer 模型。 DAT 以块间和块内双重方式,聚合空间和通道特征,实现强大的建模能力。 具体来说,连续的 Transformer 块交替应用空间窗口和通道自注意力,并实现了空间和通道维度在块间的特征聚合。 此外,本文还提出了自适应交互模块(Adaptive Interaction Module,AIM)和空间门前馈网络(Spatial-Gate Feed-forward Network,SGFN),以在两个维度上实现块内特征聚合,从而增强每个 Transformer 块。 AIM从两个维度增强自注意力机制的建模能力。 而 SGFN 用非线性空间信息补充前馈网络。 实验证明,DAT 实现目前最先进的图像超分辨率性能。
作者:陈铮
关于TechBeat人工智能社区
▼
TechBeat(www.techbeat.net)隶属于将门创投,是一个荟聚全球华人AI精英的成长社区。
我们希望为AI人才打造更专业的服务和体验,加速并陪伴其学习成长。
期待这里可以成为你学习AI前沿知识的高地,分享自己最新工作的沃土,在AI进阶之路上的升级打怪的根据地!
更多详细介绍>>TechBeat,一个荟聚全球华人AI精英的学习成长社区
相关文章:

ICCV 2023 | 利用双重聚合的Transformer进行图像超分辨率
导读 本文提出一种同时利用图像空间和通道特征的 Transformer 模型,DAT(Dual Aggregation Transformer),用于图像超分辨(Super-Resolution,SR)任务。DAT 以块间和块内的双重方式,在空…...

经纬恒润预期功能安全(SOTIF)解决方案为自动驾驶安全保驾护航
近年来,“安全”被普遍认为是智能驾驶汽车被用户接受或者得到商业应用最大的问题,ISO26262功能安全旨在避免由E/E系统功能失效导致的不可接受的风险,主要是针对系统性失效/随机硬件失效导致的风险进行分析和控制,然而传感器和感知…...
java从入门到起飞(七)——面向对象
文章目录 一、什么是面向对象1.1 定义1.2 特点 二、面向对象的基础2.1 面向对象的基础是抽象2.2 抽象的作用2.3 类和对象2.4 属性和方法2.5 构造方法 三、面向对象的三大特征3.1 封装3.1.1 封装的意义3.1.2 封装的实现 3.2 继承3.2.1 继承的意义3.2.2 继承的实现 3.3 多态3.3.1…...

题集-三路划分和三数取中(快排优化)
快排排序是非常快的,但是有一种情况快排是无法进行的。 912. 排序数组 - 力扣(LeetCode) 这道题看上去没什么问题,但是如果我们用快排去提交的话,发现快排其实是被针对了的。 有一个样例是这样的。如果我们按照快排的…...

设计模式-迭代器
文章目录 1. 引言1.1 概述1.2 设计模式1.3 迭代器模式的应用场景1.4 迭代器模式的作用 2. 基本概念2.1 迭代器 Iterator2.2 聚合 Aggregate2.3 具体聚合 ConcreteAggregate 3. Java 实现迭代器模式3.1 Java 集合框架3.2 Java 迭代器接口3.3 Java 迭代器模式实现示例 4. 迭代器模…...
Hive学习(12)Hive常用日期函数
1、hive返回当天三种方式 select current_date; --返回年月日 --2017-06-15 select current_timestamp; --返回年月日时分秒 --2017-06-15 19:54:44 SELECT from_unixtime(unix_timestamp()); --2017-06-15 19:55:042、from_unixtime:转化unix时间戳到当前时区的时…...

PowerQuery动态加载M公式
Power Query 是Excel中的强大数据处理与转换工具,如果需要“动态”处理数据,大家第一时间想到的是可以使用VBA,利用代码创建M公式,进而创建PQ查询,但是复杂的M公式可能有很多行, 使用VBA处理起来并不是很方…...

2分钟搭建FastGPT训练企业知识库AI助理(Docker部署)
我们使用宝塔面板来进行搭建,更方便快捷灵活,争取操作时间只需两分钟 宝塔面板下安装Docker 在【软件商店中】安装【docker管理器】【docker模块】即可 通过Docker安装FastGPT 通过【Docker】【添加容器】【容器编排】创建里新增docker-compose.yaml以下…...
TDengine函数大全-字符串函数
以下内容来自 TDengine 官方文档 及 GitHub 内容 。 以下所有示例基于 TDengine 3.1.0.3 TDengine函数大全 1.数学函数 2.字符串函数 3.转换函数 4.时间和日期函数 5.聚合函数 6.选择函数 7.时序数据库特有函数 8.系统函数 字符串函数 TDengine函数大全CHAR_LENGTHCONCATCONCA…...
part-02 C++知识总结(类型转换)
一.C常用的类型转换函数 在C中,有几种自带的类型转换函数可以用于不同类型之间的转换。以下是其中一些常用的自带类型转换函数: 1.隐式转换(Implicit Conversion) 数字类型之间的隐式转换,例如将int转换为float、do…...
stable diffusion实践操作-图生图
本文专门开一节写图生图相关的内容,在看之前,可以同步关注: stable diffusion实践操作 正文...
Jtti:Ubuntu18.04如何修改远程ssh端口号
要在Ubuntu 18.04上修改SSH的远程端口号,您需要编辑SSH服务器配置文件并指定新的端口号。以下是具体的步骤: 以root或具有sudo权限的用户登录到您的Ubuntu服务器。 备份SSH配置文件(可选): 在进行任何更改之前&…...

微软表示Visual Studio的IDE即日起开启“退休”倒计时
据了解,日前有消息透露称,适用于 Mac平台的Visual Studio集成开发环境(IDE)于8月31日启动“退休”进程。 而这意味着Visual Studio for Mac 17.6将继续支持12个月,一直到2024年8月31日。 微软表示后续不再为Visual Studio for Mac开发…...

好马配好鞍:Linux Kernel 4.12 正式发布
Linus Torvalds 在内核邮件列表上宣布释出 Linux 4.12,Linux 4.12 的主要特性包括: BFQ 和 Kyber block I/O 调度器,livepatch 改用混合一致性模型,信任的执行环境框架,epoll 加入 busy poll 支持等等,其它…...

element——switch接口成功后赋值打开开关
应用场景 基本用法使用v-model双向绑定值,进行开关控制 例子1:需求: **点击switch,出弹窗,点击弹窗保存按钮调接口成功后再赋值(row.orderButtonValue“1”)打开switch开的状态变颜色。 在vue 中使用 :va…...
WPF Border设置渐变色
背景色渐变 <Border> <Border.Resources> <Style TargetType"Border"> <Setter Property"Background"> …...

SAP_ABAP_OLE_EXCEL批导案例
SAP ABAP顾问能力模型梳理_企业数字化建设者的博客-CSDN博客SAP Abap顾问能力模型https://blog.csdn.net/java_zhong1990/article/details/132469977 一、OLE_EXCEL批导 1.1 下载按钮 1.2 选择EXCEL上传,解析EXCLE数据, Call屏幕。 1.3 实现效果 1.4…...

MySQL以及版本介绍
一、MySQL的介绍 MySQL数据库管理系统由瑞典的DataKonsultAB公司研发,该公司被Sun公司收购,现在Sun公司又被Oracle公司收购,因此MySQL目前属于 Oracle 旗下产品。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用…...

stm32 iap sd卡升级
参考:STM32F4 IAP 跳转 APP问题_stm32程序跳转_古城码农的博客-CSDN博客 app程序改两个位置 1.程序首地址: 2.改中断向量表位移,偏移量和上面一样就可以 然后编译成bin文件就可以了...

D358周赛复盘:哈希表模拟⭐⭐+链表乘法翻倍运算(先反转)⭐⭐⭐
文章目录 2815.数组中的最大数对和思路完整版 2816.翻倍以链表形式表示的数字(先反转,再处理进位)思路完整版 补充:206.反转链表(双指针法)完整版 2817.限制条件下元素之间的最小绝对差(cpp不知…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...

循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
基于数字孪生的水厂可视化平台建设:架构与实践
分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...