APP下载

基于并行映射卷积网络的超分辨率重建算法

2018-07-27毕笃彦王世平何林远

系统工程与电子技术 2018年8期
关键词:跳线范数分辨率

毕笃彦, 王世平, 刘 坤, 何林远

(空军工程大学航空工程学院,陕西 西安 710038)

0 引 言

图像作为传递信息的主要媒介,人类对其依赖性与日俱增,在医学成像、卫星遥感及视频监控等诸多领域有着广泛的应用[1]。如何获取鲁棒的图像信息以及丰富的高频细节,学习更加精确的特征是计算机视觉领域将要研究的方向。图像的超分辨率重建(super-resolution,SR)技术借助于相关模型架构进行特征提取,通过恢复出高频信息,有效地提高了图像的质量[2]。

当前,SR技术[3]主要可分为基于插值的算法、基于重建的算法和基于学习的算法。在SR技术中,基于插值的算法[4]较为简单,但算法仅利用邻域像素的灰度值来表达图像信息,这导致图像的边缘轮廓难以有效地复原,造成细节信息的丢失。基于图像重建的算法[5]能够在一定程度上提高分辨率,该算法以先验知识为约束,解决图像退化模型中存在不定解的问题,但由于重建图片严重依赖于高分辨率图像的先验知识,对于复杂图像其重建效果将会急剧下降。基于学习的算法[6]是目前超分辨率领域中研究的热点方向,依赖于机器学习理论,该算法通过提取高分辨率图像和低分辨率图像的特征,学习两者之间的映射关系,最后实现图像的重建。文献[7]结合稀疏表示理论,对高分辨率图像块字典和低分辨率图像块字典进行联合训练,得到低分辨率图像块的稀疏系数,并重建出对应的高分辨率图像。文献[8]基于稀疏表示理论改进过完备字典,将其理论运用到重建模型中。同时,文献[9-10]将稀疏编码应用到深度图重建问题中。上述算法对重建图像有一定的提升,然而在字典训练的过程中,不相关的图像对往往造成字典冗余,使得字典训练的时间较长。

2014年,文献[11]将卷积神经网络模型首次引入到SR技术,借助于卷积神经网络(convolution neural network,CNN)实现SR算法(SR convolution neural network,SRCNN)。遗憾的是,由于网络层数的局限性,该算法提取特征受到限制,图像质量还需进一步提升[12]。基于此,相关研究者通过加深网络层数来获得丰富的图像特征,从而提高图像的分辨率。文献[13]在2016年借助Resnet并使用梯度裁剪技术,提出的深度SR(very deep SR,VDSR)CNN在后向传递过程中有效地避免了梯度弥散的问题,并且使用卷积补零的策略,使得图像尺寸保持不变。同时,文献[14]提出了深度循环卷积网络(deeply-recursive convolutional network,DRCN),丰富了图像细节信息,提高了图像质量。然而现有的基于卷积网络的SR算法还需改进。一方面,尽管其可以恢复出高分辨的结果,但部分高频信息仍旧有些模糊,细节表现不够丰富。文献[15]以额外的手工高频信息作为约束,以计算更新更多的参数为代价,来提升其网络的有效性。另一方面,当前,基于深度学习的超分辨率技术[16-17]都依赖于级联网络,重建图像仅仅来源于非线性映射模块的单一映射,其特征的多寡往往决定于图像质量的高低。事实上,映射模块的中间层也能够表达出与相邻层不同的图像信息[18]。所以,如何获取卷积层中的内部信息,增加超分辨率图像样本数目,构建鲁棒的映射关系,将影响超分辨率图像的效果。

基于上述考虑,本文以深层网络为基本架构,在充分分析运用深度学习理论及技巧的基础上,通过跨接连线方式,有效提取映射模块中丰富的图像特征,搭建一种以并行映射输出的卷积网络框架,实现超分辨率图像的重建。更为重要的是,通过借鉴传统方法的成功经验,对于损失函数的构建,考虑把全变分理论引入到正则项中,利用L1范数和L2范数对网络的输出施以联合约束,从而重建出精确、有效的高分辨率图像,解决SR的病态问题。通过在公开数据集上与同类算法进行比较,实验表明,该方法较之以往有较明显的提升,具有一定的参考和借鉴价值及意义。

1 卷积网络的超分辨率相关工作

对于SR问题,是指在同一场景下,将模糊的低分辨率图像Y恢复出其对应清晰的高分辨率图像X。通过对一系列的低分辨率图像Y的细致分析,发现其是由高分辨率图像X经过降质变换而产生的。其观测模型为

Y=DBMX+N

(1)

式中,D表示降采样算子;B表示光学模糊算子;M表示运动模糊算子;N表示加性噪声。

由式(1)可知,SR属于一个病态问题,本文的工作就是利用图像中的重要信息实现重建工作,从而将一个病态的问题转化为良态问题。不同于传统算法,基于卷积网络的超分辨率算法能够学习到更加抽象的图像信息[19],其网络中的卷积核获得的鲁棒特征,有效地实现对输入图像的SR。当前,典型的基于卷积网络的超分辨率算法主要由3个模块构成。

(1) 解析抽取图像特征;

(2) 非线性映射;

(3) 图像块的重建。

如图1所示,典型的卷积网络为了得到更加丰富的训练样本,往往先对数据库进行预处理,以此获得更为鲁棒的图像特征。其中,图像预处理的方式主要有尺度变换、旋转变换、镜像变换等操作,从而获得具有更多维度的图像子块,更新训练网络的模型参数。在特征提取模块中,卷积层可表示为

F1(Yi)=Φ(W1⊗Yi+b1)

(2)

式中,Φ表示激活函数,采用带参数的线性整流函数(parametric rectified linear unit,PReLU)[20]作为激活函数,其中Φ(Y)=max(0,Y)+βmin(0,Y),β是负Y的学习性斜率参数;W1为一组包含权重的滤波器,尺寸为n1×c×f1×f1;n0为特征图的个数,c表示输入图像中通道的个数,f1×f1是卷积核的尺寸,b1为偏差。

图1 SRCNN框架示意图Fig.1 Fram diagram of SRCNN

网络提取低分辨图像的特征后,先将获取的图像特征维度通过级联映射方式进行串行变换,再对n1维低分辨特征向量转化为n2维高分辨特征向量。非线性映射过程主要通过卷积操作使特征图的维数发生改变,再将输出的特征图经PReLU处理,选用更少的网络参数进行训练,有效地降低网络模型的复杂度,即

F2(Yi)=Φ(W2⊗F1(Yi)+b2)

(3)

与特征提取模块中卷积层类似,W2表示n2个大小为n1×f2×f2滤波器;b2为非线性层偏差。典型的卷积网络算法通过滤波器与图像块进行卷积,重建出的高分辨率图像接近于真实图像,即

F(Yi)=W3⊗F2(Yi)+b3

(4)

式中,W3是尺寸大小为n3×c×f3×f3的滤波器;b3是n3维的偏差。

上述方法由于能更好挖掘内部潜在特征信息,并利用特征组构相关高分辨图像。然而现有超分辨率算法也具有一定的局限性,主要为:

(1) 在非线性映射模块中,尽管级联网络中的多个卷积核构成非线性映射模块,但图像重建仅依赖于非线性映射模块中的最后一层输出。事实上,映射模块的中间层也能够提取鲁棒特征,但这些特征会受到相邻卷积层的“干扰”,导致中间层提取到的有效特征无法在重建时引入,造成细节上的损失。

(2) 在损失函数中,典型的CNN模型通常采用最小二乘法作为正则项来预测高分辨率图像,但这种约束往往造成图像的边缘轮廓不够清晰,在成像过程中往往丢失部分细节信息。

2 并行映射卷积网络模型

2.1 网络概述

分析上述卷积网络模型存在的不足,结合非线性映射模块能够充分发掘图像潜在的鲁棒特征的特点,本文构建并行映射卷积网络(parallel mapping convolutional network,PMCN)模型,通过卷积跳线提取到更加充分的图像细节,解决了级联网络中重建模块仅依赖于单一映射的难题,有效地提高了SR的图像质量。PMCN参照多映射卷积网络模型[21]可以分为4个模块:块提取、并行映射、块重建和全变分。与多映射卷积网络不同的是,本文模型在跳线上引入了卷积核,构成了卷积跳线。在结构上类似于5层SRCNN网络的并联形式,使得整个并行映射模块具有非常灵巧的结构特点。在功能上,由于卷积跳线的多寡直接决定着图像高频信息的质量,因此在跳线上引入更多的卷积核可以学习到更加丰富的语义特征。本文网络结构如图2所示。

图2 PMCN模型结构示意图Fig.2 Network architecture of the PMCN

为了进一步改善超分辨率图像的重建质量,网络去除池化层,使其具有更多的高频信息,引入并联卷积跳线,显著地增加了并行映射模块中学习到图像特征的数目,建立具有多元映射关系的并行网络模型。与此同时,为了解决重建图像细节模糊的问题,改进了包含最小二乘法的损失函数,在正则项加入全变分约束,使卷积网络预测的图像具有更丰富的细节信息,更好地实现对低分辨率图像的SR。

2.2 并行映射网络

由上述分析可知,非线性映射模块对图像质量的改善有着很好的效果,如何学习非线性映射的内外关系,将是提高图像分辨率的重要部分。充分剖析当前几种非线性映射模块可以发现:SRCNN通过一组卷积核对给定图像进行卷积,使得每个卷积核能够提取一种形式的特征,再将学习到的特征通过非线性模块构建高、低分辨率映射关系。尽管这种简单的级联网络能够利用3层卷积核实现端到端的学习,但是较小的感受野会限制SRCNN对深层语义特征的学习,同时,受到自身层数的限制,在后向传递过程中易造成梯度弥散的问题。DRCN利用网络的深度进一步增大感受野,根据其不同的位置提取对应的特征信息,然而仅仅通过增加网络的深度,获取的图像信息并不具备较强的鲁棒性,从网络结构的输出来看仍然是单一映射的方式。VDSR通过加入全局残差的方式解决了重建模块中单一映射的问题,但也会导致网络在特征提取过程中,只关注那些满足假设的残差,而对不满足假设的特征很难进行有效提取。基于卷积网络的超分辨率算法仅依赖于映射模块中的最后一层输出,事实上,映射模块的中间层也能够学习到特征,但这些特征会受到相邻卷积层的“干扰”,导致中间层提取到的有效特征无法在重建时引入。结合上述分析,比较了映射模块的卷积特点,观察到中间层也会学习到与相邻卷积层不同的有效特征。因此,依次将卷积跳线引入到映射模块,构建并行映射模型,从而通过提取中间层学习到的鲁棒特征,增大了重建模块中的图像信息量。

在并行映射模型中依次添加1条、3条和5条卷积跳线,以此证明卷积跳线的多寡能够影响重建图像的质量,其连接方式如表1所示。

表1 卷积跳线的连接方式

为了证明并行映射模块的卷积跳线能够有效地保留图像的边缘信息,将模块中的15个卷积层分为5个串行单元,使用卷积跳线将串行单元的输出连接到重建模块,构建并行映射模型,再将本文的并行映射模型与没有卷积跳线的级联网络模型进行比较,不同场景图像的边缘信息如图3所示。

图3 卷积跳线示意图Fig.3 Schematic diagram of convolution skip connections

从上述几组对比实验中可以发现,卷积跳线对于图3中不同场景下的图像能够增加其丰富的边缘信息,进而发现,随着表1中卷积跳线数目的增加,图4获得更多的鲁棒特征,其分辨率也逐步提升。因此,神经网络的卷积跳线可以使图像的损失函数在后向传递过程中避免了梯度弥散的现象。同时,卷积跳线的引入在图像的前向传递中能够充分利用浅层特征的高分辨率和深层特征的高语义信息,从不同深度的卷积层中提取高频信息,利用其丰富的鲁棒特征构建出更加精细的超分辨率图像。

图4 不同卷积跳线数目的效果比较Fig.4 Comparison with different numbers on convolution skip connections

2.3 全变分正则化

典型的CNN模型通常采用最小二乘法作为损失函数来预测高分辨率图像,但这种约束往往造成图像的边缘轮廓不够清晰,细节特征部分丢失的问题。因此,本文算法在重建模型处引入全变分正则化进行约束,根据L1和L2范数各自不同的作用,即L1范数能锐化图像边缘,L2范数能够对噪声起到抑制的效果,将两种不同范数相结合作为正则项,与最小二乘法共同构成损失函数。又基于ROF(Rudin, Osher, Fatemin)模型的图像复原理论[22],对图像子块F2(Yi)进行有效约束,得到输出图像F(Yi),然后与原图FGT(Yi)比较,当F(Yi)-FGT(Yi)最小时,重建得到最接近原图的高分辨率图像。本文将全变分正则化引入到损失函数中,避免模型的过拟合,达到约束解空间的目的。同时用L1范数和L2范数来平衡保真项F(Yi)-FGT(Yi),保证了重建图像的边缘信息清晰,纹理细节丰富,从而重建出高分辨率的图像。引入全变分正则化后,优化后的函数可以表示为

(5)

(6)

(yi+1,j-yi,j,yi,j+1-yi,j)

(7)

相比SRCNN的平方损失函数,式(5)的损失函数通过引入全变分正则项和L1-L2范数进行联合约束,有效地提高了图像特征的鲁棒性。然而,损失函数的效果往往依赖于合理的参数设定,不充分的约束条件可能导致平滑区域的一些纹理信息被滤掉,影响重建质量。因此,选取合适的正则化系数λ,能有效地约束保真项。同时,μ作为L1范数和L2范数的调节参数,具有平衡保真项的作用。

在块重建的过程中,本文利用随机梯度下降法,沿着负梯度的方向收敛到损失函数的极小值。结合L1,L2混合范数和全变分(total variation,TV)正则化梯度函数对损失函数约束,具有增强图像边缘,丰富细节信息的效果。为了进一步验证不同的损失函数对图像边缘提取的能力,本文分别将L2范数,L2范数和TV正则化,L1范数加上L2范数和TV正则化3种情况下的损失函数作为对比。实验效果如图5所示。

图5 不同损失函数提取的残差图像Fig.5 Residual images with different loss function

图5(a)为原始图像;图5(b)为损失函数使用L2范数提取的残差图像效果;图5(c)为损失函数使用L2范数和TV正则化提取的残差图像效果;图5(d)为损失函数使用L1范数,L2范数和TV正则化提取的残差图像效果。主观视觉上,图5(d)比图5(b)有更丰富的边缘,比图5(c)在近景处的细节更多。

3 实验结果

3.1 实验设置

训练样本:参考自然图像领域中经典的超分辨率图像作为网络的训练样本[7],即200幅Dong用过的和91幅Yang用过的Berkeley Segmentation图像作为训练数据,一共291幅。由于卷积神经网络的训练是基于大量的数据样本,为了丰富训练数据,实验对原始训练数据库做预处理操作进行扩充。先对训练样本的尺寸统一调整成256×256,之后对图像进行尺寸变化,依次放大为2倍,3倍,4倍,最后对放大后的图像进行180°镜像变换。将总共1 746(291×2×3)幅训练图像构成网络的输入样本。

测试样本:本文算法选择Set14、B100、Urban100等超分辨率图像作为测试样本,选用峰值信噪比(peak signal to noise ratio, PSNR)与结构相似度(structural similarity index, SSIM)指标来衡量图像的质量,充分地展现了算法的实验效果。

在实验中,本文网络的输入图像为41×41的图像块,其网络框架中特征提取层滤波器的个数为64,映射层中所有滤波器的个数均为32,重建层滤波器的个数为64。所有层的滤波器大小均为3×3,步长为1,零填充为1,学习率的初始值设为0.1,并且每经过10个Epochs将会减小10倍,直到学习率为0.000 001停止,可变学习率的策略不仅保证了模型能够充分收敛,还抑制了梯度弥散的现象。

3.2 实验参数的选取

为了使混合L1-L2范数和TV正则化构建的损失函数,在超分辨率图像重建上发挥更好的效果,先对Urban100中的“img074”图片放大2倍,然后根据实验效果确定损失函数中的参数。式(5)中有2个参数λ、μ影响着损失函数值的大小,从而影响图像的重建质量。为了寻求最优的参数μ,先使λ=0,即损失函数不含有正则项。实验对μ分别取0.6,0.7,0.8,观察图6的实验曲线可以发现,随着迭代次数的增加,当μ取0.7时,重建图像具有更高的PSNR。进而使μ=0.7,观察图7的实验曲线可以发现,λ取0.2,重建图像具有更高的PSNR。因此,选取λ=0.2,μ=0.7作为本文损失函数的参数。

图6 平均峰值信噪比(λ=0.2)Fig.6 Average peak signal-to-noise ratio (λ=0.2)

图7 平均峰值信噪比(μ=0.7)Fig.7 Average peak signal-to-noise ratio (μ=0.7)

3.3 实验分析

为了进一步验证PMCN算法的实验效果,实验中选择常用的Set14、B100和Urban100作为超分辨率测试数据集。本文提出的PMCN算法与近几年研究者们提出的Bicubic、SRCNN、DRCN和VDSR等4种主流算法进行比较,参考第3.2节中得到的实验参数,选择λ=0.2,μ=0.7,对动物、建筑、植物等测试图像分别放大2倍、3倍、4倍进行测试。测试结果如图8~图10所示。

图8 B100在放大2倍条件下的视觉比较Fig.8 Visual comparison for 2 times on B100

图9 Urban100在放大3倍条件下的视觉比较Fig.9 Visual comparison for 3 times on Urban100

图10 Set14在放大4倍条件下的视觉比较Fig.10 Visual comparison for 4 times on Set14

在主观评价中,实验列举了动物、建筑、植物等图像的重建效果。在图8中,Bicubic算法重建效果最差,细节不明显,图像模糊,整体表面较为平滑。SRCNN算法的部分细节重建效果较好,但马头上缰绳的边缘不够自然,存在振铃现象。VDSR和DRCN算法清晰度相对较好,细节丰富但马脖子的鬃毛与原图相比,对比度较差。而PMCN算法对鬃毛的边缘在锐度和对比度方面都有一定的改善,而且重建的高频信息更加丰富,有更好的视觉效果。从图9中可以看出对建筑物的重建效果,本文算法能较好地重建出一些细节,利用全变分方法可以使得网格、镜面等边缘信息更为锐利,更好地保留了图像的高频信息,整体效果更接近于原始高分辨率图像。同样从图10植物图像的细节看出,本文算法恢复的局部高频信息清晰、丰富,整幅图像的主观效果更好。

在客观评价中,本文使用了PSNR,SSIM来评价测试图像重建的质量。表2给出了不同方法的SR结果的性能,包括Bicubic、SRCNN、VDSR、DRCN和PMCN。从表2中可以看出,PMCN算法对于图像的PSNR和SSIM具有一定的优势,如测试集B100,在PSNR方面,PMCN算法比Bicubic提高了2 dB,比SRCNN提高了0.6 dB,比VDSR和DRCN提高了0.2 dB,其余测试集的PSNR也有所提高。在SSIM上,本文研究的算法也要优于这些主流算法,有着更好的增强效果。

表2 Set14,B100,Urban100数据集上不同算法实验结果

综上所述,PMCN算法通过增加卷积跳线的数目,使得网络能够提取到更加丰富的图像特征。同时,将全变分正则化引入损失函数,有利于各卷积层参数在训练更新的过程中避免模型的过拟合,对参数优化起一定的限制作用。

4 结束语

针对现有CNN网络中单映射输出不能全面、有效地描述图像特征集的问题,本文在现有SR模型的基础上,提出了一种并行映射输出的SR方法。该网络将卷积跳线引入到映射模块,构建并行映射模型,从而通过提取中间层学习到的鲁棒特征,增大了重建模块中的图像信息量。

此外,PMCN算法在损失函数中通过引入全变分正则项和L1-L2范数进行联合约束,有效地提高了图像特征的鲁棒性。通过对比分析当前主流的SR算法的特点及优缺点,本文提出的网络模型能够还原更多的图像细节信息,具有更优异的超分辨率性能。实验结果表明PMCN算法具有更锐利的边缘和清晰的轮廓,且具有更高的PSNR和丰富的语义信息。在下一步工作中,深入研究卷积网络的结构特征,将传统方法与深度学习框架实现有机结合,为接下来的研究工作确定方向。

猜你喜欢

跳线范数分辨率
输电线路跳线风偏响应分析及手册计算方法修正
向量范数与矩阵范数的相容性研究
基于线性拟合和差值补偿的跳线计算方法研究
原生VS最大那些混淆视听的“分辨率”概念
一种提高CCD原理绝对值传感器分辨率的方法
基于加权核范数与范数的鲁棒主成分分析
基于深度特征学习的图像超分辨率重建
如何解决基不匹配问题:从原子范数到无网格压缩感知
小康巡诊日记
升级必修课 主板跳线轻松接