Image Super Resolution Using Conventional Neural Network (SRCNN)
2017-12-20 21:32
537 查看
前言
打算写些文档记录一下自己看过的一些经典的论文,不然过一段时间都忘记自己看过的文章了。算是对自己文档写作能力的一个锻炼,也是对自己的某种监督吧。这篇论文是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等方法训练得到。这个提取图像块及表示过程等价于用一组卷积核对图像进行卷积,每一个卷积核可以看作一个对应的原子。第一层用 F1 来表示:F1(Y)=max(0,W1∗Y+B1)
这里W1和B1分别代表卷积核的权重和偏置。通过第一层的卷积,我们对每个图像块提取出了n1维的特征图。
2. Non-linear Mapping
通过第二层的卷积,将上面得到的n1维特征映射为n2维特征。作者认为这个n2维特征可以看做是对高分辨率图像块的特征表示。这一层卷积核的大小为1×1、或者3×3、5×5。第二层可以表示为:F2(Y)=max(0,W2∗F1(Y)+B1)
这一层对应于基于稀疏表示的图像超分辨率中,低分辨率稀疏编码向量到高分辨率稀疏编码向量的映射过程。
3. Reconstruction
在传统的SR算法中,通常将重建图像块重叠部分取平均作为最后的输出。这样的取平均操作可以看作是“预训练”的卷积操作。 第三层可以定义为:F3(Y)=max(0,W3∗F2(Y)+B1)
三个卷积层与基于稀疏表示的SR的对应关系如下图所示:
这里想要说明的一个感受野的问题:如Fig.3图中,我们最终重建结果的一个点(红圈中的黄点)是利用其周围一定范围领域内(蓝色虚线框内)像素点的信息重建的。例如,如果三层卷积的卷积核大小分别为:9×9、1×1和5×5,最终每个像素点重建就会利用到周围(9+5−1)2=169个像素点的信息。这就是感受野的含义。后续的一些改进工作比如VDSR、DRCN等都是着眼于增大感受野的范围来提高超分辨率结果。
训练
要训练一个端到端的映射F要求估计得到的网络参数Θ={W1,W2,W3,B1,B2,B3}能使得网络的输出结果F(Y;Θ)尽可能的接近原来的高分辨率图像X。因此,网络的损失函数定义为SR与GT的欧氏距离,其实也就是MSE:L(Θ)=1n∑t=1n∥F(Yi;Θ)−Xi∥
其中,n为训练样本的总数。使用MSE作为损失函数可以得到更高的PSNR值。(这里我想吐槽一句,虽然SR用PSNR作为重建的指标,但是高PSNR并不意味着重建结果越好。SR是病态问题,这就意味着可能解有无穷多个。以MSE(PSNR)为loss函数得到的解往往是这些可能解的平均,而不是最优解。这就导致以MSE为loss的SR算法得到的结果有些区域看起来过于模糊,缺乏应有的细节。)
网络训练的优化方法采用的是随机梯度下降法,Wi用方差为0.001的标准正态分布初始化,Bi初值为0。权重更新的方法如下:
Δi+1=0.9Δi+η∂L∂Θi,Θi+1=Θi+Δi+1
结果与分析
SRCNN的结果与传统的state-of-the-art的对比如下表,虽然其性能提升有限,但是作为较早的(开创性的?)将深度学习引入SR的工作还是有很大意义的。再一个问题就是,作为一个比较初期的基于深度学习的SR模型,其网络结构只有三层,如此这样“浅的”网络模型也导致其收敛速度非常慢,要训练到109个epoch才会得到比较满意的结果。
其后,很多工作例如VDSR、DRCN都设法引入更多的卷积层以及残差学习来构造更深的网络,获取了更好的重建效果。
第一次写博客,难免有些错误和不足,欢迎大家批评指正!
相关文章推荐
- (SRCNN)Image super-resolution using deep convolutional networks
- (SRCNN)Image super-resolution using deep convolutional networks
- 《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》阅读笔记
- 《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》阅读笔记
- Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
- 论文阅读之:Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
- Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
- Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
- 每日论文Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
- Image Super-Resolution using CNN
- 《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》阅读笔记
- 【超分辨率】FSRCNN--Accelerating the Super-Resolution Convolutional Neural Network
- Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural
- ASPLOS'17论文导读——SC-DCNN: Highly-Scalable Deep Convolutional Neural Network using Stochastic Computing
- 【超分辨率】VDSR--Accurate Image Super-Resolution Using Very Deep Convolutional Networks
- Learning a Deep Convolutional Network for Image Super-Resolution(泛读)
- Image Style Transfer Using Convolutional Neural Network(理论篇)
- “Single Image Super-resolution using Deformable Patches”
- 论文阅读笔记:Image Super-Resolution Using Deep Convolutional Networks
- READING NOTE: SuperCNN: A Superpixelwise Convolutional Neural Network for Salient Object Detection