张法正,杨娟,汪荣贵,薛丽霞
(合肥工业大学计算机与信息学院,合肥 230009)
单张图像超分辨率(Single Image Super-Resolution,SISR)重建将一个低分辨率(Low Resolution,LR)图像映射到一个高分辨率(High Resolution,HR)图像,已广泛应用于安保系统[1]、智能监控系统[2]、医学图像增强[3]等领域。由于一个特定的低分辨率图像可能对应多个高分辨率图像,因此SISR 是一个高度病态的过程。研究人员提出基于插值[4]、基于重构[5],以及基于学习[6-7]的SISR 方法,其中基于卷积神经网络(Convolutional Neural Network,CNN)的SISR 方法因其强大的表征能力而具有优异的重建性能。
深度学习已经成为计算机视觉领域的重要工具,通过构建端到端的卷积神经网络来学习低分辨率到高分辨率之间的映射关系。DONG 等将超分辨率重建任务和深度学习相结合,提出只包含3 层卷积层的超分辨率重建网络SRCNN[8],具有较优的重建效果。为提高网络模型的映射能力,KIM 等根据残差学习原理,提出更深的网络VDSR[9]和DRCN[10]。TAI 等在DRRN[11]中引入递归残差块,降低网络的训练难度并通过递归块减少网络参数。这些方法都是通过插值将低分辨率图像放大到与高分辨率图像相同的尺寸,进而提取特征,导致网络的训练时间延长。针对该问题,SHI 等提出ESPCN[12],在网络末端通过亚像素卷积将初始低分辨率图像放大到与高分辨率图像一致的尺寸。后续很多网络模型结合亚像素卷积的优点,重建效果都得到了一定程度的提升。LIM 等考虑到BN 层对超分辨率重建效果的影响,利用残差块堆叠出EDSR 网络[13],并去掉相应的BN层。ZHANG等在RCAN[14]中引入SE[15]模块,在每个残差块中加入SE 模块,使网络在传递信息的过程中不断被修正,从而提高模型的性能指标。为降低计算成本,在超分辨率重建任务中,轻量级和高效模型的构建越来越受到研究人员的关注。AHN 等在残差网络的基础上,结合级联机制通过局部和全局来集成多个层的特征,设计一个适用于移动场景的轻量级网络CARN[16],导致重建后的指标降低。之后,MUQEET 等提出MAFFSRN[17]并引入多注意力模块来提高性能。ZHAO 等在通道聚合网络(Path Aggregation Network,PAN)[18]中引入像素注意力,使得模型在加入较少参数量的同时提升重建指标。文献[19]设计一种基于蝴蝶结构的网络LatticeNet 以自适应组合残差块,取得了较优的重建效果。轻量级超分辨率重建网络能够平衡峰值信噪比(Peak Signal to Noise Ratio,PSNR)与参数量之间的关系。
本文提出一种轻量化动态自适应层叠网络(Dynamic Adaptive Cascade Network,DACN)。通过双路残差的学习方式提取图像的纹理细节并过滤冗余信息,增强信息交互性,获得更丰富的信息。通过纵向并行地共享双路残差块(Dual Residual Block,DRB)中的部分卷积参数,利用可学习参数调整共享卷积的权重,在减少参数量的同时,使得卷积参数更加契合原始特征与目标特征的非线性映射关系,提高网络对纹理细节的提取性能。
DACN 的架构如图1 所示。DACN由N个动态自适应层叠模块(Dynamic Adaptive Cascade Block,DACB)通过残差连接相连构成,并通过一个全局跳跃连接保留原始特征,将不同的卷积块串接后加上1×1 卷积层,获得中高频信息,从而改善图像重建效果。DACB由M个DRB和M-1 个动态自适应模块(Dynamic Adaptive Block,DAB)层叠组成。
图1 动态自适应层叠网络结构Fig.1 Structure of dynamic adaptive cascade network
DACN 主要由N个DACB 通过残差连接方式级联组成,低分辨率图像先通过3×3 的卷积提取浅层特征,令x表示网络的输入,浅层特征的计算过程如式(1)所示:
其中:fs表示3×3 的卷积操作。通过DACB 提取图像的深层特征,深层特征的计算过程如式(2)所示:
1.1.1 动态自适应层叠模块
动态自适应层叠模块目的是有效地提取重要的纹理细节,同时过滤掉无用的特征。动态自适应层叠模块主要包括DRB 和DAB。
根据残差网络的思想,DACB 选择以层叠的方式将DRB 和DAB 联合,通过每次的叠加使得初始特征与更新后的特征进行交互,增强网络的非线性映射能力。DACB 每次通过DAB 的特征增强后,将1×1卷积层作为过渡层,以便后续更有效地提取特征。令DACB 的输入为F0,DACB 的信息流传递如式(5)~式(7)所示:
1)双路残差块,采用双路并行的方式提取特征。本文考虑到加入过多的普通卷积使得参数量显著提升,DRB 的上路通过深度可分离卷积提取低频特征。相比对应的卷积,深度可分离卷积不仅具有较多的计算量以及较少的参数量,同时能更好地进行维度变化。假设DRB 的输入为x,DRB 的上路信息传递如式(8)所示:
其中:μ表示LReLU 激活函数;fdw表示深度可分离卷积。通过一个像素注意力来修改特征权重,将像素注意力生成的三维矩阵作为注意力特征。像素注意力通过1×1 卷积层和Sigmoid 函数得到注意力图,然后将注意图与输入特征相乘,如式(9)所示:
其中:σ表示Sigmoid 激活函数;f1表示1×1卷积。DRB 的下路由两个残差块组成,主要目的是通过串行方式提取高频特征,得到丰富的纹理信息,如式(10)所示:
其中:fr表示下路两个残差块。最后将低频特征和高频特征合并,如式(11)所示:
其中:y表示DRB 的输出,通过这种学习方式使得DRB 在提取高频特征的同时保留一些必需的低频信息。
2)动态自适应模块,通常情况下,网络越深参数量越多,可学习到的内容也就越多,最终得到的结果也会更理想。而轻量化网络因其参数量较少,通常对模型的设计要求较高,需要充分且合理地利用卷积核来提取丰富的特征。因此,本文基于动态卷积核[20]的思想,设计动态自适应模块,并与双路残差块联合工作,在网络参数量减少的同时进一步增强特征的提取能力。动态自适应模块结构如图2 所示,利用注意力机制得到每个卷积核所需要的权重,该注意力机制与通道注意力类似,不同点在于最后通过Softmax 函数将权重值控制在0 和1 之间,且权重值总和为1。
图2 动态自适应模块结构Fig.2 Structure of dynamic adaptive block
动态自适应模块的注意力机制以非线性方式叠加卷积核,使得模型的表征能力得到显著提升。利用上层DRB 的下路4 个卷积核和2 个新的卷积核作为动态卷积核的子卷积,每个卷积核与权重值相乘再相加,使得模块在提取特征时可以自适应地选择卷积核的参数。DRB 中的下路卷积核通过串行方式来逐步提取特征,此时卷积核已经有了“横向”提取特征的特征参数,经过DAB 的并行处理,使得原本拥有“横向”特征参数的卷积核学习到“纵向”的特征参数,有效地提升了卷积核的利用率。由于动态自适应模块的输入是DAB 的输出与初始特征的加和,因此在DRB 中引入两个新的卷积核作为子卷积核,以动态校准获取到的特征,在参数量小幅增加的同时使得模块具有指导DAB 共享卷积块的作用。假设x为DAB 的输入特征,首先通过全局平均池化对x进行压缩操作,得到通道级的全局特征,如式(12)所示:
然后对全局特征进行Excitation 操作,通过2 个全连接层学习各个通道间的关系,第1 个对得到的全局描述特征进行压缩降维,第2 个再将其恢复成原始维度。Excitation 操作过程如式(13)所示:
其中:σ表示Softmax 函数;v1、v2表示2 个全连接层;w1,w2,…,w6表示经Softmax 后得到的权重结果,且w1+w2+…+w6=1。利用双路残差块中的下路共享卷积核和2 个新的卷积核与权重相乘,如式(14)所示:
1.1.2 重建模块
本文考虑到普通的上采样会引入一些无用信息,影响重建效果,采用亚像素卷积将图像上采样至目标尺寸,再通过一个3×3 卷积对重建结果进行微调。假设Ff为深层特征,将其与浅层特征F0相加并送入到重建模块得到最终结果。重建模块信息流如式(15)所示:
其中:y表示最终生成的SR 图像;φ表示重建模块,包括亚像素卷积和3×3 的卷积操作。
本文考虑到L1 损失函数的收敛速度比L2 快,选择L1 函数作为损失函数,如式(16)所示:
其中:N表示训练集中图像的总数;θ表示需要优化求解的模型参数集和表示第i个低分辨率图像和高分辨率图像;H表示本文所提出的DACN。
在训练阶段,本文使用DIV2K 数据集,该数据集是广泛应用于超分辨率重建的训练集。图像通过水平随机翻转和旋转90°、180°、270°进行数据增强。在测试阶段,本文使用Set5[21]、Set14[22]、BSD100[23]、Manga109[24]基准数据集,为了与之前的工作保持一致,在YCbCr 颜色空间的Y 通道上使用PSNR 和结构相似性(SSIM)来评价SR 结果。
在本文提出的DACN 网络中,未说明的卷积核大小都是3×3。DACN 包括3 个DACB,每个DACB包含3 个双路残差块。LIM 和WANG 等提出BN 不仅消耗大量的计算资源,而且在超分辨率重建任务中会限制网络参数的自由变化范围,因此模型未采用BN层。本文模型使用ADAM优化器进行训练,其中β1=0.9,β2=0.999,є=10-8。学习率初始化为1×10-4,每经过200 轮学习率下降1/2。因此,本文模型在训练过程中将batch-size 设置为8。DACN 模型用Pytorch 框架来实现,并在NVIDIA 2080Ti GPU上进行训练。
为验证模块的有效性,本文对动态自适应层叠网络进行消融实验。在Set5、Set14、BSD100 数据集上,当放大因子为4 时,不同模型的PSNR 对比如表1所示,ORB 表示单路残差模块。
2.2.1 双路残差模块的有效性
现有网络利用残差块提取图像特征,忽略了深度可分离卷积可以大幅减少模型参数量的能力。从表1 可以看出:当模型仅利用ORB 进行学习时,即表中的DACN+ORB,其在Set5 数据集上的PSNR 为32.14 dB;当模型利用DRB 进行学习时,在Set5 数据集上DACN+DRB 模型的PSNR 为32.22 dB,同时参数量相比DACN+DRB 模型仅增加1×105左右,说明提出的DRB 在增加少量参数的同时可以充分挖掘图像的细节特征,增强网络的重建能力。
2.2.2 动态自适应模块的有效性
DACN+DAB 为加入动态卷积核的网络模型,即动态卷积核的子卷积没有共享DRB 的下路卷积,在Set5 数据集上的PSNR 指标提升到32.27 dB。由此可以看出:动态自适应模块利用可学习参数调整卷积的权重,使得卷积参数更加契合原始特征与目标特征的非线性映射关系,增强网络对纹理细节的提取性能,同时,参数量也会大幅增加。因此,本文提出的动态自适应层叠网络结合DRB 中的共享卷积,利用卷积核减少参数的同时,使得DRB 中的卷积可以学习到不同角度的细节特征,有效地提升了网络的重建性能。
在Set5 数据集上,当放大因子为4 时,参数N对PSNR、参数量、计算量的影响如图3 所示。从图3 可以看出,PSNR 最初随着参数N的增加上升幅度较大,当参数N=4 时,上升幅度逐渐减慢,当参数N≥4时,参数N的增加所带来的参数量和计算量都会大幅增多,不符合轻量化标准,并且PSNR 变化不大。为了使得模型性能与重建质量实现最佳平衡,DACN 选择参数N=3,即包含3 个DACB。
图3 参数N 对峰值信噪比、参数量、计算量的影响Fig.3 Influence of parameter N on PSNR,parameter quanitity and calculation quanitity
在Set5 数据集上,当放大因子为4 时,不同网络的PSNR 与参数量、计算量之间的关系如图4 所示,圆形标注的是其他网络,正方形标注的是本文DACN 网络。DACN 在参数量和计算量较小的情况下,PSNR 指标较大,在性能与质量上达到了平衡。
图4 不同网络的参数量、计算量与峰值信噪比的关系Fig.4 Relationship between PSNR and parameters quanitity,calculation quanitity of different networks
本文将DACN 与其他超分辨率重建网络进行对比,包括SRCNN、VDSR、LapSRN[25]、MemNet[26]、CARN、PAN、RFDN[27]。所有网络分别在放大因子为2、3、4 的情况下进行评估。本文均使用峰值信噪比(PSNR)和结构相似性(SSIM)作为指标。表2 所示为不同超分辨率网络模型在不同放大因子下峰值信噪比与结构相似性对比。加粗的数据为重建效果最优的数据,加下划线的数据为次优。从表2 可以看出,本文提出的DACN 在基准数据集上的重建效果较优,参数量也较为理想。
表2 不同网络的峰值信噪比与结构相似性对比Table 2 Peak signal to noise ratio and structural similarity comparison among different networks
当放大因子为4 时,在Urban100 和BSD100 数据集上,不同网络的可视化结果对比如图5 所示。从图5 可以看出,本文网络DACN 在恢复图像纹理细节上有较大优势。对于重构Urban100 数据集中图像时,虽然PAN 和RFDN 在一定程度上恢复了部分纹理信息,但生成的部分线条有不同程度的弯曲。相比CARN、PAN、RFDN 等网络,本文所提的DACN网络恢复的图案线条更加符合原图的纹理。
图5 不同网络的可视化结果对比Fig.5 Visualization results comparison among different networks
本文提出基于动态自适应层叠模块的轻量化网络,在双路残差块中利用深度可分离卷积减少参数量,同时引入像素注意力机制使网络精确地提取图像细节信息,将双路残差块的一部分卷积参数与动态自适应模块共享,不仅从不同角度提取特征,还可以根据不同的输入以自学习的方式自动调整卷积核的参数,有效提升重建图像的质量。实验结果表明,相比VDSR、CARN、PAN 等网络,本文网络具有较优的图像重建性能且参数量较少,在可视化图像中生成的纹理更接近原始图像的纹理线条。后续考虑将剪枝算法融入到动态自适应层叠网络中,进一步减少网络参数量,提高图像重建能力。