基于深度学习局部与非局部信息的单幅图像超分辨率重建

2020-01-03 08:59翟森任超熊淑华占文枢
现代计算机 2019年33期
关键词:相似性残差分辨率

翟森,任超,熊淑华,占文枢

(四川大学电子信息学院,成都 610065)

0 引言

近年来,基于深度学习的超分辨率技术得到了迅速发展。2014年,Dong等人[1]第一次将卷积神经网络引入超分辨率重建任务中,这是基于深度学习的超分辨率重建算法的开山之作。此类算法将高低分辨率图像作为训练对象,采用卷积神经网络来搭建模型,并以此模型来学习高低分辨率之间的非线性映射关系。相比于传统算法,基于深度学习的算法无论在重建时间还是重建结果上均显示出其优势。随着深度学习超分辨率重建技术的发展,由于SRCNN模型层数仅有3层,其重建效果仍存在很大的提升空间。为了解决网络层数加深而可能出现的梯度消失问题,Kim等人[2]引入残差学习思想,在此基础上将网络拓展至20层深度网络,相比于Dong的三层模型,该算法大幅度改善了重建性能,保证了重建图像的边缘细节的清晰。受文献[3]的启发,Lim等人[4]设计了局部残差模块,并通过堆叠局部残差模块来搭建深层超分辨率重建网络,该网络有效地学习了高低分辨率图像之间的映射关系,取得了不错的重建性能。

局部卷积神经网络是指在卷积过程中仅利用简单的局部区域信息的卷积神经网络,目前绝大多数超分辨率网络模型属于此类,比较典型的有SRCNN[1]、VDSR[2]、EDSR[4]和RDN[5]。尽管局部卷积神经网络的性能较为稳定,可以依靠深层网络来学习更为复杂的映射关系,但高性能、深层次的网络需要更强的硬件平台以及大型的训练数据集,才能训练出较好的网络模型,成本较高。Wang等人[6]指出卷积运算和循环运算均属于局部操作,并强调只有不断重复局部运算才能覆盖更广的区域。相比于传统的基于重建的算法,通过训练网络模型来学习映射关系的局部网络的缺点是并未细致考虑图像/特征结构上的先验信息,因此无法充分地利用特征的有效信息。

为弥补局部网络仅考虑局部感受野区域而未挖掘待重建图像结构信息的不足,在前述局部网络的基础上,本文引入一种非局部相似性模块[7]来利用图像中的非局部相似性,搜索相似性信息,从而增强图像特征。实验结果证明了本文所提出的基于局部与非局部信息的超分辨率重建网络的有效性。

1 图像局部与非局部特性

1. 1 基于局部卷积神经网络的超分辨率重建

在卷积神经网络中,对于卷积层的每一神经元而言,其运算过程是,首先利用当前神经元学习的卷积核,对输入特征(单层或多层)进行卷积,得到卷积后的特征,然后将这些特征相加,最后加上对应的偏置作为当前神经元的输出特征。其过程可以用公式表示为:

其中表示输入特征的第i张特征图,FOut表示当前神经元的输出特征,wi表示当前神经元的第i个卷积核,B表示当前神经元的偏置。

以单层卷积层为例,在卷积神经网络的卷积过程中,卷积结果是卷积核局部区域的所有点与输入特征该区域的所有点的线性加权。图1为卷积神经网络一次卷积覆盖区域示意图,对于3×3的卷积核覆盖的区域,其中心红色区域的值是3×3区域内所有值的加权。

图1 卷积神经网络一次卷积覆盖区域示意图

从卷积神经网络整体结构分析,中心点的值与当前层的感受野区域密切相关。感受野是指卷积神经网络中某一神经元特征中一个像素点所能感受到的输入图像的区域大小[8]。通过增加网络层数,能够扩大当前神经元节点的感受区域。考虑最简单的情况,将一张5×5的图像进行大小为1的补零填充(pad),变成7×7的图像,卷积核尺寸(Ksize)为 3×3,卷积步长(stride)为1,然后搭建3层网络。图2是该卷积网络的感受野示意图。可以看出,第二层中卷积核的一个像素点所感受到的区域对应于原输入图像的3×3区域,第三层为5×5,第三层的输出像素点对应原输入图像的7×7区域。相比于之前的单层卷积层,堆叠卷积层可以增大感受野覆盖区域。考虑不同层数和步长等特殊情况,感受野的计算方法为:

其中Di-1为上一层的感受野,Di为当前层的感受野。

图2 3层卷积网络感受野示意图

1. 2 传统的非局部相似性

非局部相似性是自然图像的先验属性,它描述了图像块之间的相似程度。在一些传统的图像处理算法中,非局部相似性常常用作图像先验信息来约束图像的重建过程。“山魈”图像中的非局部相似性如图3所示。图中左边和右边方框各为一组相似块。

图3 “山魈”图像的非局部相似性示意图

在自然图像中,对于某个图像块而言,可以在非局部区域找到它的相似块。但两个相似图像块之间在像素级别上仍然存在差异。研究中通常采用均方误差MSE来衡量两个块之间的相似性,并将其用作相似系数的求解过程中。假设当前块为x,它邻域内非局部相似块组为{zi},当前块与相似性块之间的相似系数为bi,则有:

其中h为一常数。在搜索相似块及求解相似系数后,我们就可利用相似块来重构当前块,其表示过程如下:

其中为x更新后的图像块,为当前相似块归一化后的权重系数。

非局部相似性能够充分挖掘图像自身的结构信息,在基于重建的超分辨率重建算法[9-11]中,它常常被用来构造先验约束项,此类算法重建后的图像振铃效应明显减少,且边缘往往更加清晰。

1. 3 非局部相似性模块

非局部相似性模块是指卷积神经网络中利用非局部相似性来增强图像特征的模块。本文采用的非局部相似性模块[7]的一次运算过程如图4所示。

图4 非局部相似性模块一次运算示意图

假设输入非局部相似性模块的特征维度为h×w×N,其运算过程为:首先以输入特征的每个点作为块中心点进行分块(块大小为f×f,取块步长为1,边缘不足部分补零),一共得到N×h×w个f×f的块集S。然后再取出输入特征的每一个点得到N×h×w个1×1个点集P。将块集S重构成h×w个N×f×f大长方体(图4中蓝色不透明长方体),将点集P重构成h×w个N×1×1的小长方体(图4中红色小长方体)。图4为非局部相似性模块中一次运算过程的示意图。下面为其详细运算过程。

首先,在计算相似性的前期均采用1×1卷积层进行自适应特征加权。如图4所示,蓝色长方体s(sf×f×N∈Sh×w×f×f×N)通过名字为 Φ 的卷积层后得到维度为f×f×N的A,红色长方体p(p1×1×N∈Ph×w×1×1×N)通过名字为Θ的卷积层得到1×1×N的C。然后,A经过维度重组和转置得到维度N×f2的sinte,C经过维度重组形成1×N的pinte。上述过程表示为:

式中,Hreshape和H1×1分别表示维度重组和1×1卷积的操作,T表示转置操作。

在非局部相似性模块中,我们采用矩阵乘法的方式来求解相似程度。将维度为1×N的pinte与维度为N×f2的sinte相乘后,得到维度为1×f2的内积矩阵,矩阵元素即是小长方体p与f2个小长方体之间的非归一化相似性权重。然后,使用Softmax激活函数对内积矩阵归一化,得到归一化后的相似权重矩阵。

获取归一化权重后,将其与图4中的B相乘,即将s中的f2个小长方体加权,使用加权后的小长方体进行特征重构。采用残差学习的思想,将最初输入的小长方体直接加在重构的小长方体上。

如图4所示,在非局部模块中,每个小长方体均与以其为中心的大长方体进行运算,并利用得到的相似权重矩阵重构出相应的小长方体。在局部网络中,由于对同一张特征图的所有区域均采用相同的卷积核,因而对于细节丰富程度不同的区域无法区别对待。与局部网络不同,非局部模块结合了非局部区域(相邻特征之间)的结构信息,并且对每一小长方体的重构均有不同相似系数矩阵,因而很好地利用了特征的结构信息。

2 基于深度学习局部与非局部信息的超分辨率重建网络

2. 1 网络总体结构

在分析了局部网络和非局部相似性模块之后,本文提出基于深度学习局部与非局部信息的超分辨率重建网络框架。如图5所示,提出的网络主要包括局部网络和非局部网络两个模块,下面将详细描述网络结构。

图5 提出的基于局部与非局部信息的超分辨率重建网络

2. 2 非局部网络

如前所述,局部网络并未考虑到图像中的一些先验信息。因此,利用如图4所示的非局部相似性模块(Non-Local Similarity Block,NLSB)来搜索相似性信息并用于特征重构中。在非局部网络中,我们将该模块与残差学习结合起来,构成非局部残差块,图6为非局部残差模块(Non-Local Residual Block,NLRes)示意图。

图6非局部残差模块示意图

图6 所示的过程用公式表示为:

其中,NLSB表示特征经过非局部相似性模块的变换操作,Hconv+ReLU表示特征经过卷积层再经过ReLU激活,Hconv表示特征只经过卷积层。Finput和Foutput表示非局部残差模块的输入和输出。ReLU表达式如下:

ReLU函数可以将输入特征中的负值变为0,它是一种非线性函数,常被用来增加卷积神经网络的非线性能力。

2. 3 局部网络

受文献[3-4]的启发,在局部网络中我们以残差模块作为局部网络的主要模块。如图5所示,局部网络部分包括第一层的卷积层、中间的局部残差模块和特征重组层(卷积层)。搭建的局部残差模块如图7所示,主要包括两层卷积层和一层激励层。

图7 局部残差模块示意图

由于采用了跳连接(Skip Connection,SC)的残差学习可以有效地缓解因网络层数增加所带来的梯度消失问题,因而被广泛应用于深度卷积神经网络中[4,12]。图7为本文所用到的局部残差模块示意图。其运算过程为:

式中,Hconv表示没有激活函数的卷积层,Hconv+ReLU表示卷积层+ReLU激活函数,yinput和youtput表示局部残差模块的输入和输出。

2. 4 上采样层

在网络的末端,我们采用文献ESPCN[13]中的亚像素卷积层对局部网络的输出进行上采样,以提升特征的分辨率,最终输出重建高分辨率图像,这与早期的超分辨率网络[1-2]有所不同,它们采用双三次插值的方法将低分辨率图像放大到目标尺寸。在网络末端设置亚像素卷积层可以有效地减少特征卷积所需的时间。

3 实验结果与分析

为了验证提出算法的有效性,对目前超分辨率重建研究中比较常用的两个图库Set5[14]和B100[15]分别进行双三次模拟下采,并采用不同的对比算法进行超分辨率重建。采用的对比算法包括:双三次插值(Bicubic)、A+[18]、SRCNN[1]、FSRCNN[16]、VDSR[2]、LapSRN[17]。除传统的双三次插值算法和A+算法外,其余的均为深度学习类的算法。实验中以双三次插值进行2倍、3倍以及4倍模拟下采样退化,以生成低分辨率图像。实验框架为TensorFlow 1.14.0,使用GTX1080Ti加速网络训练。为了更客观地评价提出的算法及其他对比算法,我们采用和对比算法中相同的衡量方式,通过测量重建图像的Y分量(YcbCr空间)PSNR和SSIM来衡量超分辨率重建的结果。网络的损失函数采用L1范数:

其中,net表示提出的局部与非局部网络,θ为网络参数,和表示第i对高低分辨率子图块样本对,n表示训练样本对的数目。

表1和表2分别给出了各算法在Set5图库和B100图库上的平均PSNR和SSIM。由于LapSRN论文代码中未提供3倍的模型,因此表中只展示其2倍和4倍的重建结果。图8是不同超分辨率算法在B100的“37073”图像2倍重建的主观视觉效果图。图9是不同超分辨率算法在B100的“78004”图像上4倍重建的主观视觉效果图。

由表1可以看出,在Set5图库上,传统的双三次插值算法的PSNR和SSIM最低。对比传统的A+和基于深度学习的算法可以看出,即使是最简单的深度学习算法 SRCNN,其 PSNR也高于 A+。SRCNN和 FSRCNN虽能有效地改善插值算法的性能,但作为早期的深度学习超分辨率重建算法,其重建性能相比于后期的深度学习算法仍存在较大的提升空间。在2倍测试上,提出的算法相比于LapSRN能取得0.28dB的PSNR提升,在4倍时能有0.37dB的PSNR增益。在SSIM上,提出的算法在高倍数上比其他深度学习算法有明显的提升。Set5图库中的图像比较平滑,且细节简单突出,受益于非局部相似性的使用,从不同倍数来看,在4倍时,本文算法的SSIM比LapSRN在2倍时提升更多,如在4倍时,SSIM有0.005的增益。

表1 Set5图像库上不同算法的超分辨率重建结果(PSNR 单位:dB)

表2 B100图像库上不同算法的超分辨率重建结果(PSNR 单位:dB)

在表2中,类似地,本文算法也有较为明显的性能提升。B100图库包含100张不同类型的图像,不同图像的细节丰富程度各不相同,属于极难超分辨率重建的一类图像库。本文算法相比VDSR在2倍重建时提升了0.15dB,3倍重建时PSNR提升了0.16dB。在4倍重建时相较于LapSRN提升了0.15dB。在B100图库上进行的2、3、4倍重建对比实验中本文算法的SSIM也达到了最好效果。

不同超分辨率算法在B100的“37073”图像上的2倍重建结果如图8所示。

图8

在主观视觉方面,由图8可以看出,双三次插值和A+两种传统算法2倍重建出的“37073”图像较为模糊,而基于深度学习的超分辨率重建算法则能够恢复更多的边缘细节。相比于SRCNN和FSRCNN,LapSRN重建的图像更为清晰,且边缘更加突出。相比于其他算法,本文算法重建图中圈出的字体部分较为清晰,重建的图像具有更丰富的信息。

从图9可以看出,在4倍超分辨率重建时,双三次插值出现了明显的模糊,细节信息丢失较多。A+算法效果优于双三次插值,但在圈出来的重建细节部分,仍比基于深度学习的算法差。SRCNN算法优于A+但细节仍比较模糊。FSRCNN和LapSRN的重建细节发生扭曲现象,VDSR重建图像中建筑物轮廓较为突出,但不够真实。本文算法相比于其他深度学习的算法,重建效果更好,且细节更为清晰。

图9

不同超分辨率算法在B100的“78004”图像上的4倍重建结果。

4 结语

本文主要针对超分辨率重建技术开展研究。在介绍了图像的非局部相似性后,将其引入卷积神经网络中,提出了基于深度学习局部与非局部信息的超分辨率重建网络。在搭建的模型中,将局部网络和非局部网络结合起来进一步提升超分辨率重建性能。非局部网络充分利用了待重建特征的非局部相似性信息,并以此信息重构出新的特征。这一特点使得本文提出的网络能在训练中考虑更多的图像信息,进而学习更加准确的映射模型。与目前性能较好的超分辨率重建算法相比,本文提出的算法相比于LapSRN在Set5图库上能提升0.28dB到0.37dB;在视觉效果上,本文算法重建图像细节更加丰富,因此本文算法在提升低分辨率图像质量上有较好的效果。

猜你喜欢
相似性残差分辨率
基于残差-注意力和LSTM的心律失常心拍分类方法研究
融合上下文的残差门卷积实体抽取
隐喻相似性问题的探讨
基于残差学习的自适应无人机目标跟踪算法
好画质不局限于分辨率 探究爱普生4K PRO-UHD的真面目
基于深度卷积的残差三生网络研究与应用
12个毫无违和感的奇妙动物组合
基于隐喻相似性研究[血]的惯用句
ARM发布显示控制器新品重点强化对分辨率的支持
从600dpi到9600dpi