基于改进SRCNN模型的图像超分辨率重构
2023-02-28宋昕王保云
宋昕 王保云
摘 要:图像超分辨率重构是指将低分辨率图像生成对应的高分辨率图像,在许多领域有着重要作用。文章在SRCNN方法的基础上,提出了改进模型。首先,在SRCNN基础上使用小卷积代替大卷积。其次,加入残差结构。最后,在前两层网络后加入ReLU激活函数。结果表明,scale为3、4、6、8的PSNR分别提升了0.140 3 dB、0.084 5 dB、0.147 2 dB、0.113 5 dB,模型性能较改进前有所提升。
关键词:超分辨率;卷积神经网络;SRCNN;深度学习
中图分类号:TP391.4 文献标识码:A 文章编号:2096-4706(2023)20-0054-04
Image Super-Resolution Reconstruction Based on Improved SRCNN Model
SONG Xin1, WANG Baoyun1,2
(1.School of Mathematics, Yunnan Normal University, Kunming 650500, China;
2.Key Laboratory of Modeling and Application of Complex Systems in Universities of Yunnan Province, Kunming 650500, China)
Abstract: Image Super-Resolution reconstruction refers to that the low-resolution images generate corresponding high-resolution images, and it plays an important role in many fields. Based on the SRCNN method, this paper proposes an improvement model. Firstly, it uses small convolution instead of large convolution based on SRCNN. Secondly, it adds the residual structure. Finally, it adds the ReLU activation function after the first two layers. The results show that the PSNR of 3, 4, 6, and 8 increases 0.140 3 dB, 0.084 5 dB, 0.147 2 dB, 0.113 5 dB respectively, and the model performance is improved comparing with before the improvement.
Keywords: Super-Resolution; Convolutional Neural Networks; SRCNN; Deep Learning
0 引 言
图像分辨率是一组用于评估图像中细节的丰富程度的性能参数,体现了成像系統实际所能反映物体细节信息的能力。在图像识别的应用中高分辨率对于正确进行决策具有重要作用,低图像分辨率的图像细节不够丰富,不足以支持决策,所以研究和发展图像的超分辨率重建技术显得尤为关键。
图像超分辨率重建技术是指通过特殊的算法或者特定的处理流程将一些给定好的低分辨率的模糊的图像转换为高分辨率的清晰的图像。具体而言,利用数字图像处理、计算机视觉等领域的相关知识,采用特定的算法和处理流程,将给定的低分辨率图像重建为高分辨率图像的过程就是图像的超分辨率重建技术。它旨在解决并且弥补由于图像的采集系统或采集的环境本身存在的局限性,从而导致的图像模糊、质量低、感兴趣区域不显著等问题。
图像的超分辨率重建技术在许多重要领域有着广泛的应用和重要的研究意义,比如在医学成像[1]领域,通过复原出清晰的医学图像,实现对病变细胞的检测,帮助医生对患者病情做出更高的判断。在公共安防领域,可以为办案人员恢复出清晰的脸部图像,为侦破案件提供重要线索。在遥感成像领域,高分辨率遥感卫星的研究和开发存在着很多问题,比如消耗时间长、消耗费用高、使用流程复杂等。因此,研究者试图将图像超分辨率重建技术引入遥感成像领域,尝试着解决高分辨率的遥感成像难以获取这一艰巨的挑战,从而能够使得在不改变探测系统本身的情况下提高观测图像的分辨率。
超分辨率重构有一些传统的非学习方法,比如有基于插值[2]的方法,基于重建[3]的方法,还有自适应滤波方法,还有一些传统的学习方法[4],比如K邻近方法,幻想脸法和图像类推法。SRCNN (super-resolution convolutional neural network)[5]网络模型是首个基于深度学习的图像超分辨率模型。但是SRCNN网络模型也有很多问题,比如网络深度太浅、训练层数少等问题,所以本文基于SRCNN网络模型,根据SRCNN网络模型的缺点和不足,对其进行了些许改进,通过训练模型后,通过图像的PSNR值的大小的对比,对改进后的SRCNN网络模型进行评估。
1 SRCNN网络模型
SRCNN网络模型是基于深度学习图像超分辨率重建的开山之作。2014年,香港中文大学的Dong等首次使用了三层卷积神经网络去模拟高分辨率图像和低分辨率图像之间的非线性关系,是首个基于深度学习端对端的图像超分辨率算法。SRCNN网络模型证明了深度学习在超分领域的应用可以超越传统的方法,比如插值方法和重建方法,能够取得更为良好效果和表现。SRCNN网络模型的网络结构如图1所示。
可以看出SRCNN网络模型的网络结构有三层:首先使用9×9×64的卷积核进行特征提取区域特征提取,然后1×1×32的卷积核对第一层提取的特征进行非线性映射,最后通过5×5×1的卷积核对非线性映射后的特征进行重构,生成高分辨率的图像。
SRCNN网络模型结构虽然简单,效果对比之前的传统方法,比如插值方法和重建方法更为突出,但也存在着一些缺点和不足,比如训练的时间较长,训练的网络层数较少,视野不够宽阔等。所以,这也就导致了在将放大倍数增加时,提取的信息不足以支撑高质量的图像重建,导致该模型的效果达不到所期待的效果。因此,本文对SRCNN网络模型进行了些许改进。
2 改进的SRCNN网络模型
改进的SRCNN网络模型如图2所示。
2.1 使用小卷积核代替大卷积核
SRCNN网络模型使用了一个9×9卷积核,一个1×1卷积核,一个5×5卷积核。本文使用3×3卷积核代替9×9卷积核和5×5卷积核,两个3×3卷积核可以代替一个5×5卷积核,六个3×3卷积核可以代替一个9×9卷积核。使用小卷积核代替大卷积核可以减少网络的参数,并且能够增加网络的深度,提高网络的拟合能力,加强网络的性能。同时将它的stride和padding都取1。根据式(1)可以得出,这种结构使得了每个卷积层有相同的宽度和高度。
除了最后一层卷积层外,在每层卷积层后都使用了ReLU激活函数。ReLU激活函数能够使网络训练的速度更快,同时能够增加网络的非线性,防止梯度消失。
2.2 使用残差网络结构
残差神经网络(ResNet)[6]于2015年被提出,获得了当年多个比赛的第一名。ResNet是基于深度卷积神经网络提出的改良的网络,其特有的网络结构,也就是残差模块结构,可以克服一般网络由于深度增加而形成的梯度破坏或消失以及网络退化等问题,残差模块(BasicBlock)的结构如图3所示。
因为在模型中使用了小卷积核代替了大卷积核,模型的深度得到了加深,从原本的3层网络结构加深到了现在的10层网络结构。但是网络深度的增加容易导致网络的梯度不稳定,并且使网络退化。所以在这里使用ResNet网络模型中的残差块来解决上述问题。
3 实验结果与分析
3.1 数据集的选择
现在有很多图像的数据集能够对图像超分辨率重构方法的好坏进行评价,其中的大多数数据集都是根据深度的图像数据进行提取得到的。比如Set5[7],Set14[8],T91,BSD100[9],Urban100[10],Manga109[11]等。对于上面所提到的图像数据集数据集,其中的图像质量和图像数量有着比较大的差异,图像的类别也有着很大的不同。当使用不同的模型方法进行超分辨率重构的时候,在不同倍数下图像超分辨率重构的效果也各不相同。图4~图6是上面几个数据集中比较有代表性的图片。
在这里选取其中的Set5数据集和T91数据集进行试验。使用T91数据集作为训练集,Set5数据集作为测试集。
3.2 评价指标
图像超分辨率重构的常用指标有两种,一种是PSNR(峰值信噪比),另一种是SSIM(结构相似性),这两种评价指标都是超分辨率重构中最基础的测量被压缩的重构图像质量的指标。在这里只使用PSNR作为评价图像超分辨率重构方法好坏的指标。
PSNR(峰值信噪比)是信号的最大功率和信号噪声功率之间的比值,来测量已经被压缩的重构图像的质量,单位是dB(分贝)。其计算方式如式(2)所示:
其中xmax表示真实图像中像素值的最大值,MSE表示两个图像之间对应像素之间差值平方的均值,也可以说MSN表示最小化损失函数。
PSNR的数值越大,说明图像的失真越小,图像的质量越高。在进行图像的压缩中,将PSNR值控制在30~50 dB这个区间内是比较恰当的,并且PSNR值是越高越好的。当PSNR值距离50 dB非常接近的时候,就说明这个图片经过压缩后的误差是非常小的。并且当PSNR值超过30 dB的时候,人的肉眼是观察不出来图像压缩之前和图像压缩之后的区别的,自然人也就区分不出那张图片是图像压缩之前的图片,那张图片是图像压缩之后的图片。当PSNR值在20~30 dB之间的时候压缩图像之前和压缩图像之后的区别是人用肉眼可以观察出来,并且加以区分的。当PSNR值介于10 dB和20 dB之间的时候,图像之间虽然也会有一些差异,但是不会那么明显,人的肉眼很难观测出它们之间的差别。当PSNR值低于10 dB的时候,就会很难判断图像是否相同,自然也不会联想到它们是同一张图像压缩前和图像压缩后的效果。
3.3 训练环境与超参数设置
本文的实验是在PyTorch框架下完成的。硬件环境:CPU使用Intel(R) Xeon(R) CPUE5-2678v3 @
2.50 GHz,GPU使用NVIDIA GeForce RTX 2080Ti;软件环境:Ubuntu 18.04,Python 3.8,CUDA 11.3,cuDNN8,NVCC,PyTorch 1.11.0,torchvision 0.12.0,torchaudio 0.11.0。
训练时的scale分别使用3、4、6、8,batchsize设置为16,训练次數epoch设置为600轮,学习率设置为0.000 4,优化方法使用Adam,损失函数使用MSELoss(均方误差)。
3.4 实验结果与分析
经过实验,在scale分别为3、4、6、8的情况下,得到了用两种方法得到的在训练600轮中PSNR的最大值和PSNR达到最大值的轮数,结果如表1所示。
图7是四种不同scale在SRCNN网络模型方法和改进SRCNN网络模型方法下的PSNR值变化曲线。
通过表格和不同倍数之间的PSNR值变化曲线,可以看出虽然在训练开始的时候改进后方法的PSNR值比原方法的PSNR值低,但在训练100轮后,本文方法较原方法的PSNR值有着较为明显的提升,并且训练效果一直高于原来的SRCNN方法。在放大倍数为3时,PSNR值提高了0.140 3 dB,PSNR值到达最大的轮数提前了28轮;在放大倍数为4时,PSNR值提高了0.084 5 dB,PSNR值到达最大的轮数提前了228轮;在放大倍数为6时,PSNR值提高了0.147 2 dB,PSNR值到达最大的轮数提前了163轮;在放大倍数为8时,PSNR值提高了0.113 5 dB,PSNR值到达最大的轮数提前了216轮。
通过以上数据可以看出本文方法效果对比原来的SRCNN网络模型有着一定的提升,并且训练的速度有着些许提高。
4 结 论
本文在基于SRCNN网络模型的方法上进行了些许改进,一是使用小卷积核代替大卷积核,增加网络深度,二是在模型中增加了残差模块,防止因为网络模型的加深而导致的梯度破坏或消失以及网络退化等问题,然后通过对比不同倍数和不同方法的的PSNR值的大小对网络模型的好坏进行判断。改进后的模型在scale分别为3、4、6、8的PSNR值分别提升了0.140 3 dB、0.084 5 dB、0.147 2 dB、0.113 5 dB,结果表明了改进后的方法较原方法在效果上确实有所提升,但是提升效果并不大。
在后续的工作中应该继续寻找新的改进方法和改进思想,对模型进行进一步的改进,进一步提高PSNR值,并且将SSIM和PSNR共同作为评价指标对模型进行评价。
参考文献:
[1] GU Y,ZENG Z,CHEN H,et al. MedSRGAN:medical images super-resolution using generative adversarial networks [J].Multimedia Tools and Applications,2020,79:21815-21840.
[2] 陆志芳,钟宝江.基于预测梯度的图像插值算法[J].自动化学报,2018,44(6):1072-1085.
[3] 孙京,袁强强,李冀玮,等.亮度——梯度联合约束的车牌图像超分辨率重建 [J].中国图象图形学报,2018,23(6):802-813.
[4] 陈晓,荆茹韵.单图像超分辨率方法综述 [J].电子测量技术,2022,45(9):104-112.
[5] DONG C,LOY C C,HE K,et al. Image Super-Resolution Using Deep Convolutional Networks [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2016,38(2):295-307.
[6] HE K,ZHANG X,REN S,et al. Deep Residual Learning for Image Recognition [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vgas:IEEE,2016:770-778.
[7] BEVILACQUA M,ROUMY A,GUILLEMOT C,et al. Low-Complexity Single-Image Super-Resolution based on Nonnegative Neighbor Embedding [C]//British Machine Vision Conference (BMVC).Guildford:HAL-Inria,2012:00747054(2012-15-11).http://hal.univ-grenoble-alpes.fr/INRIA/hal-00747054#.
[8] ZEYDE R,ELAD M,PROTTER M. On single image scale-up using sparse-representations [C]//Proceedings of the 7th international conference on Curves and Surfaces.Springer-Verlag:711-730.
[9] MARTIN D,FOWLKES C,TAL D,et al. A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics [C]//Proceedings Eighth IEEE International Conference on Computer Vision. ICCV 2001. Vancouver:IEEE,2001:416-423.
[10] HUANG J,SINGH A,AHUJA N. Single image super-resolution from transformed self-exemplars [C]//2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Boston:IEEE,2015:5197-5206.
[11] FUJIMOTO A,OGAWA T,YAMAMOTO K,et al. Manga109 dataset and creation of metadata [C]//MANPU '16:Proceedings of the 1st International Workshop on coMics ANalysis,Processing and Understanding.New York:Association for Computing Machinery,2016:1-5.
作者簡介:宋昕(2000—),男,汉族,山东临沂人,硕士研究生在读,研究方向:图像处理和深度学习;通讯作者:王保云(1977—),男,汉族,云南玉溪人,副教授,博士,研究方向:机器学习及图像处理。
收稿日期:2023-03-24
基金项目:国家自然科学基金(61966040)