当前位置: 首页 > news >正文

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

图片1. 不同自注意力机制示意图

这些方法都在降低计算复杂度的同时,实现优异的性能。同时这两种方法对于图像特征( 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 模型架构

图片2. 模型架构

正如前文提到,在 DAT 中,我们以交替的方式同时使用 SW-SA 和 CW-SA 两种注意力模块。这种组合,能够对两个维度的特征进行建模,并利用它们的优势互补:

  • SW-SA 对空间上下文进行建模,增强每个特征图的空间表达。
  • CW-SA 可以更好地构建通道之间的依赖关系,扩大感受野,从而帮助 SW-SA 捕获空间特征。

因此,空间和通道信息在连续的 Transformer 块之间流动,以此实现块间特征聚合。

3.2 自适应交互模块(AIM)

图片3. 自适应交互模块(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)

图片4. 空间门前馈网络(SGFN)

传统的前馈网络(Feed-Forward Network,FFN)有线性层和非线性激活组成。只能够对特征通道进行建模, 但忽略了建模空间信息。 此外,FFN会通过线性层在内部对特征通道进行放大,这导致通道之间存在冗余,从而阻碍了特征表达能力。

为了克服上述问题,我们提出了 SGFN:将空间门控(Spatial-Gate,SG)引入到 FFN 中。SG 是一个简单的门空机制,由深度卷积和逐元素乘法组成。同时,我们将特征图沿着通道维度,均匀的分为两个部分,分别送入卷积和乘法旁路中,以此来降低通道冗余性。并且该操作也能有效降低计算复杂度。

整体来看,AIM 和 SGFN 是 Transformer 块的两个主要组成。通过这个两个模块,我们实现块内的特征聚合:

  • AIM 从通道维度增强 SW-SA,并从空间维度增强 CW-SA。
  • SGFN 将非线性空间信息引入仅建模通道关系的 FFN 中。

04. 实验结果

消融实验:我们对提出方法的各个进行详尽的消融实验,证明了方法的有效性。

图片5. 消融实验

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

图片6. 定量对比,最优结果着红色,次优结果着红色

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

图片7. 视觉对比

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

图片8. 模型大小

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上传&#xff0c;解析EXCLE数据&#xff0c; Call屏幕。 1.3 实现效果 1.4…...

MySQL以及版本介绍

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

stm32 iap sd卡升级

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

D358周赛复盘:哈希表模拟⭐⭐+链表乘法翻倍运算(先反转)⭐⭐⭐

文章目录 2815.数组中的最大数对和思路完整版 2816.翻倍以链表形式表示的数字&#xff08;先反转&#xff0c;再处理进位&#xff09;思路完整版 补充&#xff1a;206.反转链表&#xff08;双指针法&#xff09;完整版 2817.限制条件下元素之间的最小绝对差&#xff08;cpp不知…...

java八股文面试[数据库]——索引的基本原理、设计原则

索引的设计原则 索引覆盖是什么&#xff1a; 索引&#xff08;在MySQL中也叫做“键&#xff08;key&#xff09;”&#xff09; 是存储引擎用于快速找到记录的一种数据结构。这是索引的基本功能。 索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时&#xff0c;索引…...

2023年京东方便食品行业数据分析(京东数据报告)

​疫情中方便食品的销售一度火爆&#xff0c;但随着当前消费场景的开放&#xff0c;方便食品销售又恢复常态并开始下滑。根据鲸参谋电商数据分析平台的相关数据显示&#xff0c;今年7月份&#xff0c;京东平台方便食品的销量为800万&#xff0c;环比降低约23%&#xff0c;同比降…...

无涯教程-Android - Style Demo Example函数

下面的示例演示如何将样式用于单个元素。让我们开始按照以下步骤创建一个简单的Android应用程序- 步骤说明 1 您将使用Android Studio IDE创建一个Android应用程序,并在 com.example.saira_000.myapplication 包下将其命名为 myapplication ,如中所述您好世界Example一章。 2 …...

【算法训练-字符串 二】最长回文子串

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【最长回文子串】&#xff0c;使用【字符串】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为…...

结合OB Cloud区别于MySQL的4大特性,规划降本方案

任何一家企业想要获得持续性的发展与盈利&#xff0c;“降本增效”都是难以绕开的命题。但是“一刀切”的降本影响往往不太可控&#xff0c;成本的快速收缩往往会给业务带来低效运营和增长缓慢的风险。所以我们所说的降本&#xff0c;是指在成本降低的同时&#xff0c;效率不降…...

题目有点太简单了,不知道怎么选了

有个公司给了下面一个题目&#xff0c;看了下太简单了&#xff0c;都怕选错了。 后来拿着程序跑了下&#xff0c;就是这个意思嘛。 结论 程序跑出来的结果就是对输入的列表进行倒序排列。 public void testGetPut() throws Exception {List<Integer> numbers List.of(…...

Bug:mac上运行go run main.go 报错,fork/exec /var/fold/T/go-build269/b001/ex

Bug&#xff1a;mac上运行go run main.go 报错&#xff0c;fork/exec /var/fold/T/go-build269/b001/ex 今天通过goland执行go run main.go运行我本地编写好的go代码时&#xff0c;发现报错fork/exec / xxx 解决办法 方法一&#xff1a; 因为当前go的build环境不对&#xff0c…...

CSRF与XSS结合利用

文章目录 修改cms网站后台管理员密码成功登录总结 修改cms网站后台管理员密码 CSRF和XSS结合的JS代码&#xff1a; <script> xmlhttp new XMLHttpRequest(); xmlhttp.open("post","http://10.4.7.130/cms/admin/user.action.php",false); xmlhttp…...

【爬虫】实验项目一:文本反爬网站的分析和爬取

目录 一、实验目的 二、实验预习提示 ​编辑 三、实验内容 四、实验要求 五、实验过程 1. 基本要求&#xff1a; 2. 改进要求A 3. 改进要求B: 六、资料 1.实验框架代码&#xff1a; 2.OpenSSL&#xff1a;Win32/Win64 OpenSSL Installer for Windows - Shining Light…...

DEAP库文档教程二-----创建类型

本节将展示如何通过creator创建类型以及如何使用toolbox进行初始化。 1、Fitness 已经提供的Fitness类是一个抽象类&#xff0c;它需要weight来使得它成为一个函数。一个最小化的适应度是通过负权重构建的&#xff0c;而一个最大化适应度则需要正权重。 creator.create(&quo…...