基于多路径残差网络交叉学习的图像超分辨率重建
2020-04-21郭锋锋
郭锋锋,马 璐
(宿州职业技术学院,安徽宿州234000)
0 引言
图像超分辨率重建是低分辨率图像经过一系列操作获得对应高分辨率图像的技术。在生产生活中,由于硬件设备的限制和后续图像处理的需要,需要对低分辨率图像进行超分辨重建。图像超分辨率重建技术具有较低的成本和较好的灵活应用的特点,因此被广泛应用在医学影像[1]、遥感监测[2]、人脸识别[3]和其他一些领域[4-5]。
图像超分辨率重建方法存在很多,其中传统的方法主要有插值法和基于重建的方法[6-7],这些方法重建速度快,但重建图像边缘比较模糊,细节信息丢失比较严重。随着信息技术的发展,基于学习的超分辨率技术开始迅速发展起来。杨建超提出基于稀疏编码的图像超分辨率重建,并获得了较好的重建效果[8]。Dong等人优化字典学习过程,提高的了图像超分辨率重建速度和准确度[9]。另有基于样例的超分辨率重建方法被提出,利用结构相似的图像块对高分辨率图像重建[10]。2014年ANR方法和A+方法在基于流型学习和锚点邻域回归等理论上进一步提高了超分辨率重建的图像质量[11-12]。而随着深度学习在图像处理领域的广泛应用,SRCNN[13]借鉴基于字典学习的超分辨率重建方法,提出利用深度卷积网络进行超分辨率重建图像,并获得不错的结果,但网络模型训练时间比较长。后来,VDSR[14]网络模型被提出,只对低分辨率图像中缺失的高频信息进行重建,并增加卷积网络深度,显著的提高了重建图像的质量和网络模型学习效率。而后,利用残差网络的超分辨率重建模型SRResNet[15]和EDSR[16]进一步的提高了超分辨重建图像的质量。
但是图像超分辨率重建的网络模型多为单支网络进行训练学习,不能够充分学习高低分辨率图像之间的映射关系。而为了增强网络学习能力,本文提出了基于多路径残差网络交叉学习的网络模型。首先利用训练更快、学习能力更强的残差网络进行训练学习训练数据集中高低分辨率图像映射先验信息,再扩展单支残差网络为3支独立的残差网络并联为网络模型,并使用原来学习的网络模型进行初始化,以增强超分辨率重建网络模型的先验信息学习能力。为了进一步充分利用多路径网络的信息,采用一种网络交叉学习的方法实现不同路径网络的信息共享。通过文中实验可证明,利用本文提出的超分辨率重建网络获得的高分辨率图像,在主客观评价中都优于其他一些深度卷积网络模型。
1 残差网络
残差网络(ResNet)是一类主要由残差块构成的卷积神经网络,该网络是由何凯明等人于2015年提出[17]。传统卷积网络在达到一定深度后,常常在浅层网络参数更新时造成深层网络的梯度消失,从而导致无法更新浅层网络的参数。另一方面,随着卷积网络深度的增加,网络也会出现退化问题,网络深度增加反而会造成网络性能下降。由此,ResNet为了解决上述问题,引入了跳跃连接的残差块,残差块结构如图1。残差块的输出x0为:
其中,xi为残差块的输入,F(xi)为xi经过卷积层1、激活层relu和卷积层2后得到的结果。在普通卷积网络中,如图1,当卷积网络深度过大而深层的卷积层出现冗余时,即理想中的卷积层映射为恒等映射xo=xi,则卷积层优化函数为H(xi)=xi。而如果残差块出现最优输出xo=xi时,其卷积层优化公式为F(xi)=x0-xi=0。显然,残差块的卷积层优化更简单,有效解决了卷积网络退化问题。
另一方面,在ResNet中假设某一浅层单元的特征为xl,任意深层的特征xL可以计算为:
在反向传播中假设损失函数为C,则根据链式法则可计算浅层单元传递:
从公式中可见反向传播中网络的深层单元梯度信息可不通过权重层直接传递到浅层单元,并且1+]保证了不会出现梯度消失的情况。
图1 无跳远连接单元和残差块单元
相比于传统卷积网络,ResNet通过加入跳跃连接而使网络优化变得更容易。跳跃连接类似于执行了简单映射,并不会使网络参数增加,其计算复杂度也不会增大。此外,网络退化和梯度消失的问题得以解决,也使得ResNet允许实现更深层的网络训练和学习并表现出更出色的性能。
在将ResNet网络用于单幅图像的超分辨率重建问题时,假设高分辨率图像由低分辨率图像信息和丢失高分辨率信息构成,则利用残差网络可只进行丢失高分辨率信息的学习,而低分辨率信息采用跳跃连接的方式直接映射,避免了重建工作的重复,降低图像重建任务的计算复杂度。
2 多路径交叉学习残差网络
为了增强残差网络对于单幅图像的超分辨率重建,提高卷积网络的学习能力,本文提出了多路径交叉学习的残差网络。其结构如图2:
图2 多路径交叉学习残差网络
该残差网络主要由3支子残差网络构成,每支残差网络互相交叉共享特征信息。低分辨率图像Image先分别通过不同的预处理操作Pre0,Pre1,和Pre2进行图像的初级变换,再分别通过特征层Conv1进行特征分解为多个特征层,然后通过交叉学习的残差网络重建高分辨率图像,最后通过Pro_t层对3支不同路径获得的高分辨率图像进行叠加获得最终的图像SR。
2.1 多路径残差网络
单一路径的残差网络直接使用待重建的低分辨率图像最为输入数据,虽然能够比较好的实现图像超分辨率重建的任务,但对低分辨率图像信息处理比较简单,没有很好利用图像数据先验信息在不同特征表达中的信息侧重。为了对低分辨率图像特征进行更具有针对性的学习,多路径残差网络被提出。该网络主要由3支残差网络组成,每支残差网络由预处理操作层(Pre0,Pre1,和Pre2)、特征层(Conv1)、残差网络层和重建层(Conv2和Pro_t)构成。
预处理操作层主要对低分辨率图像进行一定的预处理操作,使图像数据从多个角度进行下游任务的学习。其中,Pre0层为对低分辨率图像进行简单的双三次插值操作。考虑到高分辨率图像到低分辨率图像的映射关系之间,丢失的主要是高频边缘和纹理信息,Pre1层则为低分辨率图像进行双三次插值操作和Sobel边缘检测操作。而根据一些传统图像重建方法可知,不同几何变换后进行重建的图像进行融合会使图像质量有一定的提升,因此Pre2层则对低分辨率图像进行双三次插值、旋转180度并镜像变换。
特征层Conv1由1个大小为3*64*H*W(H和W分别为输入图像的高度和宽度)的卷积层组成,主要用来对输入图像进行特征分解为64通道的特征图,为下游残差网络学习做准备。
残差网络层为由16个残差块单元(如图1)级联组成的残差网络,其中每个残差单元中的2个conv卷积层大小为64*64*H*W,激活函数采用relu函数。3支路径的残差网络层结构相同。残差网络层是该网络的主体部分,用来学习高低分辨率图像之间的先验映射信息。同时,采用相同的结构也更方便网络的训练。
重建层由初级重建层Conv2和融合层Pro_t组成。其中Conv2为大小64*3*H*W的卷积层,主要用来将64通道的特征图重建为3通道图像。融合层Pro_t主要是将3支路径重建的图像进行融合。假设3个通道初级重建后的图像分别为SR1,SR2和SR3,对应的融合系数矩阵分别为w1,w2和w3,则最后的重建图像SR为:
因此,融合层采用大小为9*3*H*W的卷积层。
在网络训练阶段,由于每支路径的残差网络结构相同,可采用由简到繁的训练步骤。本文先单独进行1路径(Pre0路径)的网络训练,再以该训练好的网络权重参数为基础对其他两支路径的网络进行初始化,并分别单独训练,最后将3支路径网络进行联合训练。这能够大大较少训练所花费的时间。
2.2 多路径交叉学习残差网络
为了更进一步增强多路径残差网络的特征学习能力,且考虑到增加残差网络深度会大大增加网络的计算复杂度,本文提出采用多路径残差网络进行交叉学习的策略。交叉学习使得不同路径的残差网络可以共享特征信息。
在多路径残差网络基础上,对残差网络层进行调整。残差层由残差单元(ResUnit)和扩展残差块(ResBlock2)构成。每支交叉学习路径的残差层如图3:
图3 交叉学习框架中的残差层
其中ResUnit由3个残差块单元(ResBlock)级联组成,而扩展残差块单元ResBlock2结构如图4所示。
图4 扩展残差块单元ResBlock2
交叉学习采用在残差层的每个ResBlock2前两两交叉共享信息的方式进行学习,即Pre0路径和Pre1路径、Pre1路径和Pre2路径、Pre1路径和Pre3路径。
在多路径交叉学习残差网络进行训练时,仍然使用单支网络逐一训练的方式。其中,待训练的残差网络交叉学习的另一支路径的信息直接采用特征层的输出信息。在完成单支网络训练后再进行整体网络的训练。
3 实验及结果
为了验证提出的多路径交叉学习残差网络在图像超分辨率重建中的性能,本文利用Pytorch框架搭建了多路径交叉学习残差网络(Proposed),并利用配置为i7 CPU、显卡为GTX1080Ti的计算机上进行训练。同时,引用了 SRCNN[13]、VDSR[14]、算法 1[18]、GEGREEMV[19]与本文方法在标准数据集 Set5、Set14和B100上进行对比。
本文搭建的网络训练集采用DIV2K数据集,初始学习速率为0.01,网络卷积层的其它参数则采用第3、4节中所设定数值。实验结果如表1。
表1 不同超分辨率重建算法的PSNR(dB)比较
图5 butterfly(SRCNN、算法1、GEGREEMV、VDSR、Proposed
图7 woman(SRCNN、算法1、GEGREEMV、VDSR、Proposed)
根据表1中的实验结果可以看到,相对其他几种用于单幅图像超分辨重建的算法,本文提出的多路径交叉学习残差学习网络获得重建图像的PSNR最高。这客观反映了本文所提出的算法的有效性和优越性。
而图5~7为实验中几种算法在SET5上尺度因子为4时重建的部分结果图像,从图中可以看到,本文算法对于图像边缘的重建更清晰,且没有重影,优越于其他几种方法。这也可以证明边缘信息学习路径可以增强残差网络对于图像边缘信息的学习能力。
此外,多路径残差网络(Proposed 1)和多路径交叉学习残差网络(Proposed 2)在SET5和SET14测试的结果如下。根据表2可知多路径交叉学习残差网络比多路径残差网络重建的图像PSNR高,这证明了交叉学习策略的应用在增强残差网络学习能力中的有效性。而交叉学习则在不增加网络卷积层深度的情况下,扩展了多路径残差网络学习的信息数据,有效增强了超分辨率重建网络的特征表达能力。
4 结论
基于深度学习的单幅图像超分辨重建问题在近几年被越来越多的研究学者所关注。而针对当前残差网络在图像超分辨率重建应用中存在的问题,本文提出了多路径残差网络交叉学习来增强卷积网络对高低分辨率图像之间先验映射信息的学习能力。通过扩展图像数据边缘和几何变换下的特征学习,多路径残差网络能够更精确的学习先验映射中的边缘细节。另一方面,提出残差网络交叉学习的策略,在增加少量参数的情况下实现不同路径通道信息的共享,提高单支网络的特征表达能力,从而进一步优化最终的超分辨重建图像。本文所提算法分别在多个数据集上与当前的一些残差网络模型进行了对比,实验结果在客观和主观评价中均表现出本文算法超分辨率重建的图像质量更好。