基于卷积神经网络的单幅图像超分辨 下载: 1323次
1 引言
分辨率是判定图像质量的重要指标,高分辨率(HR)的图像能够提供更多的图像细节信息,这些细节信息可以在监控设备、医学影像和卫星图像等实际应用中起到重要的作用。图像超分辨率(SR)是一种由低分辨率(LR)图像重建出HR图像的重建技术[1],分为基于模型的超分辨算法[2-4]和基于学习的超分辨算法[5-15]两种类型。其中,基于学习的超分辨算法比前者具有很大的优势,相关研究也更加具有实用意义,该方法直接学习LR-HR之间的映射关系,当向网络中输入LR图像时,可以直接预测出对应的HR图像 。
基于学习的超分辨算法最早由Freeman等[5]提出,他们首先发现了LR和HR图像之间的关系可以通过学习来获得,正是这种通过学习获得的关系可以用来完成图像的重建。因此,通过构建马尔可夫(MRF)网络[6]成功学习到LR与HR图像块之间的映射关系,但是这种学习消耗了大量的样本时间和测试搜索时间。随后Chang等[7]提出将局部线性嵌入(LLE)加入到SR的研究中,这样需要的样本数量较少,但是容易产生拟合使重建图像不清晰。Yang等[8]认为图像具有稀疏性,因此将稀疏表示应用到SR中,为了保证LR和HR图像稀疏系数的一致性,他们联合训练LR和HR图像块字典,先计算出LR图像块的稀疏表示矩阵,再利用LR图像块的稀疏系数来完成HR图像的重构。该算法可以自适应地选取邻域,避免发生欠拟合或者过拟合, 但是训练库完成稀疏编码的过程会消耗大量时间。Dong等[9] 提出了卷积神经网络超分辨(SRCNN)算法,通过构建 3 层卷积神经网络来学习LR到HR图像块之间的非线性映射关系,然后直接由LR图像预测出对应的HR图像,完成图像重建。SRCNN构造简单、易于收敛、计算复杂度较低,相较之前算法速度更快且重建图像质量更好,但是其本身存在一些问题,例如训练所需时间较长、重建图像纹理不清晰等,本文旨在对这两个问题进行改善。
本文在原有的SRCNN基础上,对网络进行了优化,在客观指标和主观视觉上均优于其他算法。实验过程中,通过加深网络来更好地实现重建,但是在4层网络时优化速度和效果下降,在5层网络时难以收敛,因此采用简单高效的3层网络。本文研究了带参数的线性修正单元(PReLU)和线性修正单元(ReLU)函数的优点并加以改进,构造了一种新的激活函数[16],称其为e-ReLU函数,用来提高重建质量,并且不再将双三次插值上采样后的图像当作输入图像,而是直接输入LR图像,然后通过反卷积[10]放大来加快训练速度。另外本文选择自适应矩估计优化(Adam)算法[17]代替随机梯度下降优化(SGD) 算法,可以同时提高重建质量和加快训练速度。实验结果表明,本文算法的重建效果不仅在客观指标上优于其他算法,而且在直接视觉效果上图像纹理更加清晰,重建效果更好,训练时间更短。
2 SRCNN
SRCNN算法由图像块特征提取和表示、非线性映射和重构高分辨率图像的三层卷积神经网络组成。该算法的结构如
第一层卷积网络的作用为图像块的特征提取和表示,可表示为
式中
第一层通过卷积操作得到了图像块的
式中
通过前面两层学习获得了LR-HR图像的非线性映射关系,最后一层卷积网络需要利用前面所学习到的非线性映射关系来完成高分辨率图像的重构,可表示为
式中
均方误差(MSE)作为SRCNN的损失函数来学习获得卷积网络的参数
式中
值得注意的是,SRCNN中没有引入池化层。池化层通常应用于图像分类中, 通过下采样卷积, 在保留主要特征的同时减少参数(降维),达到平移、旋转等不变性。但是SR算法的目的是提高图像分辨率,获取更多的图像细节信息,与池化层的作用相反,因此,本文算法和SRCNN算法中都没有引入池化层。
3 本文算法
考虑到原卷积神经网络迭代速度慢、训练所需时间长、图像不够清晰等问题,本文在SRCNN上对激活函数、上采样方法和优化方法加以改进,对卷积核的尺寸加以调整,并对训练数据进行增强。在保证迭代速度快、训练时间短的同时,达到更好的超分辨效果。本文算法的结构如
本文算法的具体步骤可以表示如下:
1) 直接输入LR图像
2) 输入
3) 输入
每层需要设置的参数有卷积核的大小、卷积核的数目、卷积时的步长以及零填充大小,详细数据记录如
表 1. 各个层的参数设置
Table 1. Parameter settings for each layer
|
3.1 卷积层
SRCNN中引用的是ReLU函数。 ReLU函数虽然在反向传播求误差梯度时收敛速度快,具有较大优势,但存在一个缺点,即“Dead ReLU Problem”,因此,在训练过程中可能出现神经元死亡,导致权重无法进行正常更新。为此,本文在ReLU函数的基础上加以改进,根据PReLU函数的优点,构造了一个新的函数(即e-ReLU函数),可表示为
e-ReLU函数图像如
因此,特征提取操作(第一层)可以表示为
非线性映射操作(第二层)可以表示为
由于SRCNN中输入的是三次插值上采样后的图像,所以第一层卷积核的尺寸为9×9。如果直接输入LR图像,则卷积核的尺寸有所减小,本文中第一层的卷积核由9×9减小为5×5,既可以加快训练速度,也不影响重建效果。由文献[
18]可知,第二层卷积核越大,超分辨重建效果则越好,但是第二卷积核尺寸增加会大幅度增加训练时间。因此,从训练速度和重建质量两方面考虑,卷积核的尺寸由1×1增大为3×3,滤波器的数量与文献[
9]保持一致,即
3.2 反卷积层
反卷积操作可以看作是卷积的逆操作,其作用是对图像进行上采样操作。当步长
式中
式中
3.3 训练与优化
同样使用MSE作为损失函数,SRCNN中采用SGD算法来最小化损失函数,以及更新权重,但是SGD算法优化速度低,并且对超参数的变化非常敏感,导致SRCNN很难训练出最优结果。而Adam优化算法会根据梯度的一阶矩估计和二阶矩估计来动态调整每个参数的学习率,从而保证每一次迭代的学习率都在确定范围内,优化速度和质量均得到提高,因此采用Adam算法来替代SGD算法。
本文中Adam的参数配置为控制权重更新速度的学习率
图 4. 训练过程中本文算法训练误差值随着迭代次数增加的变化图
Fig. 4. Graph of train loss in the proposed method with the increase of iterations in the training process
4 实验结果和分析
4.1 网络初始化
本文算法的实验环境为Inter Core i5-3230M CPU @2.6 GHz,内存为8 GB,操作系统为64位Win7系统、Matlab R2016a以及深度学习框架Caffe[19]。
为了提高超分辨的效果,在标准的91幅图像[8]训练集上进行了扩充。 对原始的91幅训练样本进行了旋转(90°、180°和270°)和缩小(0.5~0.9)处理,经过多角度转换增强了样本的多样性。实验结果表明,本文算法不仅可以加快网络的收敛速度,还可以获取更多的特征信息,使得最终的重建质量更好。
选择双三次插值超分辨(BI)算法、基于稀疏表示的超分辨(ScSR)算法[8]、SRCNN算法[9](9-1-5)和SRCNN-Ex算法[10](9-5-5)作为实验对比。实验过程中涉及的缩放因子都取为3。为了使对比合理有效,选取相同的迭代次数105的重建结果进行比较。
4.2 综合量化评价
本文选用峰值信噪比(PSNR)和结构相似度(SSIM)[20] 作为衡量图像质量的重要指标。重建后的图像和原图之间会存在误差,PSNR对其误差进行定量计算,PSNR值越高,两者之间失真越小,即重建质量越好;SSIM表示重建后的图像和原图的结构相似程度,SSIM越接近1,两者结构越相似,即重建结果越好。在Set 5[21]和Set 14[22]测试集上分别进行了测试,结果如
表 2. 在Set 5测试集上的PSNR和SSIM值
Table 2. PSNR and SSIM values on Set 5 test set
|
表 3. 在Set 14测试集上的PSNR和SSIM值
Table 3. PSNR and SSIM values on Set 14 test set
|
由
4.3 主观效果
4.4 效率对比
由于硬件设备的限制,上述测试时本文算法采取的迭代次数为105,此时在Set 5测试集上的PSNR为32.66 dB,但是值得注意的是,由文献[
10]可知,SRCNN算法和SRCNN-Ex算法在8×108次迭代时在Set 5测试集上的PSNR分别为32.39 dB和32.75 dB,此时本文算法在PSNR值上已经高于SRCNN算法0.27 dB,仅比SRCNN-Ex算法低0.09 dB。为了使本文算法更加具有信服力,将迭代次数增加到2×105,此时在Set 5测试集上的PSNR为32.77 dB,PSNR值已经超过SRCNN-Ex算法在8×108次迭代时候的结果(SRCNN算法的最佳结果),但是在训练时间上却小了几个数量级,各个算法具体的消耗时间如
图 5. Set 5 中的baby_GT重建结果比较。(a)原图;(b) BI/33.91 dB;(c) ScSR/34.29 dB; (d) SRCNN/34.83 dB;(e) SRCNN-Ex/34.91 dB;(f)本文方法/35.04 dB
Fig. 5. Comparison of the reconstruction of the baby_GT in Set 5. (a) Original image; (b) BI/33.91 dB; (c) ScSR/34.29 dB; (d) SRCNN/34.83 dB; (e) SRCNN-Ex/34.91dB; (f) proposed method/35.04 dB
图 6. Set 5 中的butterfly_GT重建结果比较。(a)原图;(b) BI/24.04 dB;(c) ScSR/25.58 dB; (d) SRCNN/25.00 dB;(e) SRCNN-Ex/25.58 dB;(f)本文方法/27.91 dB
Fig. 6. Comparison of the reconstruction of the butterfly_GT in Set 5. (a) Original image; (b) BI/24.04 dB; (c) ScSR/25.58 dB; (d) SRCNN/25.00 dB; (e) SRCNN-Ex/25.58 dB; (f) proposed method/27.91 dB
图 7. Set 14 中的lenna重建结果比较。(a)原图;(b) BI/31.68 dB;(c) ScSR/32.64 dB; (d) SRCNN/32.53 dB;(e) SRCNN-Ex/32.78 dB;(f)本文方法/33.57 dB
Fig. 7. Comparison of the reconstruction of the lenna in Set 14. (a) Original image; (b) BI/31.68 dB; (c) ScSR/32.64 dB; (d) SRCNN/32.53 dB; (e) SRCNN-Ex/32.78 dB; (f) proposed method/33.57 dB
图 8. Set 14中的pepper重建结果比较。(a)原图;(b) BI /32.38 dB;(c) ScSR/33.32 dB; (d) SRCNN/32.08 dB;(e) SRCNN-Ex/33.30 dB;(f)本文方法/34.57 dB
Fig. 8. Comparison of the reconstruction of the pepper in Set 14. (a) Original image; (b) BI/32.38 dB; (c) ScSR/33.32 dB; (d) SRCNN/32.08 dB; (e) SRCNN-Ex/33.30 dB; (f) proposed method/34.57 dB
表 4. 训练时间对比
Table 4. Comparison of training times
|
由
图 9. 随着迭代次数的增加,本文算法在Set 5测试集上平均PSNR值变化图
Fig. 9. Change graph of the average PSNR value for proposed algorithm in the Set 5 test set, with the number of iterations
5 结论
对原有的卷积神经网络超分辨算法存在的重建纹理不清晰、训练时间过长等问题进行了改进,提出了一种重建效果更好、训练时间更短的超分辨算法,并将重建结果与传统的BI、ScSR、SRCNN和SRCNN-Ex算法进行比较。实验结果表明,本文算法的超分辨重建效果更好,不仅在客观指标上具有很大的提高,而且在视觉上具有更加清晰的边缘和纹理,整体重建效果更好。
对本文算法与SRCNN和SRCNN-Ex算法进行效率对比,可以看出本文算法大幅度减少了训练时间,更加适合于实际应用。今后的研究方向应该重点考虑在保证训练时间的前提下加深网络的深度,使特征提取更加精确,或者采取其他更有效的网络模型,以获得更好的重建效果。
[1] 陈健, 高慧斌, 王伟国, 等. 图像超分辨率复原方法及应用[J]. 激光与光电子学进展, 2015, 52(2): 020004.
[5] Freeman W T, Jones T R, Pasztor E C. Example-based super-resolution[J]. IEEE Computer Graphics and Applications, 2002, 22(2): 56-65.
[6] 郑丽贤, 何小海, 吴炜, 等. 基于学习的超分辨率技术[J]. 计算机工程, 2008, 34(5): 193-195.
[10] DongC, Loy CC, Tang XO. Accelerating the super-resolution convolutional neural network[C]∥European Conference on Computer Vision, 2016: 391- 407.
[11] 李素梅, 雷国庆, 范如. 基于卷积神经网络的深度图超分辨率重建[J]. 光学学报, 2017, 37(12): 1210002.
[12] 孙超, 吕俊伟, 李健伟, 等. 基于去卷积的快速图像超分辨率方法[J]. 光学学报, 2017, 37(12): 1210004.
[13] Lai WS, Huang JB, AhujaN, et al. Deep Laplacian pyramid networks for fast and accurate super-resolution[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2017: 5835- 5843.
[14] LedigC, TheisL, HuszárF, et al. Photo-realistic single image super-resolution using a generative adversarial network[C]∥IEEE Conference on Computer Vision and Pattern Recognition, 2017: 105- 114.
[15] LimB, SonS, KimH, et al. Enhanced deep residual networks for single image super-resolution[C]∥IEEE Conference on Computer Vision and Pattern Recognition Workshops, 2017: 1132- 1140.
[16] He KM, Zhang XY, Ren SQ, et al. Delving deep into rectifiers: surpassing human-level performance on ImageNet classification[C]∥IEEE International Conference on Computer Vision, 2015: 1026- 1034.
[17] Kingma DP, BaJ. Adam: a method for stochastic optimization[C]∥International Conference for Learning Representations, 2015.
[18] DongC, Deng YB, Loy CC, et al. Compression artifacts reduction by a deep convolutional network[C]∥IEEE International Conference on Computer Vision, 2015: 576- 584.
[19] Jia YQ, ShelhamerE, DonahueJ, et al. Caffe: Convolutional architecture for fast feature embedding[C]∥ACM International Conference on Multimedia, 2014: 675- 678.
[21] BevilacquaM, RoumyA, GuillemotC, et al. Low-complexity single-image super-resolution based on nonnegative neighbor embedding[C]∥British Machine Vision Conference, 2012: 1- 10.
[22] ZeydeR, EladM, ProtterM. On single image scale-up using sparse-representations[C]∥International Conference on Curves and Surfaces, 2010: 711- 730.
Article Outline
史紫腾, 王知人, 王瑞, 任福全. 基于卷积神经网络的单幅图像超分辨[J]. 激光与光电子学进展, 2018, 55(12): 121001. Ziteng Shi, Zhiren Wang, Rui Wang, Fuquan Ren. Single Image Super-Resolution Based on Convolutional Neural Network[J]. Laser & Optoelectronics Progress, 2018, 55(12): 121001.