1. 摘要

注意力机制是深度神经网络的一个设计趋势,其在各种计算机视觉任务中都表现突出。但是,应用到图像超分辨领域的注意力模型大都没有考虑超分辨和其它高层计算机视觉问题的天然不同。

作者提出了一个新的注意力模型,由针对 SR 问题优化的新的通道和空间注意力机制以及将这两者结合起来的融合机制组成。基于此,作者设计了一个残差注意力模块(RAM)以及用来超分辨的 SRRAM 网络。

2. 介绍

通常,大多数基于 CNN 来进行图像超分辨的方法在内部同等地处理所有类型的信息,这可能无法有效地区分内容的详细特征(例如低频和高频信息)。换句话说,网络选择性地使用特征的能力有限。

最近,注意力机制是各种计算机视觉问题中值得注意的网络结构之一。它允许网络重新校准提取的特征图,从而可以进行更加自适应和有效的训练。许多研究者也尝试了将注意力模型引入图像超分辨领域,但却都是从其他视觉任务(比如分类)中直接借鉴来的,针对超分辨问题则可能不是最优的。

因此,作者提出了一个新的注意力模型,可以有效地将通道注意力和空间注意力融合起来,并且是专门针对图像超分辨问题设计的。将这个注意力模型和基于 ResNet 的结构相结合,作者设计了一个 SRRAM 网络取得了比以往方法更好的效果。

3. 网络结构

3.1. 一些相关的注意力机制

RCAB 只有通道注意力,CBAM 以顺序的方式引入通道注意力和空间注意力,而 CSAR 则以并行的方式引入通道注意力和空间注意力。具体细节可参阅每篇论文阅读笔记。

3.2. RAM

在以前的方法中,通道注意力(CA)大多采用平均池化或者最大池化。但是,作者认为超分辨问题旨在恢复出图像的高频成分,因此利用通道的高频特性来学习注意力更加合理。所以,这里采取方差池化,也就是求得每个通道大小为 W×H 的特征图的方差。后续步骤与之前方法类似,通过两层神经网络来预测注意力图。

在空间注意力(SA)中,每个通道代表着一种滤波器,不同的滤波器负责提取图像的不同特征。例如,在提取到的边缘或复杂纹理特征图中,更详细的信息,即来自复杂滤波器的信息更重要。另一方面,在该区域几乎没有诸如天空或漫画图像的均匀区域之类的高频分量的情况下,相对较不详细的信息更重要并且需要被关注。也就是说,我们需要区别对待不同的通道,而不是像之前的注意力机制那样直接对通道维度进行压缩。这里,作者采用了深度可分离卷积,针对每个通道的特征分别卷积得到注意力图。

最后,将通道注意力图和空间注意力图相加后经过一个 Sigmoid 函数再与原特征相乘即可,与残差网络结合便得到了上图所示的 RAM 结构。其一个 TensorFlow 实现如下。

def RAM(input, reduction):
"""
@Residual Attention Module for Single Image Super-Resolution
Residual Attention Module
""" _, width, height, channel = input.get_shape() # (B, W, H, C) u = tf.layers.conv2d(input, channel, 3, padding='same', activation=tf.nn.relu) # (B, W, H, C)
u = tf.layers.conv2d(u, channel, 3, padding='same') # (B, W, H, C) # channel attention
_, x = tf.nn.moments(u, axes=[1, 2], keep_dims=True) # (B, 1, 1, C)
x = tf.layers.conv2d(x, channel // reduction, 1, activation=tf.nn.relu) # (B, 1, 1, C // r)
x = tf.layers.conv2d(x, channel, 1) # (B, 1, 1, C) # spatial attention
filter = tf.random_normal([3, 3, int(channel), 1], stddev=0.01)
y = tf.nn.depthwise_conv2d(u, filter, strides=[1, 1, 1, 1], padding='SAME') # (B, W, H, C) z = tf.add(x, y) # (B, W, H, C)
z = tf.nn.sigmoid(z)
z = tf.multiply(u, z)
z = tf.add(input, z) return z

3.3. SRRAM

整体网络结构由特征提取和上采样组成,特征提取由 R 个 RAM 模块以及长跳跃连接组成,上采样网络负责提高图像的分辨率。

4. 实验结果

4.1. Ablation studies

引入 CA 后模型在所有数据集上的平均表现比基线模型要高出 0.1 dB,同时引入 CA 和 SA 后模型表现继续有更大提升,而且在大部分情况下也都优于其他注意力机制。

4.2. 客观和主观评价对比

获取更多精彩,请关注「seniusen」!

RAM: Residual Attention Module for Single Image Super-Resolution的更多相关文章

  1. 【论文学习】A Fuzzy-Rule-Based Approach for Single Frame Super Resolution

    加尔各答印度统计研究所,作者: Pulak Purkait (pulak_r@isical.ac.in) 2013 年 代码:CodeForge.cn http://www.codeforge.cn/ ...

  2. [论文阅读] Residual Attention(Multi-Label Recognition)

    Residual Attention 文章: Residual Attention: A Simple but Effective Method for Multi-Label Recognition ...

  3. Paper | Residual Attention Network for Image Classification

    目录 1. 相关工作 2. Residual Attention Network 2.1 Attention残差学习 2.2 自上而下和自下而上 2.3 正则化Attention 最近看了些关于att ...

  4. [论文理解] CBAM: Convolutional Block Attention Module

    CBAM: Convolutional Block Attention Module 简介 本文利用attention机制,使得针对网络有了更好的特征表示,这种结构通过支路学习到通道间关系的权重和像素 ...

  5. Residual Attention Network for Image Classification(CVPR 2017)详解

    一.Residual Attention Network 简介 这是CVPR2017的一篇paper,是商汤.清华.香港中文和北邮合作的文章.它在图像分类问题上,首次成功将极深卷积神经网络与人类视觉注 ...

  6. 【论文笔记】CBAM: Convolutional Block Attention Module

    CBAM: Convolutional Block Attention Module 2018-09-14 21:52:42 Paper:http://openaccess.thecvf.com/co ...

  7. CBAM: Convolutional Block Attention Module

    1. 摘要 作者提出了一个简单但有效的注意力模块 CBAM,给定一个中间特征图,我们沿着空间和通道两个维度依次推断出注意力权重,然后与原特征图相乘来对特征进行自适应调整. 由于 CBAM 是一个轻量级 ...

  8. CBAM(Convolutional Block Attention Module)使用指南

    转自知乎 这货就是基于 SE-Net [5]中的 Squeeze-and-Excitation module 来进行进一步拓展 具体来说,文中把 channel-wise attention 看成是教 ...

  9. ASRWGAN: Wasserstein Generative Adversarial Network for Audio Super Resolution

    ASEGAN:WGAN音频超分辨率 这篇文章并不具有权威性,因为没有发表,说不定是外国的某个大学的毕业设计,或者课程结束后的作业.或者实验报告. CS230: Deep Learning, Sprin ...

随机推荐

  1. Tomcat域名与服务器多对多配置

    参考: https://www.cnblogs.com/yueshutong/p/9381566.html

  2. Java——BufferedImage操作实例

    通过鼠标位置改变图像ColorModel对象索引,从而实现图像像素自动变化 BufferedImage 由图像数据的 ColorModel 和 Raster 组成.Raster 的 SampleMod ...

  3. 使用英特尔® 驱动程序和支持助理更新英特尔®固态盘数据中心工具(英特尔®固态盘 DCT)后仍旧提示更新

    再regedit中搜索原始版本,位于计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{82F015 ...

  4. linux目录结构详细补充

    Linux各目录及每个目录的详细介绍 [常见目录说明] Linux目录和Windows目录有着很大的不同,Linux目录类似一个树,最顶层是其根目录,如下图: /bin 二进制可执行命令 /dev 设 ...

  5. bootstrap table实现iview固定列的效果

    因为bootstrap自带的固定列效果满足不了公司需求,所以借助fixed-table这个插件完成了iview固定列的效果 <!DOCTYPE html> <html lang=&q ...

  6. Gradle Settings 类的学习

    # 任务 了解 Settings 类作用于 Gradle 构建的哪个阶段? 了解 Settings 类与 settings.gradle 的关系 了解和使用 inlcude 方法 hook 初始化阶段 ...

  7. glup安装

    资料参考:http://www.w3ctrain.com/2015/12/22/gulp-for-beginners/ 1.在安装 node 的环境后: npm install gulp -g 全局安 ...

  8. Codeforces 916 二进制1数目构造(阅读理解) 最小生成树1-N路径质数构造

    A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...

  9. .NET界面控件DevExpress v19.1.3重磅来袭

    DevExpress Universal Subscription(又名DevExpress宇宙版或DXperience Universal Suite)是全球使用广泛的.NET用户界面控件套包,De ...

  10. Django【第2篇】:Django之反向解析

    Django框架之第二篇 一.知识点回顾 1.MTV模型 model:模型,和数据库相关的 template:模板,存放html文件,模板语法(目的是将变量如何巧妙的嵌入到HTML页面中). view ...