【ARIXV2209】Multi-Scale Attention Network for Single Image Super-Resolution

news2024/11/10 13:41:08

【ARIXV2209】Multi-Scale Attention Network for Single Image Super-Resolution

代码:https://github.com/icandle/MAN

这是来自南开大学的工作,将多尺度机制与大核注意机制结合,用于图像超分辨率。

2022年初,大核卷积火了,Visual Attention Network (VAN)提出将大核卷积划为:depth-wise conv,dilated conv,和 point-wise conv 的组合(如下图所示)。VAN作者指出,图像超分任务中使用VAN,发现了一个很重要的问题:含膨胀的深度卷积会为超分任务带来“块状伪影(blocking artifacts)”

请添加图片描述

作者提出的方法叫做 Multi-scale Attention Network(MAN),总体框架如下图所示。核心模块为MAB,是一个 Transformer block,由 attention 和 FFN 组成。其中,attention 为 MLKA,FFN 为 GSAU。需要注意的是,最后还使用了一个LKAT,下面分别进行详细介绍。

请添加图片描述

1、Multi-scale Large Kernel Attention (MLKA)

MLKA首先使用 Point-wise conv 改变通道数,然后将特征 split 成三组,每个组都使用 VAN 里提出的大核卷积来处理(即depth-wise conv,dilated conv,和 point-wise conv 的组合)。三组分别使用不同尺寸的大核卷积(7×7、21×21、35×35),膨胀率分别设置为(2,3,4)。

使用深度膨胀卷积会带来“块状伪影”问题。因此在分组后,作者引入门控聚合来动态调整LKA的输出。即上图中最上面的DWConv。在对应组中,与下方深度卷积使用的核尺寸一致,并将该卷积的输出与对应组中LKA的输出做逐元素乘法。作者将这一操作称为门控聚合,并且进行了可视化实验以说明其效果。

2、 Gated Spatial Attention Unit (GSAU)

普通的FFN是两个 point-wise conv 。为了进一步增强特征表示,作者引入了 spatial self-attention 和 gated linear unit (GLU) 的思路,具体如下图所示,上面分支加入了一个 dwconv 对结果加权,两个分支的特征进一步加强了特征表示。

3、Large Kernel Attention Tail (LKAT)

作者采用了以前超分方法的范式,将一个LKA用在网络尾部,以进一步从特征中总结出可用的信息,提升图像修复性能。

本论文以VAN为基础,通过加入多尺度以及门控机制解决“块状伪影”问题,取得了非常好的性能。实部分可以参考作者论文,这里不再过多介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/178029.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GBD学习

GBD gbd官网 GDB, the GNU Project debugger 是一个debug工具 支持多种语言: Ada、Assembly、C、C、D、Fortran、Go、 Objective-C、OpenCL、Modula-2、Pascal、Rust 编译文件 首先使用gcc -g .c文件 -o 可执行文件名 进行编译,再使用gdb 可执行文件名…

恶意代码分析实战 10 数据加密

10.1 Lab13-01 比较恶意代码中的字符串(字符串命令的输出)与动态分析提供的有用信息,基于这些比较,哪些元素可能被加密? 使用WireShark进行动态分析。 有一串字符看起来像是加密的。 使用Strings分析一下。 发现疑似…

KUKA机器人初次通电配置

安全配置 机器人KSS系统里,会提示选择机器人信息的对话框,选择“机器人”按钮,如下: 承接上一步骤,通过示教器确认所有消息,单击消息提示区域,此时一定会弹出如图 所标示的报警消息&#xff0…

【唐诗学习】一、古诗概述

一、古诗概述 为什么要学习古诗词? 古诗词可以陶冶情操,传承文化诗词,其实就是古代的流行歌曲,它们记录着一个个时代的变迁,是历史的旋律。还有一点很重要:同样是记录历史,史书是国家视角&…

零基础学JavaWeb开发(二十二)之 springmvc入门到精通(2)

3、SpringMVC PostMan工具使用 PostMan简介 Postman 是一款功能超级强大的用于发送 HTTP 请求的 Chrome插件 。做web页面开发和测试的人员会使用到该工具其主要特点 特点: 创建 测试:创建和发送任何的HTTP请求,使用PostMan发送 Get、Post、…

Java IO流之字符流详解

字符流概述 字符流的底层其实就是字节流 字符流 字节流 字符集 字符流特点 输入流:一次读一个字节,遇到中文时,一次读多个字节输出流:底层会把数据按照指定的编码方式进行编码,变成字节再写到文件中 使用场景 用于…

学习Go的全部网站集合

给Golang 入门新手整理了一份全部所需网站集合,主要分为三类。 社区类:这类网站是问答、文档、搜索、资源类网站汇总 镜像和安装包类:有些安装包可能无法下载,此处列出一些可下载Go包和镜像的网站。 开发工具:目前流…

代码随想录--栈与队列章节总结

代码随想录–栈与队列章节总结 1.LeetCode232 用栈实现队列 请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty): 实现 MyQueue 类: void push(int x) 将元素 x 推到队列的末尾i…

2.4.2 浮点型

1.浮点型基本数据类型介绍 浮点类型用于表示有小数部分的数值。在JAVA种有俩种浮点类型,分别是float和double. 类型字节长度位数取值范围float4字节32约 3.40282347E38Fdouble8字节64约 1.79769313486231570E308 double表示这种类型的数值精度是float类型的俩倍&a…

PyCharm中运行LeetCode中代码

Leetcode中题目只需要写函数体里面内容即可。不需要关注输入,输出。 这里拿LeetCode中第一题,两数之和 “给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数…

随机梯度下降算法 入门介绍(最通俗易懂)

文章目录1.什么是梯度2.什么是梯度下降算法3.什么是随机梯度下降算法1.什么是梯度 首先给出高数课程中梯度的定义: 如果对上面的定义没有理解也没有关系,用通俗的语言来说,梯度实际上就是一个向量,向量中的各个元素表示多元函数在…

Java IO流之字节流详解

一、OutputStream输出流 FileOutputStream概述: 操作本地文件的字节输出流,可以把程序中的数据写到本地文件中 书写步骤: ① 创建字节输出流对象 细节1:参数一是字符串表示的路径或者File对象都是可以的 细节2:如果文…

《安富莱嵌入式周报》第300期:几百种炫酷灯阵玩法, USB Web网页固件升级,波士顿动力整活,并联二极管问题,VisualStudio升级,STM32C0

往期周报汇总地址:嵌入式周报 - uCOS & uCGUI & emWin & embOS & TouchGFX & ThreadX - 硬汉嵌入式论坛 - Powered by Discuz! 祝大家春节快乐! 视频版: https://www.bilibili.com/video/BV1UY4y1d7C7 《安富莱嵌入式周…

(考研湖科大教书匠计算机网络)第二章物理层-第三、四节:传输方式和编码与调制

文章目录一:传输方式(1)串行传输和并行传输(2)同步传输和异步传输(3)单工、半双工和全双工二:编码与调制(1)通信相关基础知识①:消息、数据、信号…

linux实战笔记整理(1.24)

后台挂起程序: 如果报错:nohup: ignoring input and appending output to nohup.out,则在指令最后加一个&让程序自己运行:nohup command增加rm 提醒:(重要的命令问三遍): 操作: …

为tableview添加带控件的单元格如复选框checkbox与combbox单元格

我们常常会有这样的需求,为QTableView增加复选框checkbox和选择下拉框combbox,毕竟依靠键盘输入不是很好约束其规范性。下面我们逐个来介绍。完成之后的效果如下: 一、准备TableView 1、数据准备 数据大家可以随意准备,有的话…

[C语言]柔性数组

目录 1.柔性数组 2.柔性数组的特点 3.柔性数组的使用 1.柔性数组 柔性数组存在于结构体中,当结构体最后一个成员元素为一个未知大小的数组,则称其为柔性数组。 struct s {int a;char arr[];//柔性数组 }; 2.柔性数组的特点 1. 结构中的柔性数…

八、python-高级语法篇(黑马程序猿-python学习记录)

黑马程序猿的python学习视频:https://www.bilibili.com/video/BV1qW4y1a7fU/ 目录 1. 什么是闭包 2. 闭包的优缺点 3. nonlocal关键字的作用 4. 简单闭包 5. 使用nonlocal关键字修改外部函数的值 6. 使用闭包实现ATM小案例 7. 装饰器概念 8. 装饰器的一般写法 9. 装…

Vue-Router详解

1、前端路由的发展历程 1.1、认识前端路由 路由其实是网络工程中的一个术语: 在架构一个网络时,非常重要的两个设备就是路由器和交换机。当然,目前在我们生活中路由器也是越来越被大家所熟知,因为我们生活中都会用到路由器&…

算法:树状数组详解(c++实现 求解动态数组区间和问题)

文章目录引入树状数组c完整代码引入 什么是树状数组??? 解决数据压缩里的累积频率(Cumulative Frequency)的计算问题,现多用于高效计算数列的前缀和, 区间和,这样的问题可以使用树…