改进的二阶龙格-库塔超分辨率算法

2022-01-18 11:22:16陈剑涛黄德天陈健朱显丞
华侨大学学报(自然科学版) 2022年1期
关键词:浅层残差分辨率

陈剑涛, 黄德天, 陈健, 朱显丞

(华侨大学 工学院, 福建 泉州 362021)

图像超分辨率技术由于能够利用软件算法从一幅或多幅现有的低分辨率(LR)图像中重建清晰的高分辨率(HR)图像,成为计算机视觉领域的重要课题之一.在实际成像过程中,由于设备、环境、传输、噪声等影响,相对于原始的HR图像,采样到的图像丢失了某些高频特征,成为LR图像,难以满足工程应用的需求.超分辨率技术突破了固有分辨率的限制,可通过现有的LR图像恢复对应的HR图像,是获取HR图像经济而有效的方法,在遥感、医学、智能交通、人脸识别等领域具有重要的应用价值[1-4].

传统的超分辨率方法主要可以分成基于插值和基于重建的方法.在插值方法中,常用的有双三次插值(Bicubic)[5]和最近邻插值[6],此类算法计算开销小、实时性高,但在图像高频区域会产生振铃和锯齿现象.基于重建的方法通过引入图像的先验知识,可以有效地维持锐利的边缘特征并抑制振铃效应,例如贝叶斯先验法[7]、非局部自相似先验法[8]、梯度轮廓先验法[9],但是在复杂场景下,此类方法无法很好地恢复丢失的高频信息.当前,基于学习的方法在超分辨率任务中被广泛使用,通过训练大量成对的LR和HR图像块,学习它们之间的映射关系,例如非线性回归法[10]、稀疏字典学习[11]、卷积神经网络(CNN).

Dong等[12]首次利用CNN模型提出超分辨率卷积神经网络(SRCNN)算法,通过三层卷积层分别实现了特征提取、非线性映射和图像重建3个阶段.Kim等[13]根据残差网络的思想,通过级联卷积核小的卷积层,提出深度卷积超分辨率算法(VDSR),使其在更大的图像块区域学习更多的上下文信息.为了减轻插值过程带来的计算成本,Dong等[14]在网络结构的最后一层使用反卷积层,将模型学习的特征放大到HR图像空间上.Wai等[15]同样采用深层卷积的思想,并结合拉普拉斯金字塔结构,在没有增加额外计算负担的前提下,逐步重建HR图像.Lim等[16]提出增强型深层网络(EDSR),指出通过批标准化(BN)层[17]的特征容易降低模型的收敛速度,将其移除,从而扩大模型尺寸以提升重建图像的质量.Haris等[18]提出迭代的错误反馈机制,设计上下投影单元,计算投影误差以获得更好的重建结果.为了解决单纯堆叠残差模块的局限性,Zhang等[19]提出残差嵌套残差(RIR)结构,构建非常深的可训练网络结构;随后,又设计局部和非局部注意力模块[20],以提取可捕获像素之间长期依赖关系的特征,同时更注意具有图像重要特征的部分,进一步增强网络的表示能力.He等[21]利用微分动力学思想,提出一种基于常微分方程启发的超分辨率模型(OISR),从而增加超分辨率网络设计的可解释性.

然而,当前的超分辨率网络大多忽视了模型的运算开销,为了在超分辨率任务中取得良好的效果,在学习特征阶段堆叠数量庞大的模块,导致网络层数太深而不利于模型的训练.基于深度学习的超分辨率网络模型虽然能在不同复杂程度场景下恢复一定的纹理细节特征,但是对网络内部结构的轻微调整会表现出极敏感的特点.为了解决上述问题,本文提出一种改进的二阶龙格-库塔超分辨率算法.

1 超分辨率重建算法

1.1 龙格-库塔方法残差模块

传统的深度学习网络多数依赖于已有的设计经验,此类模型往往存在一些通病,如网络层数深、模型训练困难及训练技巧复杂等.而如今许多学者试图将数学与神经网络联系起来,以突破深度学习的不可解释性[22-23].基于常微分方程启发的二阶龙格-库塔超分辨率网络(OISR-RK2)满足轻量化和无需复杂的训练技巧的优势,建立起神经网络和常微分方程之间的联系.

欧拉(Euler)方法是一种常用的常微分方程数值解法,根据前向欧拉法的基本表现形式

yn+1=yn+hf(xn,yn),

(1)

通过当前状态和当前状态的导数,可以求解出下一时刻的状态表示.其中,h为间隔区间,f()为xn处的导数,即可以表示为两个状态之间的增量关系.同样,在残差模块里也有类似的特点,可以表示为

yn+1=yn+G(yn).

(2)

因此,将前向欧拉法映射成残差模块的形式,得到二阶龙格-库塔(RK2)方法对应的公式,即

图1 RK2残差模块Fig.1 RK2 residual module

(3)

再通过前向欧拉公式进行估计,可以将式(3)简化为

(4)

对照式(1)和式(4)可知,G1和G2分别表示xn和xn+1两种状态的增量关系.RK2残差模块,如图1所示.

1.2 网络结构

为了提高超分辨率图像的分辨率和清晰度,提出一种基于深度特征的超分辨率网络模型,其整体框架,如图2所示.该模型主要分为特征提取和图像重建两个阶段,前者又进一步分为浅层特征提取和深层特征提取2个子阶段.浅层特征提取阶段以LR图像作为输入,利用浅层共享编码结构学习LR图像空间的浅层特征;深层特征提取阶段通过级联若干个学习深度特征的RK2模块,并在末端经过一个卷积(Conv)层和一个长跳跃连接,构成深度特征提取子阶段;图像重建部分则是由Conv层和像素重组层(Upscale)组合,共同完成HR图像的重建.

图2 网络的整体框架Fig.2 Overall framework of network

1.3 浅层共享编码器

提出的浅层共享编码器(SSC)用于提取待重建的LR图像的浅层特征,主要由Conv层和残差(Res)模块组成,如图3所示.图3中:Hi和Gi分别为Res单元和Conv层的输出特征,最后一层Hi为通过两层Res模块的输出特征.受到残差网络(ResNet)的启发,Res结构由两个卷积层构成,中间采用参数化修正线性单元(PReLU)激活函数,在残差的输出位置也使用一个PReLU激活函数.在SSC模块中,使用PReLU激活函数代替ReLU激活函数,主要是考虑到PReLU在负数部分有一个可学习的系数,可以消除ReLU中由零梯度导致的“死特征”.因此,提出的SSC模块可以充分利用所有参数,以提高网络的特征表示能力.考虑到原始ResNet网络中Res模块的BN层容易降低模型的收敛速度和整体性能,与EDSR提出的残差模块一致,移除BN层,使SSC结构能够从LR图像学习并保留更多有用的高频信息,增加特征的变化范围.

图3 浅层共享编码器Fig.3 Shallow shared encoder

在SSC模块中,每一级的Res模块通过对上一级的输出信息提取的特征进行分离,再经过一个Conv层的特征学习,并与下一级Res模块得到的特征相融合,表达式为

Hi=δ(F3×3(δ·F3×3(xi))+xi),Gi+1=F3×3(Hi+Gi).

(5)

式(5)中:xi为Res单元的输入特征;F3×3为卷积核为3×3的卷积操作;δ为PReLU激活函数.

1.4 深层特征提取模块

He等[21]在常微分方程的基础上提出了RK2残差模块,其中的特征学习单元,如图4所示.虽然RK2残差模块具有参数量小、训练速度快等优点,但其对深度特征的学习不够充分,从而限制了OISR-RK2模型的重建图像的质量.

许多超分辨率模型使用的特征学习单元对内部结构的轻微调整会产生巨大的影响,在RK2残差模块中的Module同样也会产生此类问题.为了尽可能多地学习更丰富的细节和纹理,并将参数量保持在一个合理的范围,在原始的特征学习单元上,使用更深层的Module结构,并在每一个卷积层后引入参数规范化(WN)层[24].得到的深度特征学习单元,如图5所示.

图4 特征学习单元 图5 深度特征学习单元 Fig.4 Feature learning unit Fig.5 Deep feature learning unit

WN层在神经网络中是一种针对权重向量重新参数化的方式,分离了权重向量的方向和长度.虽然WN和BN都属于参数重写,但是相比于BN层,WN层加快了模型训练的收敛速度,减少了批次大小在梯度计算过程中引入的噪声,更加适用于超分辨率任务.假设特征输出的表达式为

y=w×x+b.

(6)

式(6)中:w为k维特征向量;x为网络输入特征;b为标量偏差项.

则参数规范化可将w分解为

w=gv/‖v‖.

(7)

式(7)中:v为参数向量;g为参数标量;‖v‖表示v的欧式范数.

长度和方向的分离加快了模型的收敛速度.对于超分辨率任务来说,WN层并不会受到批次大小的影响,也不需要额外的空间保存BN层的均值和方差,因为它只是一种重新参数化技术.

2 实验结果与分析

2.1 实验环境及实验设置

实验环境为Ubuntu 18.04系统搭配PyTorch 1.3平台,GPU为NVIDIA TITAN Xp 12 GB.为了与当前最先进的方法比较,与OISR方法一致,选择已公开的DIV2K数据集中的800张高分辨率RGB图像作为训练图像;并且选择Set5,Set14,B100和Urban100作为测试图像集.在训练集中,使用大小为48 px×48 px的低分辨率图像块,以及与之相对应的高分辨率图像,并采用随机翻转和90°,180°,270°旋转来增加训练集数据,同时,在模型的输入端减去DIV2K数据集的平均RGB值作为图像预处理.

2.2 评价标准

对于不同模型的超分辨率评价标准,采用峰值信噪比(RPSN)和结构相似性(MSSI)两种评价方式,其表达式分别为

(8)

(9)

式(8),(9)中:a为图像位数;EMS为均方误差;μX,μY和σX,σY分别对应原始图像、预测图像的均值和方差.RPSN越大,表示失真越小,对应的超分辨率方法的效果越好;而MSSI越接近1,则表示重建图像与原始图像越相似,对应的超分辨率方法的性能越好.

2.3 模型分析

首先,在RK2-s算法的基础上引入浅层共享编码器结构进行分析比较,在原始的模型基础上使用共享编码器结构,采用Set5数据集进行测试(×2);设置i的取值分别为2,4,深度特征学习单元n为3,保证在其他训练参数一致的前提下,在Set5数据集进行对比测试(×2),结果如表1所示.

由表1可知:在引入浅层共享编码器的情况下,RPSN为38.02 dB,比无共享编码器提高了0.04 dB;在浅层特征的提取部分,浅层共享编码器增加2个标准残差模块和2个卷积层,RPSN提升了0.02 dB.因此,加深共享编码器的结构可以学习更多层次的特征,具体可以根据实际的应用选择不同的i值.但在后续对比实验中,为了降低模型的复杂度并提高模型的效率,i的取值均为2.

其次,在深度特征学习单元n分别为2,3,4情况下,保持模型中其他参数一致,在Set5数据集上进行对比测试(×4),如表2所示.表2中:t为模型训练所需要的时间.由表2可知:随着深度特征学习单元数的增加,模型能够有效地对图像的深度特征进行提取,但模型的训练时间也在增加.因此,为了使提出的模型更适合于实际应用,将深度特征学习单元n值设置为3.

表1 浅层共享编码器对模型的影响Tab.1 Influence of shallow shared encoder on model

表2 深度特征学习单元对模型的影响Tab.2 Influence of deep feature learning unit on model

最后,对比有、无使用WN层的模型训练损失,结果如图6所示.图6中:N为迭代次数.由图6可知:在使用WN层的情况下,损失函数Loss值降低得更快,模型收敛更加迅速,重建图像和真实图像之间的误差更小,且网络在训练过程中表现出更佳的稳定性.因此,在相同的条件下,WN层能够更好地预测重建图像,有利于超分辨率网络模型的训练.

(a) 使用WN层的模型 (b) 未使用WN层的模型图6 有、无使用WN层的模型训练损失对比Fig.6 Comparison of model training loss with and without WN layer

2.4 与其他算法的比较

为了验证提出模型的有效性,与Bicubic,SRCNN[12],VDSR[13],EDSR-s[16],OISR-RK2-s[21]和OISR-LF-s[21]算法进行比较.在Set5数据集上测试SRCNN,VDSR,EDSR-s,OISR-RK2-s,OISR-LF-s算法和文中算法的重建时间,结果分别为0.21,0.24,0.52,0.28,0.30,0.33 s.在Set5,Set14,B100,Urban100四个数据集中,文中算法与其他算法的超分辨率评价对比,如表3所示.

表3 文中算法与其他算法的超分辨率评价对比Tab.3 Comparison of super-resolution evaluation between proposed algorithm and other algorithms

续表Continue table

图7 不同超分辨率算法的M及RPSN对比Fig.7 Comparison of M and RPSN in different super resolution algorithms

由表3可知:在不同的测试数据集中,图像放大2~4倍下,文中算法的RPSN和MSSI总体均高于其他算法,取得了最优的超分辨率效果,而LF-s算法取得了次优的效果;在Set5数据集且图像放大2倍的情况下,相比于OISR-RK2-s和OISR-LF-s算法,文中算法的RPSN分别提高了0.13,0.09 dB;在Urban100数据集且图像放大3倍的情况下,文中算法的RPSN比OISR-LF-s算法提升了0.17 dB.

不同超分辨率算法的参数量(M)及在Set5数据集(×4)的RPSN对比,如图7所示.由图7可知:虽然文中算法的网络模型参数量有一定的增加,但仍在一个较为合理的范围内,并且对于所有的测试数据集,在图像放大3倍的情况下,文中算法取得了最优的效果.

图8~10分别展示了不同超分辨率算法的主观视觉效果.为了便于观察比较,测试图像的细节区域经过局部放大.

图8 数据集Urban100中图像“Img_098”的重建结果展示图Fig.8 Display images of reconstruction result of image “Img_098” in data set Urban100

图9 数据集Set14中图像“Barbara”的重建结果展示图Fig.9 Display images of reconstruction result of image “Barbara” in data set Set14

图10 数据集Urban100中图像“Img_039”的重建结果展示图Fig.10 Display images of reconstruction result of image “Img_039” in data set Urban100

由图8~10可知:Bicubic算法重建的图像效果模糊,甚至观测不到图像的纹理;SRCNN和VDSR算法虽然能呈现一定的结构特征,但容易学习到不属于原本图像的高频信息,导致重建的图像包含较多的伪边缘信息;EDSR-s,OISR-RK2-s,OISR-LF-s算法得到的重建图像的视觉效果明显优于SRCNN和VDSR算法,主要表现在边缘纹理方面更加清晰,但是局部恢复图像块中(图9),这3种算法都学习到了错误的高频特征,导致重建图像的纹理严重变形.在原始OISR提出的OISR-RK2-s算法中,建立了超分辨率网络和微分方程之间的联系,但是在超分辨率网络的设计过程中,仍未充分学习图像的高频信息.而文中算法与其不同,一方面,不仅重视浅层特征的学习,并根据提取的初始特征,通过配合WN层,使模型训练更加稳定;另一方面,还注重深层特征的学习,在图像重建的过程中,充分利用浅层特征与深层特征恢复图像的高频信息,从而生成更加精准的边缘纹理;相比于其他算法,文中算法得到的重建图像在整体效果上最接近原始的HR图像.

3 结束语

针对OISR-RK2超分辨率方法存在深度特征学习少、图像重建质量一般的问题,充分利用LR图像包含的丰富的低频信息和高频信息,提出浅层共享编码器对图像作初始特征提取;在深度特征学习阶段提出更深层的结构,结合参数规范化,学习更加有用的高频特征,在保证一定模型训练时长下,更好地构造高低分辨率图像之间的映射关系.无论从客观评价指标,还是主观视觉上,文中算法均优于当前的轻量级模型算法.

猜你喜欢
浅层残差分辨率
基于双向GRU与残差拟合的车辆跟驰建模
浅层换填技术在深厚软土路基中的应用
基于浅层曝气原理的好氧颗粒污泥的快速培养
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
自动化学报(2019年6期)2019-07-23 01:18:32
EM算法的参数分辨率
原生VS最大那些混淆视听的“分辨率”概念
基于深度特征学习的图像超分辨率重建
自动化学报(2017年5期)2017-05-14 06:20:52
一种改进的基于边缘加强超分辨率算法
浅层地下水超采区划分探究