收稿日期:2020-06-11 修回日期:2020-10-12
基金项目:苏州市民生科技项目(SS 201736);江苏省高等教育教学改革研究课题(2017JSJG 473)
作者简介:龚兰兰(1985-),女,硕士,讲师,研究方向为智能信息系统和机器学习;刘 凯(1997-),男,硕士研究生,研究方向为图像和视频
处理㊂
基于优化卷积神经网络的图像超分辨率重建
龚兰兰 1,刘 凯2,凌兴宏1,2
(1.苏州大学文正学院,江苏苏州215006;
2.苏州大学计算机科学与技术学院,江苏苏州215006)
摘 要:传统的图像超分辨率重建方法由于其计算局限性,无法对大批量或者模糊因子不同的图像做最优处理,也无法得出高分辨率图像㊂近年来随着深度学习神经网络越来越多被学者关注和青睐,其中卷积神经网络被成功应用于图像超分辨率重建㊂但是传统的图像超分辨率卷积神经网络,无论在训练速度,
泛化能力,还是生成图像质量等方面仍存在问题㊂针对上述问题,对图像超分辨率重建的原理进行研究,对SRCNN 模型在多种训练通道下的超分辨率效果进行了实验,并提出了基于多层特征提取层的图像超分辨率重建模型,采用新的优化方法,验证了多种包含不同层数体征提取层的卷积神经网络模型㊂实验证明该方法在一定程度上优于SRCNN 方法,能够有效加快网络整体的训练速度㊂关键词:深度学习;超分辨率图像;卷积神经网络;多层特征提取;多训练通道;
中图分类号:TP 391 文献标识码:A 文章编号:1673-629X (2021)04-0100-06doi :10.3969/j.issn.1673-629X.2021.04.017
Image Super -resolution Reconstruction Bad on Optimized
Convolutional Neural Network
GONG Lan -lan 1,LIU Kai 2,LING Xing -hong 1,2
(1.Wenzheng College ,Soochow University ,Suzhou 215006,China ;
2.School of Computer Science and Technology ,Soochow University ,Suzhou 215006,China )
Abstract :Due to computational limitations ,the traditional image super -resolution reconstruction met
hod cannot optimally process images of different sizes or different blur factors ,or obtain high -resolution images.As deep learning has been focud by more and more people ,the convolutional neural network (CNN )has been applied to the image super -resolution reconstruction successfully in recent years.However ,the traditional image super -resolution convolutional neural network still has problems in terms of training speed ,generalization ability and image quality.Aiming at the above problems ,we study the principles of image super -resolution reconstruction ,tests the super -resolution effect of SRCNN model under various training channels ,and bad on the test results ,propo an image super -resolution
model bad on multi -layer feature extraction layer.The results shows that the propod method is better than SRCNN to some extent ,which can improve the training speed of the whole network.
Key words :deep learning ;super -resolution image ;convolutional neural network ;multi -layer feature extraction ;multi -channels training 0 引 言
超分辨率图像重建指的是将现有的一幅或者多幅低分辨率图像,通过超分辨率技术手段,如信号处理等,重构得到相同图片内容的包含更多像素信息的高分辨率图像㊂目前,大量基于插值㊁基于重建㊁基于学习等算法被提出用以实现超分辨率图像重建,多种领域已经开始采用该技术代替昂贵的图像传感器,如医疗领域㊁安全监控㊁影视领域等㊂
1964年,Harris [1]首先提出了图像差值的方法实
windows平板
现超分辨率图像重建,自此之后超分辨率图像重建便逐渐成为热点研究课题㊂目前超分辨率图像重建关键技术主要分为两类[2-3],一类是基于单帧图像的超分辨率重建技术,另一类则是基于多个图像的超分辨率重建技术㊂主流的基于单帧图像的超分辨率重建技术主要分为基于插值的超分辨率技术㊁基于重建的超分辨率技术[4]以及基于学习的超分辨率技术[5]㊂最邻近插值㊁双线性插值和双三次插值是基于插值的超分辨率主要实现技术㊂三种插值方法中,双三次插值方
第31卷 第4期2021年4月 计算机技术与发展COMPUTER TECHNOLOGY AND DEVELOPMENT
Vol.31 No.4
Apr. 2021
法超分辨率效果最好,但是复杂度更大[6]㊂
目前最受关注的超分辨率方法是基于学习的超分辨率方法[7],这种方法也是效果最好的一类算法㊂该算法采用预设的模型,构建低分辨率图像与高分辨率图像之间的映射关系,然后将低分辨率图像作为模型的输入,原始高分辨率图像作为模型的预期输出,对模型进行训练,调整模型各部分参数,从而
使得该映射模型最终实现重建高分辨率图像的功能㊂因此对于该方法,如何建立映射模型就成为了研究的关键问题㊂Dong等[8]针对超分辨率图像问题,尝试采用卷积神经网络的解决方法并提出了基于深度CNN的超分辨率图像重建算法(SRCNN),经研究该模型无论在训练速度还是超分辨率效果方面仍存在一定问题㊂
该文对超分辨率图像的原理进行研究,验证了SRCNN模型在多种训练通道下的超分辨率效果,并提出了基于多层特征提取层的图像超分辨率模型,采用新的优化方法,验证了多种包含不同层数体征提取层的卷积神经网络模型㊂
1 基于卷积神经网络的超分辨率(SRCNN)算法
1.1 网络结构
作为深度学习在图像超分辨率重建问题的经典SRCNN模型如图1所示㊂其中LR(low resolution)表示以低分辨率图像作为输入的输入端,n1,n2表示2层卷积层,其中n1作为非线性映射层,激活函数为ReLU,n2作为图像重建层,用于重建输出的Y通道图像,除此之外在LR端还有一层卷积层用于对图像做特征提取
工程设备㊂
图1 SRCNN模型1.2 卷积层和激活层
卷积层input作为输入层以及特征提取层,由64
个9*9大小的卷积核构成,输入数据矩阵大小设置为
33*33*1,通道数为1,即Y通道㊂卷积层n1作为非
线性映射层,由32个1*1大小的卷积核构成㊂卷积
层n2作为图像重建层,由1个5*5大小的卷积核构
成,最终的输出结果为Y通道重建的高分辨率图像㊂
假设L层卷积核为W L,上一层输出为O L-1,偏置为
b,那么该卷积层的输出按照式(1)计算,其中⊗表示
卷积运算㊂
O L =W
L⊗O L-1+b(1)
除了重建层外,每层卷积层都连接着一个激活层,该激活层采用的激活函数为线性整流函数(ReLU)[9],又称为修正线性单元,具体公式如下:
f(x)=max(0,x)(2)因此每一层的输出最终结果为式(3)㊂
O L =max(W
L⊗O L-1+b,0)(3)
采用ReLU函数,一方面可以保留图像数据的基本特征,另一方面将数据都表示为成大部分为零的稀疏矩阵,既加快了网络的训练速度,也在一定程度上避免了小于0的数据所带来的传播过程中产生的特征消失等问题㊂
1.3 损失函数与优化方法
与大多数神经网络相同,损失函数是整个神经网络经过训练趋向拟合的核心㊂常用的损失函数包括最小绝对偏差㊁最小平方误差㊁交叉熵损失函数以及均方误差(MSE),SRCNN模型中采用MSE作为卷积神经网络损失函数㊂
均方误差[10]是一种计算两个相同类型数据或数据集差异度的评估方法㊂假设有输出图像X,标签图像Y,两个图像大小均为N*M,那么这两个图像之间的均方误差计算如下:
MSE(X,Y)=1N*M∑0≤i≤N∑0≤j≤M(X ij-Y ij)2(4)针对机器学习,目前已有多种优化方法[11],可以适用于任何模型寻找的最优解㊂优化方法可以被分为三类,分别是梯度下降法㊁动量优化法㊁自适应学习率优化算法㊂
(1)梯度下降法:梯度下降法是一种最基本的优化方法,该类方法中最为常见的,使用范围最广的是标准梯度下降法(stochastic gradient descent,SGD)㊂虽然SGD梯度计算快,训练速度快,但抗噪能力较差,并且
㊃101㊃
第4期 龚兰兰等:基于优化卷积神经网络的图像超分辨率重建
没能克服局部最优问题,SRCNN模型训练采用该方法㊂
(2)动量优化法:动量优化法是基于梯度下降法进行了改进,能够在模型训练的过程中,加速损失函数梯度的下降,从而加快模型收敛㊂
(3)自适应学习率优化法:传统的优化方法极大忽视了模型训练过程中梯度下降信息的总体利用,学习率随信息变化的可能性㊂然而,学习率对于模型的性能有着显著的影响,学习率的过大或过小都会造成网络的振荡,无法收敛到最优解,因此需要利用梯度下降中的总体信息更新学习率的优化方法提高模型训练速度㊂AdaGrad算法㊁RMSProp算法㊁Adam算法以及AdaDelta算法是目前自适应学习率优化法中最常用的方法[12]㊂
1.4 图像评价方法
在超分辨率图像评价中,最常用㊁最直接的方法就是将图像质量分为1到5,5个等级,然后由人眼观察超分辨率之后的结果图像与低分辨率图像㊁原图像之间的差距,进行等级评价㊂但由于主观评价的限制,仍需要客观质量评价对图像质量进行分析㊂客观评价方法主要分为三类:全参考㊁部分参考㊁无
参考㊂该文采用了第一类方法中的峰值信噪比[13](PSNR)㊂PSNR 越高,超分辨率处理后的输出图像比照原图失真就越小,超分辨率图像质量也就越高㊂PSNR公式见式(5),其中MSE计算公式见式(4)㊂
PSNR=10log10(MAX2i MSE)2(5) 1.5 SRCNN实验
为了验证基于卷积神经网络的超分辨率算法的有效性,实验采用SRCNN模型进行图像超分辨率重建㊂该模型使用了3层卷积神经网络,前两层都组合了ReLU层㊂三层的网络参数分别为9*9*64㊁1*1* 32㊁5*5*1㊂实验所采用的训练集为包含100张不同种类的光学图像集合General-100[14],所采用的测试集为公共数据集Set5㊂
为了测试不同的参数,如训练通道,图像表示空间,卷积神经网络损失函数对该模型的影响,该文训练了以RGB及YCrCb为图像表示空间和训练通道的SRCNN模型,以及不同模型在放大倍数不同情况下的效果,如表1所示㊂
表1 4放大倍数下的不同模型结果
图像(4倍缩放)BICUBIC SRCNN
洗衣机品牌排行榜(Y通道)
SRCNN
(YCrCb)
SRCNN(RGB
三色通道)
baby_GT29.41629.72528.67029.748 bird_GT28.06828.24427.37027.003
续表1
图像(4倍
缩放)
BICUBIC SRCNN
(Y通道)
SRCNN中通货运
(YCrCb)
SRCNN(RGB
三色通道) butterfly_GT20.90022.05921.73921.154 head_GT28.96328.53127.77028.400 woman_GT25.10225.61925.10325.196 从表1可见,在4倍缩放情况下,仅使用Y通道训练的SRCNN模型在4张图片上展现出比其他两种模型以及双三次插值更好的超分辨率果㊂
表2为4种方法在2㊁4㊁8倍图像缩放情况下的超分辨率效果㊂从表中可以发现,2倍图像缩放情况下基于RGB三通道的SRCNN模型的超分辨率效果最好,而在4㊁8倍情况下仅基于Y通道的SRCNN模型的超分辨率效果最好㊂
表2 不同放大倍数下的不同模型结果图像Scale BICUBIC
SRCNN
后背中间痛(Y通道)
SRCNN
(YCrCb)
SRCNN(RGB
三色通道) Set5
227.84929.24226.72830.652
426.68926.83526.13726.548
822.74623.19620.91622.734 三种基于不同训练通道的SRCNN模型中,在三种缩放情况下,仅基于Y通道的SRCNN模型其超分辨率取得了PSNR和主观评价两方面的最优结果,基于RGB通道的模型效果次之,基于YCrCb模型的效果最差㊂
在实验过程中发现,相对于仅基于Y通道的SRCNN模型,基于RGB和YCrCb三通道的SRCNN模型,在网络的训练过程中更加缓慢㊂首先是因为RGB 和YCrCb三通道对比Y通道,需要训练更多的神经元,其次是因为RGB和YCrCb所包含的信息更为丰富,使用三层卷积神经网络进行拟合需要更多的训练时间㊂同时SRCNN作者也说明,由于SRCNN没有池化层和全连接层,导致网络对于初始参数和学习率非常敏感,网络在训练过程中难以收敛㊂
2 基于多层特征提取的超分辨率图像重建针对SRCNN中对图像细节信息还原仍存在缺陷,以及训练过程中该模型收敛较慢㊁对于初始参数和学习率敏感等问题,该文提出了一种在SRCNN基础上改进的卷积神经网络模型㊂该模型对比传统SRCNN,增加了多层的作为特征提取层的卷积层,并调整了各层卷积核的大小㊂
2.1 模型设计与实现细节
SRCNN的基础思想中以第一层卷积层作为特征提取层,提取特征,但是该层卷积核设置为9*9,第三
㊃201㊃ 计算机技术与发展 第31卷
层重建层卷积核设置为5*5,使用单个特征提取层,会导致对于特征的细节提取不显著,与此同时,卷积核增大会导致网络参数的增多,从而导致网络的整体训
练速度下降㊂对此,该文提出了4层模型,如图2所示㊂
图2 4层模型
如图2所示,LR 表示低分辨率Y 通道图片,C1为第一层特征提取层,C2为第二层特征提取层,C3为非线性映射层,C4为图像重建层㊂在特征提取层和非线性映射层后都添加了激活层,其激活函数为ReLU 函数㊂类似这样多特征提取层的超分辨率卷积神经网络就是在C1之前,添加卷积核大小以及个数适当的卷积层㊂该文实现了4层㊁5层模型㊂4层卷积神经网络的具体结构如图3所示㊂
如图2所示,LR 表示所需超分辨率图像的Y 通道图像㊂卷积层C1为第一个特征提取层,由64个11*
11大小的卷积核构成,这是考虑到图像填充后既可以提取图像块的边缘细节,还可以提取整体图像块细节特征㊂卷积层C2为第二个特征提取层,由48个9*9大小的卷积核构成,在C1卷积层输出的特征图的基础上对图像的特征进行进一步的细化和提取㊂卷积层C3为非线性映射层,由32个1*1大小的卷积核构成,主要是加深网络的深度,增强网络拟合能力,并且实现特征图像与高分辨率图像块之间的线性关系㊂卷
积层C4为图像重建层,由1个5*5大小的卷积核构成,主要负责Y 通道的高分辨率图像块的重建㊂而对于5层模型来说,在4层模型的C1层之前,添加了一个由32个13*13大小的卷积核,为了弥补图像在卷积后特征块大小为负数的情况,对第一层特征提取层使用了填充㊂
图3 4层网络结构
2.2 优化方法改进
该文提出的4层卷积神经网络模型,采用的损失函数依旧是MSE(均方误差),因为MSE 作为检测失真图像失真度的有效方法,与PSNR 之间关系紧密,通过式(5)不难发现,MSE 与PSNR 实际上是一个值㊂相对于SRCNN 模型中采用的随机梯度下降法
(SGD),该模型在训练过程中采用了一种新型的优化方法AdaDelta㊂该优化方法的学习率将随着梯度的倒数增长,也就是说较大梯度具有较小的学习率,而较小的梯度具有较大的学习率,可以解决普通的SGD 方法中学习率一直不变的问题㊂与此同时,在多种训练模型中,根据各种优化方法的实际梯度下降速度来看,从平均速度上来讲,AdaDelta 的下降速度最快㊂与此同时AdaDelta 方法能够有效地避免模型在训练过程中陷入局部最优解㊂
算法如下:
E [g 2]n =αE [g 2]n -1+(1-α)g 2
n ΔW n =-∑n -1i =1ΔW i E [g 2]n +θW n +1=W n +ΔW ìîíïïïïï
ïn
(6)
其中,n 表示当前迭代次数,W n 为第n 次迭代的模型中的权值参数,g n =ΔJ (W n )则是代价函数关于W 的梯度,前n 次的梯度平方均值则用E [g 2]n 表示,
∑n -1i =1
ΔW
i
表示前n -1次模型参数每次的更新步长累加
求根[15]㊂
虽然AdaDelta 能够比SGD 有效地加快模型的训
练过程,但是当模型采用此方法训练到后期时,模型会在最小点不断振荡,无法收敛㊂这时就需要采用SGD
㊃
301㊃ 第4期 龚兰兰等:基于优化卷积神经网络的图像超分辨率重建
的方法,推动模型收敛到最小值点㊂
2.3 实验结果与分析
2.3.1 实验结果
实验所采用的数据集依旧是General-100数据集,测试集依旧是Set5测试集㊂得到SRCNN与文中方法在5张图片上的超分辨率结果,此外还设置了SRCNN原模型将特征提取层扩大为13*13大小的模型,为了验证单纯地扩大特征提取层卷积核大小是否也会对卷积效果产生影响㊂与原图对比的PSNR表格如表3所示㊂
表3 4种方法在不同倍数下的超分辨率效果
原图倍数SRCNN
SRCNN
(13*13特
征提取)
文中方法
(4层)
文中方法
(5层)
baby_GT X231.61034.16833.67033.388
X429.72529.64630.40230.151
bird_GT X233.39535.53935.18735.140
X428.24429.06329.31529.165
butterfly_GT X226.27528.03528.02828.312
X422.05922.12122.48722.540
head_GT X229.61032.73032.60132.503
X428.53129.67629.90229.880
woman_GT X228.33231.46031.24831.133
X425.61925.57026.03825.815 从图4与图5可以看出,无论是单独扩大特征提取层的卷积核还是增加网络的卷积层层数,这些方法所创建模型的超分辨率效果都要优于仅基于Y通道的SRCNN的效果,但是从主观角度来说,在后三种改进方法中,无法分辨别出最终超分辨率效果的好坏㊂只能通过表3中的PSNR数值大小来判别最终各模型超分辨率效果的差距
㊂
图4 2倍缩放超分辨率效果
图5 4倍缩放超分辨率效果海虾怎么做
2.3.2 实验结果分析
从图4㊁图5可以看出,无论哪种方法,2倍缩放大
小情况下的效果总是好于4倍缩放情况下的效果㊂对
比图4㊁图5中的SRCNN超分辨率的图像效果与文中
方法所产生的超分辨率图像效果,可以看出文中方法
所产生的还原效果略优于SRCNN还原出的效果,同时
SRCNN中在图像高分辨率后对图像中缺失部分的信
息,其还原出的细节部分,对比文中方法,较为偏离原
图的细节㊂
最后从表3可以看出,在4倍缩放情况下,4组模
型超分辨率效果差距并不明显,但是在2倍缩放情况
长白山旅游最佳时间下,后三组模型与SRCNN模型之间的超分辨率效果差
距就比较明显㊂而且在4倍超分辨率效果对比中,文
中方法优于SRCNN原本模型以及SRCNN增大卷积核
之后的模型㊂这是由于文中的4㊁5层模型,加深了网
络深度,使得网络拟合能力增强㊂而在2倍缩放的效商洽函范文
果对比中,呈现出与4倍效果相反的情形,除去
SRCNN模型,在后面3种改进中,单一增加SRCNN特
征提取层卷积核大小的模型超分辨率效果最好,文中
的4层模型次之,5层模型最差,但这三种模型效果都
优于SRCNN原本模型㊂对此结果,由于SRCNN没有
池化层和全连接层,网络对初始参数和学习率特别敏
感,网络收敛难度大,即使收敛也可能停在非优局部最
小值㊂而增加网络层数以及卷积核个数,使得网络需
要更多的时间收敛,并且更容易陷入坏的局部最小值㊂
此外,增加网络深度,添加更多的卷积核,显著增
加了网络训练时间㊂
除了上述的结果分析外,在网络的训练过程中,采
用AdaDelta方法从开始训练,很快就能够收敛㊂
从图6中可以明显看出,在对图形进行100轮训
练的过程中,采用AdaDelta作为优化方法时,在训练
的第一轮图像已经很快地开始拟合,并且在第9轮训
练中已经达到了预期误差,在100轮训练结束后,整个㊃401㊃ 计算机技术与发展 第31卷