前言

打算写些文档记录一下自己看过的一些经典的论文,不然过一段时间都忘记自己看过的文章了。算是对自己文档写作能力的一个锻炼,也是对自己的某种监督吧。

这篇论文是16年发表于TPAMI的关于图像超分辨率的,是较早的将深度学习应用在图像超分辨率的工作,相较于传统的基于稀疏表示的字典学习方法,一定程度上提升了图像重建的质量。

原文链接:[SRCNN]
http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7115171


摘要

这篇文章提出了用深度卷积神经网络(CNN)进行图像的超分辨率重建。网络输入为低分辨率图像经过双三次插值后的图像,网络输出为超分辨率重建图像。网络由三个卷积层组成,完成了由低分辨率图像到高分辨率图像的端到端的映射。在文章中,作者Chao Dong et. al还解释了SRCNN网络与基于稀疏表示的图像超分辨率方法的关系。在实验部分也展示了不同网络层数、卷积核大小等对重建结果的影响。

SRCNN的网络结构

SRCNN的网络结构如上图所示,由三个卷积神经网络组成,分别为图像块提取与表示层、非线性映射层及图像重建层。作者将这三层网络分别与基于稀疏表示的SR的三个步骤对应。

1. Patch Extraction and Representation

在图像恢复(restoration) 任务中,常常通过对图像进行密集采样,然后用预训练的原子进行表示。这些原子通常由PCA、DCT、Haar等方法训练得到。这个提取图像块及表示过程等价于用一组卷积核对图像进行卷积,每一个卷积核可以看作一个对应的原子。第一层用 F1F_1 来表示:

F1(Y)=max(0,W1∗Y+B1)

F_1\left ( Y \right )=max\left ( 0, W_1*Y+B_1 \right )
这里 W1W_1和 B1B_1分别代表卷积核的权重和偏置。通过第一层的卷积,我们对每个图像块提取出了 n1n_1维的特征图。

2. Non-linear Mapping

通过第二层的卷积,将上面得到的n1n_1维特征映射为n2n_2维特征。作者认为这个n2n_2维特征可以看做是对高分辨率图像块的特征表示。这一层卷积核的大小为1×11\times1、或者3×33\times3、5×55\times5。第二层可以表示为:

F2(Y)=max(0,W2∗F1(Y)+B1)

F_2\left ( Y \right )=max\left ( 0, W_2*F_1\left ( Y \right )+B_1 \right )
这一层对应于基于稀疏表示的图像超分辨率中,低分辨率稀疏编码向量到高分辨率稀疏编码向量的映射过程。

3. Reconstruction

在传统的SR算法中,通常将重建图像块重叠部分取平均作为最后的输出。这样的取平均操作可以看作是“预训练”的卷积操作。 第三层可以定义为:

F3(Y)=max(0,W3∗F2(Y)+B1)

F_3\left ( Y \right )=max\left ( 0, W_3*F_2\left ( Y \right )+B_1 \right )

三个卷积层与基于稀疏表示的SR的对应关系如下图所示:

这里想要说明的一个感受野的问题:如Fig.3图中,我们最终重建结果的一个点(红圈中的黄点)是利用其周围一定范围领域内(蓝色虚线框内)像素点的信息重建的。例如,如果三层卷积的卷积核大小分别为:9×99\times9、1×11\times1和5×55\times5,最终每个像素点重建就会利用到周围(9+5−1)2=169\left ( 9+5-1 \right )^{2}=169个像素点的信息。这就是感受野的含义。后续的一些改进工作比如VDSR、DRCN等都是着眼于增大感受野的范围来提高超分辨率结果。

训练

要训练一个端到端的映射FF要求估计得到的网络参数Θ={W1,W2,W3,B1,B2,B3}\Theta =\left \{ W_1, W_2, W_3, B_1, B_2, B_3 \right \}能使得网络的输出结果F(Y;Θ)F\left(Y; \Theta \right)尽可能的接近原来的高分辨率图像XX。因此,网络的损失函数定义为SR与GT的欧氏距离,其实也就是MSE:
L(Θ)=1n∑t=1n∥F(Yi;Θ)−Xi∥L\left ( \Theta \right )=\frac{1}{n}\sum_{n}^{t=1}\left \| F(Y_i; \Theta )-X_i \right \|

其中,nn为训练样本的总数。使用MSE作为损失函数可以得到更高的PSNR值。(这里我想吐槽一句,虽然SR用PSNR作为重建的指标,但是高PSNR并不意味着重建结果越好。SR是病态问题,这就意味着可能解有无穷多个。以MSE(PSNR)为loss函数得到的解往往是这些可能解的平均,而不是最优解。这就导致以MSE为loss的SR算法得到的结果有些区域看起来过于模糊,缺乏应有的细节。)

网络训练的优化方法采用的是随机梯度下降法,WiW_i用方差为0.001的标准正态分布初始化,BiB_i初值为0。权重更新的方法如下:
Δi+1=0.9Δi+η∂L∂Θi,Θi+1=Θi+Δi+1\Delta _{i+1}=0.9\Delta _{i}+\eta \frac{\partial L}{\partial \Theta _i}, \Theta _{i+1}=\Theta _{i}+\Delta _{i+1}

结果与分析

SRCNN的结果与传统的state-of-the-art的对比如下表,虽然其性能提升有限,但是作为较早的(开创性的?)将深度学习引入SR的工作还是有很大意义的。

再一个问题就是,作为一个比较初期的基于深度学习的SR模型,其网络结构只有三层,如此这样“浅的”网络模型也导致其收敛速度非常慢,要训练到10910^9个epoch才会得到比较满意的结果。

其后,很多工作例如VDSR、DRCN都设法引入更多的卷积层以及残差学习来构造更深的网络,获取了更好的重建效果。


第一次写博客,难免有些错误和不足,欢迎大家批评指正!

Image Super Resolution Using Conventional Neural Network (SRCNN)相关推荐

  1. deep_learning_初学neural network

    神经网络--最易懂最清晰的一篇文章 神经网络是一门重要的机器学习技术.它是目前最为火热的研究方向--深度学习的基础.学习神经网络不仅可以让你掌握一门强大的机器学习方法,同时也可以更好地帮助你理解深度学 ...

  2. 论文翻译:2019_Speech Super Resolution Generative Adversarial Network

    博客作者:凌逆战 论文地址:基于GAN的音频超分辨率 博客地址:https://www.cnblogs.com/LXP-Never/p/10874993.html 论文作者:Sefik Emre Es ...

  3. 论文翻译:Speech Super Resolution Generative Adversarial Network

    博客作者:凌逆战 论文地址:https://ieeexplore.ieee.org/document/8682215 博客地址:https://www.cnblogs.com/LXP-Never/p/ ...

  4. 【Super Resolution】超分辨率——SRCNN

    SRCNN 01 闲聊--图像的超分辨率 02 SRCNN--超分和DL的结合 02-1 双三次插值 02-2 SRCNN的网络结构 02-3 Training 训练阶段 03 EXPERIMENTS ...

  5. 图像超分辨率:小米低功耗超分,适用于移动端Extreme Low-Power Super Resolution Network For Mobile Devices

    4. ELSR: Extreme Low-Power Super Resolution Network For Mobile Devices 小米的论文,网络很简单很快,训练步骤比较多.

  6. Paper翻译:《A Novel Convolutional Neural Network Based Model for Recognition and Classification of App》

    论文名称:<A Novel Convolutional Neural Network Based Model for Recognition and Classification of Appl ...

  7. 漫谈深度学习在Super Resolution(超分辨率)领域上的应用

    1.前言 清晨,师兄推荐给我一篇文章,关于利用DeepLearning思想进行图像超分辨恢复的.超分辨这个话题几年之前还是比较火爆的,无论是BiCube.SP.A*都给出了令人振奋的结果.但是细节恢复 ...

  8. (zhuan) Recurrent Neural Network

    Recurrent Neural Network 2016年07月01日 Deep learning Deep learning 字数:24235 this blog from: http://jxg ...

  9. Bayesian Neural Network for regression (PRML)

    Bayesian Neural Network : PRML  5.7章节 参考代码:https://nbviewer.jupyter.org/github/ctgk/PRML/blob/master ...

  10. 20-Joint entity and relation extraction based on a hybrid neural network(LSTM-ED+CNN),考虑长距离的实体标签之间的关

    文章目录 abstract 1.introduction 2.相关工作 2.1. Named entity recognition 2.2. Relation classification 2.3 联合 ...

最新文章

  1. toolbar.netcraft.com查询域名等信息
  2. 数据与AI如何提升IT运维价值?锐捷发布乐享智能运维管理平台
  3. Docker(一):基础入门篇
  4. ★LeetCode(538)——把二叉搜索树转换为累加树(JavaScript)
  5. java接口_Java接口
  6. 股市的逻辑-201006-2
  7. mikrotik固件升级
  8. 游戏地图主要功能实现
  9. p2p与反p2p的博弈,一劳永逸真的不容易么
  10. JavaSE入门:面向对象(三)
  11. 《复杂网络分析》习题及自我解答
  12. QTcreater学习笔记
  13. java解析shp文件以及坐标转换(工具类)
  14. 12个黑科技网站,每个都是十分良心了 zt – 步行街主干道 – 虎扑社区
  15. 神器啊,理工男的春天来了!
  16. 苹果ios超级签名源码包java版带分发页面支持安卓合并部署教程
  17. 修改远程仓库地址,更换远程仓库https://www.cnblogs.com/tangshengwei/p/15843585.html
  18. 无线网卡(RTL8188EU)驱动编译、使用DHCP配置无线网络(1
  19. 怎么在不重启服务器情况下查看管理口-IPMI的ip是多少?
  20. SharedObject对象聊天室

热门文章

  1. tpshop报 商业用途必须购买正版,使用盗版将追究法律责任
  2. 斐讯c 语言面试题,斐讯面试记录—三线程交替打印ABC
  3. 企业邮箱哪个最好用?企业内部邮箱多少钱? 企业邮箱安全怎么选择?
  4. 基于历史使用数据的虚拟机动态整合研究( 文献阅读与问题理解)
  5. Python PyAutoGUI模块自动化控制鼠标和键盘
  6. 2019 计蒜之道 初赛 第一场 商汤的AI伴游小精灵
  7. rdt 可靠数据传输协议
  8. ISO26262-道路车辆功能安全
  9. java eml 附件_向EML文件追加附件的Java实现
  10. Niushop开源商城:618电商大趴开始预热啦!你的开源商城系统呢?