Pyramid attention networks for image restoration
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 在全图进行响应特征平均,可以这样描述:
\]
其中\(\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\),然后相似性可以这样计算:
\]
同时,作者将该计算方式扩展到金字塔形式,金字塔注意力具有跨尺度特征自相似建模能力。
在具体实现时,相似性函数\(\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的更多相关文章
- 论文笔记之:Graph Attention Networks
Graph Attention Networks 2018-02-06 16:52:49 Abstract: 本文提出一种新颖的 graph attention networks (GATs), 可 ...
- RCAN——Image Super-Resolution Using Very Deep Residual Channel Attention Networks
1. 摘要 在图像超分辨领域,卷积神经网络的深度非常重要,但过深的网络却难以训练.低分辨率的输入以及特征包含丰富的低频信息,但却在通道间被平等对待,因此阻碍了网络的表示能力. 为了解决上述问题,作者提 ...
- 论文解读(GATv2)《How Attentive are Graph Attention Networks?》
论文信息 论文标题:How Attentive are Graph Attention Networks?论文作者:Shaked Brody, Uri Alon, Eran Yahav论文来源:202 ...
- 谣言检测——《MFAN: Multi-modal Feature-enhanced Attention Networks for Rumor Detection》
论文信息 论文标题:MFAN: Multi-modal Feature-enhanced Attention Networks for Rumor Detection论文作者:Jiaqi Zheng, ...
- 谣言检测(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 ...
- GRAPH ATTENTION NETWORKS
基本就是第一层concatenate,第二层不concatenate. 相关论文: Semi-Supervised Classification with Graph Convolutional Ne ...
- Recent papers on Action Recognition | 行为识别最新论文
CVPR2019 1.An Attention Enhanced Graph Convolutional LSTM Network for Skeleton-Based Action Recognit ...
- [阅读笔记]EfficientDet
EfficientDet 文章阅读 Google的网络结构不错,总是会考虑计算性能的问题,从mobilenet v1到mobile net v2.这篇文章主要对近来的FPN结构进行了改进,实现了一种效 ...
- (转)注意力机制(Attention Mechanism)在自然语言处理中的应用
注意力机制(Attention Mechanism)在自然语言处理中的应用 本文转自:http://www.cnblogs.com/robert-dlut/p/5952032.html 近年来,深度 ...
随机推荐
- IntelliJ IDEA安装配置、搭建Spring MVC
安装前必备软件: 1.jdk1.8.0_144安装包 2.IntelliJ IDEA 2016.1.1(64) 3.Tomcat安装包 4.Mysql.MySQL-JDBC驱动安装包 5.Jetbra ...
- ajax前后端交互原理(6)
6.XMLHttpRequest对象 XMLHttpRequest 是一个 API,它为客户端提供了在客户端和服务器之间传输数据的功能.它提供了一个通过 URL 来获取数据的简单方式,并且不会使整个页 ...
- Jquery中$(document).ready()
window.onload = function(){ alert("welcome"); } 语句的作用是希望在页面加载完,自动执行定义js代码(function). $(doc ...
- hbase2.1.9 centos7 完全分布式 搭建随记
hbase2.1.9 centos7 完全分布式 搭建随记 这里是当初在三个ECS节点上搭建hadoop+zookeeper+hbase+solr的主要步骤,文章内容未经过润色,请参考的同学搭配其他博 ...
- 如何更换Windows中命令提示符(cmd)中的字体
前言 CMD(命令提示符),全称"Command Prompt":对于这个东西我相信大部分用电脑的人基本都知道,因为常常会用到一些基本的DOS命令进行一些电脑的基本查看处理:但是我 ...
- 古有七步成诗,今有六步完成DevOps上华为云DevCloud实践
引言: 在“DevOps能力之屋(Capabilities House of DevOps)”中,华为云DevCloud提出(工程方法+最佳实践+生态)×工具平台=DevOps能力.华为云DevClo ...
- kafka的认识、安装与配置
认识Kafka 花费越少的精力在数据移动上,就能越专注于核心业务 --- <Kafka:The Definitive Guide> 认识 Kafka 之前,先了解一下发布与订阅消息系统:消 ...
- Github 新玩法 -- Profile ReadMe
Github 新玩法 -- Profile ReadMe Intro 今天刷 Github 的时候偶然发现一个新的玩法,Github Profile ReadMe,可以在个人的 Profile 页面展 ...
- day07 流程控制
灵魂三问: 什么是?为什么要有?怎么用? 目录 一 分支结构 1.1 什么是分支结构 1.2 为什么要有分支结构 1.3 怎么用分支结构 1.3.1 if语法 二 循环结构 2.1while循环 一 ...
- Spring Boot 2 实战:常用读取配置的方式
1. 前言 在Spring Boot项目中我们经常需要读取application.yml配置文件的自定义配置,今天就来罗列一下从yaml读取配置文件的一些常用手段和方法. 2. 使用@Value注解 ...