【CVPR19 超分辨率】(Oral)Second-order Attention Network for Single Image Super-Resolution

本文主要是介绍【CVPR19 超分辨率】(Oral)Second-order Attention Network for Single Image Super-Resolution,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天介绍一篇CPVR19的Oral文章,用二阶注意力网络来进行单图像超分辨率。作者来自清华深研院,鹏城实验室,香港理工大学以及阿里巴巴达摩院。
文章地址
github code
文章的出发点:现存的基于CNN的模型仍然面临一些限制:

  1. 大多数基于CNN的SR方法没有充分利用原始LR图像的信息,导致相当低的性能
  2. 大多数CNN-based models主要专注于设计更深或是更宽的网络,以学习更有判别力的高层特征,却很少发掘层间特征的内在相关性,从而妨碍了CNN的表达能力。

**文章的大体思路:**提出了一个深的二阶注意力网络SAN,以获得更好的特征表达和特征相关性学习。特别地,提出了一个二阶通道注意力机制SOCA来进行相关性学习。同时,提出了一个non-locally增强残差组NLRG来捕获长距离空间内容信息。
话不多说,直接看方法

方法

在这里插入图片描述

总体网络框架

首先,SAN主要分为四个部分,浅层特征提取,基于非局部增强残差组的深度特征提取,上采样模块以及重建模块。采用一层卷积层来提取浅层特征:
在这里插入图片描述
然后深度特征:
在这里插入图片描述
上采样特征:
在这里插入图片描述
最后重建:
在这里插入图片描述

非局部增强残差组NLRG

在这里插入图片描述
NLRG包括数个区域级非局部模块RL-NL和一个同源残差组结构SSRG。
SSRG包括相当于就是G个局部模块LSRAG加上一个同源残差连接结构SSC,所谓同源残差连接,就是把LR的特征加到每个group的输入x中,这种连接不仅可以帮助深度CNN的训练,同时还可以传递LR图像中丰富的低频信息给high-level的层。

在这里插入图片描述
Wssc是一个可学习参数,一开始被设置为0。对于每个group来说,都会收到SSC传递过来的F0
在这里插入图片描述
RL-NL模块
在这里插入图片描述
通常来说,non-local模块是用来在high-level任务中捕获整幅图像的长范围依赖的。但是,全局non-local操作可能会受限于:

  1. 全局non-local操作需要大量的计算量,如果特征size很大。
  2. 对于low-level的任务来说,在一定的区域范围中进行non-local操作被证明是有效的

因此,在SAN中,我们将图像划分为kxk大小,在每个region中进行non-local操作。
LSRAG模块
在这里插入图片描述
像其他的CNN模型一样,SAN也将网络模块化,每个LSRAG模块都用了local 的residual 连接
在这里插入图片描述
在LSRAG的末端,有一个SOCA模块,即二阶通道注意力机制。
SOCA
在这里插入图片描述
相比于SENet里面的通道attention使用的是一阶统计信息(通过全局平均池化),本SOCA探索了二阶特征统计的attention。方法:

  1. 协方差归一化:
    协方差可以用来描述变量之间的相关性,所以对于HxWxC的特征,reshape为WH(C个维度),可以用协方差矩阵描述C个通道之间的相关性。采样协方差矩阵可以被计算得到:
    在这里插入图片描述
    其中在这里插入图片描述,I和1分别是sxs的单位矩阵(对角线是1)和全1矩阵。
    对得到的协方差矩阵用半正定矩阵进行奇异值分解得到
    在这里插入图片描述
    U是一个正交矩阵,对角线元素都是奇异值(非递增)。
    然后协方差归一化被转化为奇异值的秩:
    在这里插入图片描述
    α是一个正数,论文中被设置为二分之一(如果是1则没有归一化)
    channel attention
    类似于SE Block,一层卷积用来降维(通常是十六分之一),一层恢复通道数。

在这里插入图片描述
这里的z是通过上面协方差归一化后得到的
在这里插入图片描述

用牛顿迭代法求协方差归一化

因为原始的EIG在GPU上没办法快速运行,所以作者使用了牛顿迭代法逼近近似值。
在这里插入图片描述
在这里插入图片描述

这篇关于【CVPR19 超分辨率】(Oral)Second-order Attention Network for Single Image Super-Resolution的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/222431

相关文章

poj 2349 Arctic Network uva 10369(prim or kruscal最小生成树)

题目很麻烦,因为不熟悉最小生成树的算法调试了好久。 感觉网上的题目解释都没说得很清楚,不适合新手。自己写一个。 题意:给你点的坐标,然后两点间可以有两种方式来通信:第一种是卫星通信,第二种是无线电通信。 卫星通信:任何两个有卫星频道的点间都可以直接建立连接,与点间的距离无关; 无线电通信:两个点之间的距离不能超过D,无线电收发器的功率越大,D越大,越昂贵。 计算无线电收发器D

什么是 Flash Attention

Flash Attention 是 由 Tri Dao 和 Dan Fu 等人在2022年的论文 FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness 中 提出的, 论文可以从 https://arxiv.org/abs/2205.14135 页面下载,点击 View PDF 就可以下载。 下面我

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

word转PDF后mathtype公式乱码以及图片分辨率降低等一系列问题|完美解决

word转PDF后mathtype公式乱码以及图片分辨率降低等一系列问题|完美解决 问题描述 最近在投一篇期刊论文,直接提交word文档,当时没有查看提交预览,一审审稿意见全是:公式乱码、公式乱码、乱码啊!!!是我大意了,第二次提交,我就决定将word文档转成PDF后再提交,避免再次出现公式乱码的问题。接着问题又来了,我利用‘文件/导出’或‘文件/另存为’的方式将word转成PDF后,发现公式

图神经网络框架DGL实现Graph Attention Network (GAT)笔记

参考列表: [1]深入理解图注意力机制 [2]DGL官方学习教程一 ——基础操作&消息传递 [3]Cora数据集介绍+python读取 一、DGL实现GAT分类机器学习论文 程序摘自[1],该程序实现了利用图神经网络框架——DGL,实现图注意网络(GAT)。应用demo为对机器学习论文数据集——Cora,对论文所属类别进行分类。(下图摘自[3]) 1. 程序 Ubuntu:18.04

问:Super与this在Java中有什么区别?

this: this 关键字用于引用当前对象。它通常用于区分成员变量和方法参数或局部变量。在实例方法中,this 指向调用该方法的对象。在构造函数中,this 指向正在被初始化的对象。 super: super 关键字用于引用父类(超类)的构造函数、方法或变量。在子类的构造函数中,super() 用于调用父类的构造函数。在子类的方法中,super.methodName() 用于调用父类的方法。

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光

Unity 资源 之 Super Confetti FX:点亮项目的璀璨粒子之光 一,前言二,资源包内容三,免费获取资源包 一,前言 在创意的世界里,每一个细节都能决定一个项目的独特魅力。今天,要向大家介绍一款令人惊艳的粒子效果包 ——Super Confetti FX。 二,资源包内容 💥充满活力与动态,是 Super Confetti FX 最显著的标签。它宛如一位

MTK Android P/Q system/vendor/super快速打包

一、Android 新版本默认开启了动态分区,把system vendor  product等分区打包成一个super分区。这对于我们使用替换分区的方法来排查问题不是很方便,直接替换一个super也不知道到底是哪个部分导致的。所以我们需要自己制作super.img来缩小范围。下面讲讲如何快速生成system、vendor、super,以及vbmeta(校验image,不匹配可能会导致不开机) 二

深度学习--对抗生成网络(GAN, Generative Adversarial Network)

对抗生成网络(GAN, Generative Adversarial Network)是一种深度学习模型,由Ian Goodfellow等人在2014年提出。GAN主要用于生成数据,通过两个神经网络相互对抗,来生成以假乱真的新数据。以下是对GAN的详细阐述,包括其概念、作用、核心要点、实现过程、代码实现和适用场景。 1. 概念 GAN由两个神经网络组成:生成器(Generator)和判别器(D

? extends T 和 ? super T分别是什么意思?有什么不同?

<? extends T>首先你很容易误解它为继承于T的所有类的集合,这是大错特错的,相信能看下去你一定见过或用过List<? extends T>吧?为什么我说理解成一个集合是错呢?如果理解成一个集合那为什么不用List<T>来表示?所以<? extends T>不是一个集合,而是T的某一种子类的意思,记住是一种,单一的一种,问题来了,由于连哪一种都不确定,带来了不确定性,所以是不可能通过add