CSAR——Channel-wise and Spatial Feature Modulation Network for Single Image Super-Resolution
1. 摘要
CNN 中的特征包含着不同类型的信息,它们对图像重建的贡献也不一样。然而,现在的大多数 CNN 模型却缺少对不同信息的辨别能力,因此也就限制了模型的表示容量。
另一方面,随着网络的加深,来自前面层的长期信息很容易在后面的层被削弱甚至消失,这显然不利于图像的超分辨。
作者提出了一个通道和空间特征调制(CSFM)网络,其中一系列特征调制记忆(FMM)模块级联在一起来将低分辨率特征转化为高信息量的特征。而在每个 FMM 内部,则集成了许多通道和空间注意力残差块(CSAR)以及一个用来保留长期信息的门控融合节点(GF)。
2. 网络结构
2.1. CSAR(Channel-wise and Spatial Attention Residual )

进来一个特征 Hi,先经过卷积-ReLU-卷积得到特征 U,卷积核都为 3×3。
CA 单元包含全局空间池化-卷积-ReLU-卷积-Sigmoid,卷积核都为 1×1,第一层卷积通道数变为 C/r,第二层卷积通道数为 C。
SA 单元包含卷积-ReLU-卷积-Sigmoid,卷积核都为 1×1,第一层卷积通道数变为 C*i,第二层卷积通道数为 1。
得到通道和空间的两个 mask 后,分别和特征 U 相乘,然后再将两个结果拼接起来经过一个 1×1 的卷积将通道数变为 C,最后和 Hi 相加得到输出特征 Ho。
在论文中,作者设置 r=16,i=2,CSAR 的一个 TensorFlow 实现如下所示。
def CSAR(input, reduction, increase):
"""
@Channel-wise and Spatial Feature Modulation Network for Single Image Super-Resolution
Channel-wise and spatial attention residual block
"""
_, 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.reduce_mean(u, axis=(1, 2), keepdims=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, activation=tf.nn.sigmoid) # (B, 1, 1, C)
x = tf.multiply(u, x) # (B, W, H, C)
# spatial attention
y = tf.layers.conv2d(u, channel * increase, 1, activation=tf.nn.relu) # (B, W, H, C * i)
y = tf.layers.conv2d(y, 1, 1, activation=tf.nn.sigmoid) # (B, W, H, 1)
y = tf.multiply(u, y) # (B, W, H, C)
z = tf.concat([x, y], -1)
z = tf.layers.conv2d(z, channel, 1, activation=tf.nn.relu) # (B, W, H, C)
z = tf.add(input, z)
return z
2.2. FFM(Feature Modulation Memory)

一个 FFM 模块由 B 个 CSAR 块叠加而成,最后面是一个门控融合节点,借鉴 DenseNet 的思想,将其前面所有 FFM 模块的输出特征拼接在一起再经过一个 1×1 的卷积。
2.3. CSFM(Channel-wise and Spatial Feature Modulation)

整个网络结构包含三部分,第一部分为初始特征提取网络(IFENet),第二部分为特征转化网络(FTNet),包含数个 FMM 模块和一个跳跃连接,第三部分为上采样网络(UpNet),负责上采样得到高分辨率图片。
3. 实验结果
3.1. Ablation studies

作者对比了只有 CA 单元和只有 SA 单元情况下模型的表现情况,结果如下所示。

可以看到,单单引入 CA 、SA 或者 GF 都会改善模型的性能,而将三者组合在一起则可以得到最大的性能提升。
网络中 FMM 模块的数量以及每个 FMM 模块中 CSAR 块的数量对模型的性能影响如下图所示,M=8,B=16 时模型取得了最好的表现。

3.2. 实验对比
在 PSNR 和 SSIM 指标上,CSFM 在所有的数据集上都取得了最好的效果。

主观上也可以看到,CSFM 恢复出了图片中更多的细节和纹理。

相较于之前表现最好的模型 EDSR,模型的参数量也大大减少。

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

CSAR——Channel-wise and Spatial Feature Modulation Network for Single Image Super-Resolution的更多相关文章
- Paper | Recovering Realistic Texture in Image Super-resolution by Deep Spatial Feature Transform
目录 故事背景 空域特征转换 超分辨率网络 发表在2018年CVPR. 摘要 Despite that convolutional neural networks (CNN) have recentl ...
- Parallel Feature Pyramid Network for Object Detection
Parallel Feature Pyramid Network for Object Detection ECCV2018 总结: 文章借鉴了SPP的思想并通过MSCA(multi-scale co ...
- 《Hyperspectral Image Classification With Deep Feature Fusion Network》论文笔记
论文题目<Hyperspectral Image Classification With Deep Feature Fusion Network> 论文作者:Weiwei Song, Sh ...
- ASRWGAN: Wasserstein Generative Adversarial Network for Audio Super Resolution
ASEGAN:WGAN音频超分辨率 这篇文章并不具有权威性,因为没有发表,说不定是外国的某个大学的毕业设计,或者课程结束后的作业.或者实验报告. CS230: Deep Learning, Sprin ...
- Speech Super Resolution Generative Adversarial Network
博客作者:凌逆战 博客地址:https://www.cnblogs.com/LXP-Never/p/10874993.html 论文作者:Sefik Emre Eskimez , Kazuhito K ...
- 【论文阅读】Second-order Attention Network for Single Image Super-Resolution
概要 近年来,深度卷积神经网络(CNNs)在单一图像超分辨率(SISR)中进行了广泛的探索,并获得了卓越的性能.但是,大多数现有的基于CNN的SISR方法主要聚焦于更宽或更深的体系结构设计上,而忽略了 ...
- 2016CVPR论文集
http://www.cv-foundation.org/openaccess/CVPR2016.py ORAL SESSION Image Captioning and Question Answe ...
- CVPR2016 Paper list
CVPR2016 Paper list ORAL SESSIONImage Captioning and Question Answering Monday, June 27th, 9:00AM - ...
- 基于COCO数据集验证的目标检测算法天梯排行榜
基于COCO数据集验证的目标检测算法天梯排行榜 AP50 Rank Model box AP AP50 Paper Code Result Year Tags 1 SwinV2-G (HTC++) 6 ...
随机推荐
- CSP2019
$CSP\space S$ 格雷码 $solution:$ 直接模拟即可. 时间复杂度 $O(n)$ . #include<iostream> #include<cstring> ...
- PCIeのType0与Type1型配置请求与BAR(基地址寄存器)
PCIe中存在两种配置空间Type0&type1,TYPE0对应非桥设备(Endpoint),Type1对应桥设备(Root和Switch端口中的P2P桥)因为Root每个端口总都含有一个P2 ...
- vuex实现数据共享
1.store.js结构 import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vuex.Sto ...
- JAVA中自定义properties文件介绍
Gradle中的使用 1. 使用gradle.properties buid.gradle 和 gradle.properties可以项目使用,在同一个项目中,build.gradle可以直接获取其同 ...
- 互联网技术笔试总通不过?leetcode刷对了么
https://36kr.com/p/5084645 Leetcode,绕都绕不过去的程序员刷题神器 编者按:本文来自逆行求职(ID:nixingjihua). 对所有求职技术岗位的童鞋来说,有这么一 ...
- Python自动化学习--异常提示
举例:打开一个不存在的文件时: >>open("abc.txt","r")会提示错误 Traceback (most recent call las ...
- 2019 蓝桥杯国赛 B 组模拟赛 E 蒜头图 (并查集判环)
思路: 我们看条件,发现满足条件的子图无非就是一些环构成的图, 因为只有形成环,才满足边的两个点都在子图中,并且子图中节点的度是大于0的偶数. 那么如果当前有k个环,我们可以选2^k-1个子图,为什么 ...
- ZX树初步
一些数据结构,比如线段树或平衡树,他们一般是要么维护每个元素在原序列中的排列顺序,要么是维护每个元素的大小顺序,若是像二者兼得那么就想想主席树. 给你多个不同的数字问你1-N第K大的数是多少 最简单的 ...
- shell中switch语法
转载: https://blog.csdn.net/love__coder/article/details/7262160
- webpack 零基础到工程实战(1)
webpack resolve:resolve 配置是帮助 webpack 查找依赖模块resolve.alias 是最常用的配置,通过设置 alias 可以帮助 webpack 更快查找模块依赖,而 ...