您的位置:首页 > 其它

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都设法引入更多的卷积层以及残差学习来构造更深的网络,获取了更好的重建效果。

第一次写博客,难免有些错误和不足,欢迎大家批评指正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  深度学习
相关文章推荐