【超分辨率】SRCNN论文详解(Image Super-resolution Using Deep Convolutional Networks)

论文原文:https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7115171&tag=1

一、简介

超分辨率(super resolution)的任务目标是将输入的低分辨率的图像转换为高分辨率的图像,与图像去噪、图像去模糊等一脉相承。个人认为:超分辨率关注的是从小尺寸到大尺寸图像如何填充新的像素;图像去噪则是关注在图像尺寸不变的情况下,将被“污染”的像素替换为正确的像素。

SRCNN是首个使用CNN结构(即基于深度学习)的端到端的超分辨率算法,这个相当于什么呢?就像faster r-cnn在目标检测的地位一样,将整个算法流程用深度学习的方法实现了,并且效果比传统多模块集成的方法好。SRCNN流程如下:首先,输入预处理。对输入的低分辨率lr图像使用bicubic算法进行放大,放大为目标尺寸。那么接下来算法的目标就是将输入的比较模糊的lr图像,经过卷积网络的处理,得到超分辨率sr的图像,使它尽可能与原图的高分辨率hr图像相似。

二、模型及训练

image

SRCNN的结构较简单,整个卷积网络包括三个卷积层,甚至没有池化和全连接层:

  1. 对低分辨率的图进行卷积操作,生成n1维的feature maps
  2. 对n1维的feature map进行卷积操作生成n2维 feature maps
  3. 对n2维的feature maps进行卷积生成超分辨的图像

分别对应三个处理流程:

  1. 提取图像特征:从低分辨率图像中提取多个patch图像块,每个块被卷积操作表示为多维的向量(维数等于filter的数量),所有的特征向量组成特征矩阵(feature maps)
  2. 非线性映射:将n1维特征矩阵,通过卷积操作实现非线性映射,变成另一n2维特征矩阵。
  3. 重构图像:等于是个反卷积的过程,将n2的特征矩阵还原为超分辨图像

模型训练的优化参数是三层卷积层对应的卷积核(w)和bias(b),参数P={W_1,W_2,W_3,b_1,b_2,b_3}。训练的目标损失是最小化超分辨率图像F(Y;P)与原高分辨率图像X基于像素的均方误差MSE,定义如下:

image

其中n是训练样本数量,即每次训练的样本数量。接下来无非就是随机梯度下降法反向传播,网络训练得到最终的参数P使损失L最小化,参数更新公式如下:

image

三、实验

3.1、对比卷积核大小(filter size)、卷积核数量(filter numbers)对复原效果的影响的实验

结论:卷积核数量越多,即特征向量维数越高,实验效果越好,但是会影响算法速度,故需要综合考虑;另外三层卷积层的卷积核大小越大,实验效果也会略微更好,同样会影响算法速度。

3.2、对比网络层数(layer numbers)对复原效果的影响的实验

结论:并非网络越深,效果越好,结果恰恰相反。作者也给出了解释:因为SRCNN没有池化层和全连接层,导致网络对初始参数和学习率非常敏感,结果即网络训练的时候非常难以收敛,即使收敛了也可能停在了坏的局部最小值(bad local minimum)处,并且即使训练了足够的时间,学习到的filter参数的分散度也不够好。

3.3、与最前沿的其他超分算法对比速度与性能的实验

数据集选择的是ImageNet上的BSD200、Set14、Set5,对比对象是Bicubic、SC、NE+LLE、KK、ANR、A+与SRCNN。结果如下:


Set5数据集上实验结果
Set14数据集上实验结果
BSD200数据集上实验结果
对比算法速度

结论
对于复原质量,SRCNN在大部分指标上都表现最好。超分辨率问题(SR)用PSNR作为重建的指标,但是高PSNR并不意味着重建结果好。因为SR是病态问题,这就意味着可能解有无穷多个。以MSE(等价于PSNR)为loss函数得到的解往往是这些可能解的平均,而不是最优解。这就导致以MSE为loss的SR算法得到的结果有些区域看起来过于模糊,缺乏应有的细节。这也是为什么出现了数值评估低,但肉眼看着效果更好的现象。故作者选择了很多项指标来评价复原图像的质量;

对于复原速度,前面提到卷积核大小会影响速度,故作者对比了三种不同卷积核大小的SRCNN与其他算法的速度,总的来说SRCNN的复原速度属于前列水平。

3.4、通道对复原效果影响的实验

结论:RGB通道联合训练效果最好;YCbCr通道下,Cb、Cr通道对性能提升基本无帮助,只基于Y通道的训练效果更好。

四、小结

SRCNN提出轻量的端到端网络SRCNN来解决超分问题,的确在当时取得了比传统方法性能更强、速度更快的效果,另外作者将基于SC(稀疏编码)的超分方法理解为卷积神经网络的一种形式,都是非常值得阅读的亮点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值