paper:https://arxiv.org/abs/2004.13824

code: https://github.com/SHI-Labs/Pyramid-Attention-Networks

1. 基本思想

作者指出,当前基于深度学习的方法只是在单个尺度上利用了self-similarity(do not take full advantage of self-similarities by relying on self-attention neural modules that only process information at the same scale)。在该论文里,作者提出了 pyramid attention module 用于图像修复,可以利用多尺度特征金字塔捕获 long-range 的特征关联。

在传统图像去噪方法中,NLmean、BM3D都是采用自相似性进行图像去噪的佼佼者,图像的自相似性非常重要。同时,作者指出,基于深度学习的方法大多使用non-local方法来获取 long-range 的信息,这样的模块早期被用于识别和分类任务,但是在 low-level 的视觉任务中也被证明非常有效。

但是,直接将 self-attention 应用于图像修复有一定的局限性:

  • multi-scale non-local prior has not been explorered.
  • pixel-wise matching used in the self-attention module is usually noisy for image restoration.

基于上述分析,作者提出了non-local pyramid attention 模块来捕获long-range信息。

如图所示,该方法可以挖掘 multi-scale self-examplars 来提高重建性能,主要有三个优点:

  • 将现有non-local方法的扩展到多尺度空间(现有non-local方法的搜索空间仅限于金字塔的最底端)
  • 不同大小特征之间的 long-range 依赖被较好的建模
  • 可以降低特征中的噪声,进而提升性能。

2. 方法

如图2a所示,non-local attention 在全图进行响应特征平均,可以这样描述:

\[y^i=\frac{1}{\sigma(x)}\sum\phi(x^i, x^j)\theta(x^j)
\]

其中\(\phi\) 计算相似性,\(\theta\)表示特征变换。上述公式仅在统一尺度空间进行处理,难以利用跨尺度的特征。

图2b为 scale agnostic attention,是 2a 的一种扩展。给定一个尺度\(s\),如何评价\(x^j\)和\(x^j_{\delta(s)}\)之间的相似性,以及如何把\(x^j_{\delta(s)}\)聚合到\(y^i\)是两个关键问题。为了解决这两个问题,作者将\(x^j_{\delta(s)}\)下采样为像素特征\(z^j\),由于需要在整个特征图上搜索,作者对原始输入\(x\)进行下采样得到特征图\(z\),然后相似性可以这样计算:

\[y^i=\frac{1}{\sigma(x,z)}\sum_j\phi(x^i,z^i)\theta(z^i)
\]

同时,作者将该计算方式扩展到金字塔形式,金字塔注意力具有跨尺度特征自相似建模能力。

在具体实现时,相似性函数\(\phi\)使用了embeded gaussian。在特征变换函数\(\theta\)方面,使用简单的线性变换。同时,为了改进匹配的鲁棒性,添加了额外的近邻相似约束,类似于经典的非局部均值滤波,添加了一个强约束信息:近邻且相似。这样有助于学习相关特征,同时抑制不相关特征。

图3 为 Pyramid attention 模块的一个示意图,在损失函数方面,作者选择了L1损失。

3. 实验与结论

作者使用了一个5层的金字塔,网络包含80个残差块,提出的PA模块插入在第40个残差块之后,第41个残差块之前。该方法在图像降噪、去马赛克、去压缩伪影、超分辨率方面都进行了实验,效果都比较好。具体细节和ablation study 可以参考论文,不再细说。

该论文使用了一个 simple backbone,然后只加了一个 pyramid attention 模块,就取得了非常好的效果。作者认为,该模块可以在以后的图像修复网络中,作为基础模块来使用。

Pyramid attention networks for image restoration的更多相关文章

  1. 论文笔记之:Graph Attention Networks

    Graph Attention Networks 2018-02-06  16:52:49 Abstract: 本文提出一种新颖的 graph attention networks (GATs), 可 ...

  2. RCAN——Image Super-Resolution Using Very Deep Residual Channel Attention Networks

    1. 摘要 在图像超分辨领域,卷积神经网络的深度非常重要,但过深的网络却难以训练.低分辨率的输入以及特征包含丰富的低频信息,但却在通道间被平等对待,因此阻碍了网络的表示能力. 为了解决上述问题,作者提 ...

  3. 论文解读(GATv2)《How Attentive are Graph Attention Networks?》

    论文信息 论文标题:How Attentive are Graph Attention Networks?论文作者:Shaked Brody, Uri Alon, Eran Yahav论文来源:202 ...

  4. 谣言检测——《MFAN: Multi-modal Feature-enhanced Attention Networks for Rumor Detection》

    论文信息 论文标题:MFAN: Multi-modal Feature-enhanced Attention Networks for Rumor Detection论文作者:Jiaqi Zheng, ...

  5. 谣言检测(ClaHi-GAT)《Rumor Detection on Twitter with Claim-Guided Hierarchical Graph Attention Networks》

    论文信息 论文标题:Rumor Detection on Twitter with Claim-Guided Hierarchical Graph Attention Networks论文作者:Erx ...

  6. GRAPH ATTENTION NETWORKS

    基本就是第一层concatenate,第二层不concatenate. 相关论文: Semi-Supervised Classification with Graph Convolutional Ne ...

  7. Recent papers on Action Recognition | 行为识别最新论文

    CVPR2019 1.An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognit ...

  8. [阅读笔记]EfficientDet

    EfficientDet 文章阅读 Google的网络结构不错,总是会考虑计算性能的问题,从mobilenet v1到mobile net v2.这篇文章主要对近来的FPN结构进行了改进,实现了一种效 ...

  9. (转)注意力机制(Attention Mechanism)在自然语言处理中的应用

    注意力机制(Attention Mechanism)在自然语言处理中的应用 本文转自:http://www.cnblogs.com/robert-dlut/p/5952032.html  近年来,深度 ...

随机推荐

  1. python设计模式之策略模式

    每次看到项目中存在大量的if else代码时,都会心生一丝不安全感. 特别是产品给的需求需要添加或者更改一种if条件时,生怕会因为自己的疏忽而使代码天崩地裂,哈哈,本文的目的就是来解决这种不安全感的, ...

  2. C# @string $string $@string

    @string  保证换行后也属于同一个字符串  (请特别注意\r\n这样也会直接输入,不在起到换行的效果) string execSql = @" SELECT T1.ProcInstID ...

  3. (私人收藏)PPT数据图表

    PPT数据图表 https://pan.baidu.com/s/1lXt8UU20IotD4LLagfTTXAkknf

  4. 常用API - Scanner、Random、ArrayList

    API 概述 API(Application Programming Interface),应用程序编程接口. Java API是一本程序员的 字典 ,是JDK中提供给我们使用的类的说明文档. 这些类 ...

  5. Python——读取大文件(GB)

    最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File Reading 的方法,本文将介绍这两种读取方法. Prelimi ...

  6. unity Prefab 序列化一个小问题。

    情景: unity之前编辑过一个字段 A, 可以再unity编辑器编辑, 之后不用了. 后来有另外的功能, 起了同样的变量名,发现有默认值. 原因: 是因为序列化的时候把A字段存储到了prefab里面 ...

  7. Linux多任务编程之六:编写多进程程序及其代码(转)

    来源:CSDN  作者:王文松  转自Linux公社 ------------------------------------------------------------------------- ...

  8. day11 本日作业+周末作业

    目录 一.今日作业 1.编写文件copy工具 2.编写登录程序,账号密码来自于文件 3.编写注册程序,账号密码来存入文件 二.周末综合作业: 1.编写用户登录接口 2.编写程序实现用户注册后,可以登录 ...

  9. mysql解压缩版安装和卸载

    所有的cmd命令都是在管理员模式下输入 官方下载网址:https://dev.mysql.com/downloads/mysql/ 安装mysql mysqld install //安装mysql:卸 ...

  10. web 部署专题(三):压力测试(一)工具 siege

    1.介绍 Siege是一个压力测试和评测工具,设计用于WEB开发这评估应用在压力下的承受能力:可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访 ...