基于改进残差特征蒸馏的轻量级超分辨率网络

2022-11-23 09:06吴丽君蔡周威陈志聪
计算机与现代化 2022年11期
关键词:层间残差分辨率

吴丽君,蔡周威,陈志聪

(福州大学物理与信息工程学院,福建 福州 350108)

0 引 言

图像超分辨率重建技术(Super Resolution, SR)是一种由低分辨率图像(Low Resolution, LR)恢复出高分辨率图像(High Resolution, HR)的软件方法,具有成本低、效果好的优势,在现实生活中的遥感图像[1]、医学图像[2]、人脸识别[3]等领域有着广泛的应用。

图像超分辨率重建是一个经典的不适定问题,因为给定的LR总是存在多张HR与其对应,不存在唯一解。近年来,伴随着神经网络的发展,很多研究学者将深度学习技术应用于超分辨率重建领域。Dong等人[4]首次提出基于卷积神经网络(Convolutional Neural Networks, CNN)的图像超分辨率(Super-Resolution using Convolutional Neural Network, SRCNN),虽然只有3层卷积层结构,但取得的重建效果明显优于传统算法。2017年Lim等人[5]提出的增强型深度残差网络(Enhanced Deep Residual Networks for Single Image Super-Resolution, EDSR)通过优化残差结构,使得网络深度可以达到160层,但此时网络的参数量已经达到43 MB。2018年Zhang等人[6]将注意力机制引入超分辨率领域,提出了极深的残差通道注意力网络(Image Super-Resolution Using Very Deep Residual Channel Attention Network, RCAN),虽然将网络参数量减少至16 MB,但仍然达不到实际应用的水平。

卷积神经网络随着深度的增加,计算需求和内存消耗越来越大,在实际使用中受到了阻碍[7-8]。为了设计出能够部署在日常生活所用硬件设备中的超分辨率系统,很多研究工作努力在重建性能和模型的简单性之间进行权衡。2018年Ahn等人[9]在残差网络上实现级联机制,提出了包含多个级联块和全局跳接的轻量级级联残差网络(Fast, Accurate, and Lightweight Super-Resolution with Cascading Residual Network, CARN),用重建精度大幅下降的代价换来了较低的网络复杂度。2018年Hui等人[10]提出信息蒸馏网络(Fast and Accurate Single Image Super-Resolution via Information Distillation Network, IDN),将每层模块提取的中间特征按照通道维度分为2个部分,一部分被保留,另一部分由后续卷积层进一步处理。通过这种通道分离的策略,将部分保留的信息与进一步提取的信息聚合以减少网络参数量。2019年Hui等人[11]对IDN进行了改进,提出的信息多重蒸馏网络(Lightweight Image Super-Resolution with Information Multi-distillation Network, IMDN)在每层模块中进行多重蒸馏,并且在聚合的步骤添加了一层对比度感知通道注意力模块,能在更少的参数量下表现出更优秀的性能。尽管研究学者们在轻量级超分辨率领域已经取得了不错的进展,但是仍然忽视了2个问题:1)忽略了中间层特征之间的相关性,由于每层之间的信息相互关联,且每层信息与重建图像之间的关联性也互不相同,因此需要对中间特征进行重新学习;2)大多数网络只在网络末端采用一层上采样层进行重建,这样只关注到LR的空间信息,而没有充分挖掘HR空间中的有用信息。

针对这2个问题,本文研究如何在网络中间充分利用特征之间的关联性,并且在重建部分同时提取LR和HR空间中的特征。主要贡献包括以下3个方面:

1)设计了层间注意力蒸馏网络(Layer Attention Distillation Network, LADN),实现了中间层特征以及HR空间特征充分利用的轻量级超分辨率模型。

2)引入了一种层间注意力模块(Layer Attention Module, LAM),通过考虑层间的相关性来学习层间特征的权重,使网络整体有更强大的特征表达能力。

3)使用了一种增强的重建块(Enhanced Reconstruction Block, ERB)来有效提取HR的基本特征,以重建更多的细节,从而将粗略结果细化为更好的HR。

1 残差特征蒸馏模块

残差特征蒸馏网络(Residual Feature Distillation Network, RFDN)[12]是目前性能最优的轻量型超分辨率网络之一,所谓蒸馏操作,就是将提取的特征分为2个部分:一部分保留,另一部分通过后续的蒸馏进一步细化,这种分工协作的设计将最大化地合理利用网络特征。如图1(a)所示,RFDN分别用1×1卷积层产生保留的特征,用3×3卷积层进一步处理后续蒸馏操作的特征。其中,在网络特征深层提取部分,为了避免网络退化,采用浅层残差块(Shallow Residual Block,SRB),如图1(b)所示,它由3×3卷积、跳接和激活单元ReLU组成。SRB在不引入任何额外参数的情况下,以更有效的残差学习策略,解决了网络退化问题。整个蒸馏过程可以表示为:

Fd_1,Fc_1=Conv1×1(Fin),Conv3×3(Fin)

Fd_2,Fc_2=Conv1×1(Fc_1),Conv3×3(Fc_1)

Fd_3,Fc_3=Conv1×1(Fc_2),Conv3×3(Fc_2)

Fd_4=Conv3×3(Fc_3)

(1)

其中,Fin代表每层残差特征蒸馏模块(Residual Feature Distillation Block,RFDB)的输入,Fd和Fc分别代表每次蒸馏操作的保留特征和用于进一步细化的特征,为卷积操作。

(a) RFDB结构图

(b) SRB结构图

(c) CCA结构图

另外,在每层RFDB模块中的全部蒸馏操作之后,将所有特征合并然后经过通道注意力机制自动分配权重,从而提取出最有效的中间特征。如图1(c)所示,采用对比度感知通道注意力模块(Contrast-aware Channel Attention, CCA)代替常用的通道注意力机制[13],这是由于常用的通道注意力机制利用全局池化来提取高层次任务中的视觉信息,这样容易丢失图像细节的结构、纹理和边缘等信息。因此CCA用标准差和平均值的总和来代替全局平均池化,将会更适合超分辨率任务。

2 LADN网络结构

本文设计的LADN网络结构如图2所示,由浅层特征提取模块、中间特征提取模块、分层特征融合模块和重建模块组成。

图2 LADN网络结构示意图

网络采用低分辨率图片ILR作为输入,先通过3×3卷积层提取浅层特征:

F0=HSF(ILR)=Conv(ILR)

(2)

其中,HSF代表浅层特征提取模块。然后采用RFDN的残差特征蒸馏块对输入图像的浅层特征做进一步提取,逐步细化提取的特征,得到中间特征Fi:

Fi=HRFDBi(Fi-1),i=1,2,…,N

(3)

式中,HRFDBi代表第i层的RFDB模块,Fi-1和Fi分别是第i个RFDB的输入、输出特征,N代表RFDB数量。在得到RFDB模块提取的层次特征后,将所有的层次特征融合,利用层间注意力模块对整体特征进行加权,得到层注意特征FL:

FL=HLAM(concatenate(F1,F2,…,FN))

(4)

式中,HLAM代表用于学习所有中间特征的层间注意力模块,将在后续的章节具体说明。在重建部分,通过元素求和将浅层特征、层注意特征和最后一块RFDB提取的特征进行整合,最后通过上采样模块得到粗化的SR。另外,本文还引入了ERB模块进一步恢复图像细节,从而获得更好的结果:

ISR,refined=HERB(ISR,coarse)=HERB(U↑(F0+FL+FN))

(5)

其中,ISR,coarse和ISR,refined分别是ERB模块的输入和输出,U↑代表亚像素卷积。本文采用L1损失函数,具体公式可以表达为:

(6)

其中,HLADN表示本文提出的网络模型,θ表示LADN可学习的参数,‖·‖1是L1范数,ILR和IHR分别是输入的LR图像和对应的真实HR图像。

2.1 层间注意力模块LAM

虽然目前广泛使用的密集连接[14]和跳接[15]能使浅层信息传递到更深层的网络,但是这些操作只是平等独立地对待各层模块提取到的信息,并没有利用到不同层信息之间的关联依赖性。本文认为,各层之间的信息相互关联,且每层信息与重建图像之间的关联性也互不相同,因此需要对中间特征的关联性及重要性进行重新学习,以合理地赋予中间特征不同的权重。由此,引入一种层间注意力模块(LAM)[16],通过获取不同深度特征之间的依赖关系,网络可以为不同深度的特征分配不同的权重,自动提升网络的特征表达能力。

LAM的结构如图3所示,该模块的输入是从N个残差特征蒸馏模块中提取的中间特征,维数为N×H×W×C,然后将特征组(Feature Group, FG)重构为维数是N×HWC的二维矩阵,应用矩阵乘法、相应的转置以及激活函数Softmax计算不同层之间的相关性:

(7)

其中,δ(·)和φ(·)分别代表Softmax和重构的操作,ωi,j代表第i个和第j个中间特征之间的相关指数。最后,用预测的相关矩阵乘以维数为N×HWC的输入特征组,得到新的特征组。将待输出的特征组重构为维数是N×H×W×C的矩阵并与输入特征相加,最终得到分配好权重的特征组,其加权值集中在含有更多信息量的中间特征上:

FGL=φ(ωi,j·φ(FG)i)+FGj

(8)

其中,ωi,j代表中间特征的相关矩阵,FGL代表已经分配好权重的特征组。

图3 LAM结构示意图

2.2 增强的重建块ERB

目前许多网络在重建部分往往只利用一层简单的上采样层来获得重建图片,这些方法只关注LR空间的信息,而缺乏在HR空间发掘更有用的信息。为了在重建部分充分利用LR空间和HR空间的特征,本文引入一种增强的重建块(ERB)[17],以此得到更加精细的SR。

如图4所示,ERB包含6个带有ReLU激活函数的3×3卷积层,逐步提取HR的基本空间特征。然后应用1×1卷积层将维数减少到3,最后使用残差连接将恢复的细节与粗略的结果合并,从而恢复出更好的SR。通过这种由粗到细的方式,在LR空间和HR空间中充分提取图像特征信息,获得了更丰富的空间特征,以重建更多的细节。

图4 ERB结构示意图

3 实验与分析

3.1 实验环境及参数设置

网络训练所用平台为Ubuntu18.04,所有的实验均在单张NVIDIA GeForce GTX 2080Ti显卡上完成训练和测试。在训练之前,对HR图像进行不同缩放因子的双三次下采样,生成对应的LR图像。模型参数使用Adam算法[18]优化,算法中参数设置为β1=0.9、β2=0.999、ε=10-8。在学习策略方面,将初始学习率设置为5×10-4,损失函数采用L1损失,在训练期间,每经过200 epochs,学习率降为原来的一半,经过1000 epochs后,使用L2损失函数,并将学习率设置为1×10-5进行微调。

3.2 数据集及评价标准

本文采用目前最流行的DIV2K数据集[19]来训练模型,其中包含1000幅分辨率为2K的HR图像以及对应的LR图像,将编号1~800的图像作为训练集、801~900的图像作为验证集。训练过程中先利用验证集验证模型的性能,再使用5个广泛使用的测试集:Set5[20]、Set14[21]、BSD100[22]、Urban100[23]、Manga109[24]测试模型的性能。

为了对模型性能进行客观评价,选择使用YCbCr色彩模式的Y通道上的峰值信噪比(Peak Signal to Noise Ratio, PSNR)[25]和结构相似性(Structural Similarity, SSIM)[26]作为评价指标,与其他算法进行比较,评价本文提出算法的性能。

3.3 实验结果

为了验证本文所提出的超分辨率改进算法的有效性,将LADN与其他超分辨率算法进行定量分析和主观视觉效果上的比较,对比的算法包括传统的双三次插值算法Bicubic[27]和基于深度学习的算法SRCNN[4]、CARN[9]、IDN[10]、IMDN[11]、RFDN[12],其中,SRCNN是经典的超分辨率模型,而CARN、IDN、IMDN、RFDN则是目前性能较为优越的轻量级超分辨率模型,这些算法具有代表性,且与本文算法有一定的相关性。

3.3.1 客观评价

实验结果如表1~表3所示,分别是缩放因子为×2、×3、×4时不同超分辨率算法在Set5、Set14、BSD100、Urban100和Manga109这5个测试集上的平均PSNR和SSIM值,其中最佳结果已经作出加粗标记。综合3张表的实验数据,可以发现在缩放因子为2时,本文算法在Set14数据集上未取得最好的PSNR,但是在其余数据集上均取得了最优结果,以BSD100测试集为例,与本文改进的算法RFDN对比可以得出,在缩放因子为2时,PSNR和SSIM分别提升0.04 dB和0.0007,缩放因子为3时PSNR和SSIM分别提升0.02 dB和0.0005,缩放因子为4时PSNR和SSIM分别提升0.03 dB和0.0005。因此,本文算法相比于其他算法在整体上有一定的提升。

表1 缩放因子为×2时各算法在测试集上的平均PSNR/SSIM

表2 缩放因子为×3时各算法在测试集上的平均PSNR/SSIM

表3 缩放因子为×4时各算法在测试集上的平均PSNR/SSIM

另外,本文通过参数量描述模型的大小,表4展示了各算法在不同缩放因子下的参数量。从表中数据可以看出,SRCNN因为只有3层卷积层,所以参数量非常小。而本文算法与其他算法相比有更小的参数量,由此可得本文算法使用更少的参数量获得了更好的重建效果,这减轻了计算机的计算负担,将更适合实际应用。

表4 不同缩放因子下各算法的参数量

3.3.2 主观视觉评价

传统的客观评价指标PSNR和SSIM并不能完全代表主观视觉评价,因此,本文对各算法还进行了可视化比较,具体做法是取测试集中的个别图片进行超分辨率重建,从肉眼感官上直接评价图像重建质量的好坏。图5是各算法对Set5中“butterfly”图片的4倍重建结果。

图5 不同算法重建“butterfly.png”的结果

从重建图中可见,传统的Bicubic算法效果较差,结果图存在显示模糊、振铃效应等问题;SRCNN对振铃效应有一定程度的改善,但还是存在边缘模糊的问题;目前主流的轻量级网络对视觉主观效果提升明显,特别是RFDN的重建图片纹理细节较为清晰,但在小部分区域仍然无法恢复到最佳水准;而本文提出的算法取得最令人满意的结果,根据方框重建图像可以看到,蝴蝶翅膀在高频部分恢复更为理想,整体图片看起来最清晰,说明LR空间和HR空间中的低频、高频特征得到了充分利用,本文算法能在有限的信息下有效恢复LR缺失的边缘细节。

3.3.3 消融实验分析

为了验证LAM模块和ERB模块的有效性,本文在RFDN的网络主体上,使用LAM模块和ERB模块进行不同的组合,设置缩放因子为3,在公共测试集上计算各组合的平均PSNR值。实验结果如表5所示,可以看出,在RFDN网络上加入LAM模块和ERB模块对重建图像的质量都有一定提升,其中LAM模块的提升更明显,说明层间特征的依赖关系包含更多的重建信息。

表5 缩放因子为×3时验证LAM、ERB模块的有效性

4 结束语

本文针对图像超分辨率算法缺乏探索重建过程中的中间特征和HR空间特征而导致其重建精度难以进一步提升的问题,提出了一种快速轻量级超分辨率网络LADN。该网络引入了层间注意力模块LAM,通过考虑中间层的相关性来学习层次特征的权重,使得模型在学习过程中更好地关注重建的相关特征。此外,还引入了一种简单却有效的ERB算法,用于在重建部分的上采样层之后集中提取HR的基本空间特征,以细化初步的重建结果。实验结果表明,本文方法在网络参数量和性能指标之间得到了更好的权衡,并且展现出更清晰的图像观感。

猜你喜欢
层间残差分辨率
基于双向GRU与残差拟合的车辆跟驰建模
沥青路面层间剪切性能研究
基于残差学习的自适应无人机目标跟踪算法
基于递归残差网络的图像超分辨率重建
EM算法的参数分辨率
原生VS最大那些混淆视听的“分辨率”概念
基于层间接触的钢桥面铺装力学分析
基于深度特征学习的图像超分辨率重建
一种改进的基于边缘加强超分辨率算法
结合多分辨率修正曲率配准的层间插值