APP下载

基于稠密残差网络的图像超分辨率重建算法

2021-09-19满开亮汪友生刘继荣

图学学报 2021年4期
关键词:残差卷积特征

满开亮,汪友生,刘继荣

(北京工业大学信息学部,北京 100124)

图像超分辨率重建(super resolution,SR)问题,特别是单幅图像超分辨率重建(signal image super-resolution,SISR)问题,几十年来得到了越来越多的学者关注。SISR 的目标是分析单幅低分辨率图像(ILR)构造其对应的高分辨率图像(IHR),增加像素数目及高频信息,使图像具有清晰的边缘及有序的纹理,以展示更多的图像细节[1]。近年来,图像的重建技术在公共安防、医学诊疗、卫星遥感等领域都有着广泛地应用和重要的研究意义。

在图像处理的过程中,对于单幅ILR重建为IHR的方法主要分为:基于差值的方法、基于重建的方法和基于学习的方法[2]3 类。前2 类方法属于重建的传统方法,均为经典的数学模型方法,但随着放大因子的增大,其所能提供用于IHR重建的信息越来越少,这使得传统算法很难达到重建高频信息的目的。近年来,随着深度学习技术的飞速发展,基于深度学习的超分辨率网络模型得到了积极的探索,并在各种标准数据集上实现了更优的性能[3-4]。DONG 等[5]提出的超分辨率卷积神经网络(super-resolution convolutional neural network,SRCNN)仅用了3 层CNN 训练ILR和IHR之间的相互关联性,就获得了优于传统方法的效果[6]。开辟了深度学习在超分辨率重建领域应用的先河,但其存在着无法直接使用低清图像信息的不足。KIM 等[7]将残差学习引入到图像超分辨率重建中,提出极深超分辨率(very deep super-resolution,VDSR)模型,残差学习解决了深度学习梯度消失问题,使网络层数能够进一步加深,大大提高了网络学习效果,但其模型只是卷积层的简单堆叠,并未有效提取图像信息。LIM 等[8]移除残差模块中不必要的归一化层和激活函数层,提出增强深度残差(enhanced deep super-resolution,EDSR)网络结构,节省所需计算机内存空间。获得了同年NTIRE 国际超分辨率多个比赛的第一名,但是其无法有效利用浅层图像特征。ZHANG 等[9]利用稠密连接网络和残差网络相结合的稠密残差(residual dense net,RDN)模型,在保证模型深度的前提下对低级特征重复利用,还原图像缺失的高频图像信息,使重建图像更为逼真,但模型参数量巨大,不便于实际应用。YU 等[10]提出在激活函数层前使用线性低秩卷积获得 广泛特征的模型WDSR,取得了2018 年最先进的重建效果,但是该模型对于不同层级图像信息使用不足。ZHANG 等[11]提出神经纹理转移的方法(super-resolution by neural texture transfer,SRNTT),着重于图像细节的重建,但是牺牲了重建性能和效率。文献[12]采用多卷积核的交火模型(fire module)提出轻量型的重建算法(single image super-resolution using fire modules with asymmetric configuration,SRAC),削减参数量的同时保证了一定的重建质量,但是使用反卷积层作为上采样方法会导致重建图像产生棋盘效应。WANG 等[13]对网络深度与卷积核大小做了深入研究,使用扩张卷积的思想构建了DCNSR,获得了良好的重建效果,但是对于不同重建任务需要频繁调整超参数。

针对上述模型算法出现的参数量大,对不同层次图像信息使用不完全等问题与对重建性能和效率的综合考量,本文提出了基于稠密残差网络的图像SR 算法,该方法借鉴RDN 网络提出改进的RDN,设计了一种增强稠密残差神经网络(enhance residual dense network,ERDN),在激活函数层前扩大特征图数量来增加图像信息裁剪效率,减少每个卷积层保留的特征图数量。并且增加全局特征复用结构,设计了一种将模块每层特征提取到的图像信息在经过学习筛选后再次参与重建的结构,实现了对于浅层特征的多次利用。之后对模型训练参数进行约束,通过对于权重参数改写使网络模型对高学习率有较强鲁棒性,加速模型训练收敛。

1 基于稠密残差网络的超分辨率重建算法ERDN 网络结构

通过对SR 发展的研究,本文提出基于RDN 的图像SR模型ERDN。提出了一种含多种卷积核的宽CNN模块,在激活函数前扩大特征图数量强化提取图像信息效果;增加全局特征复用模块,通过对网络浅层信息的多次利用,优化重建图像效果;将上述输出导入像素洗牌层进行像素的拼接;并使用权重归一化方法,对权重参数在长度和方向上的解耦,通过对参数向量进行约束同时提高网络学习速率,来提升模型训练速度。ERDN 具体结构,如图1 所示。

图1 增强稠密残差网络结构 Fig.1 Enhance residual dense network structure

网络模型以卷积层开始,其为保证特征图数量与后续网络一致。所有神经网络均在原始图像基础上提取特征信息,在经过全局特征模块和数个RDN后对图像进行像素洗牌[14],将结果经像素级累加得到最终的重建图像。

1.1 改进稠密残差模块

目前大多数SR模型算法只采用3×3 卷积核提取图像特征,这就导致参数量较大,模型计算耗时长。而且最近的研究发现,在激活函数层(ReLu Layer)前使用较大的特征图数量有助于重建模型更好地学习图像特征。考虑以上因素,并充分研究稠密网络[15]和GoogLeNet 网络[16]结构后,本文改进RDN,设计了一种含多卷积核的ERDB模块,将网络中3×3 卷积核卷积后输入激活函数层的结构,替换成先由1×1 卷积核扩大特征图数量,经过激活函数层裁剪后再进行3×3 卷积核提取图像特征信息,具体结构如图2 所示。

图2 增强稠密残差模块结构 Fig.2 Enhance residual dense block structure

每个稠密残差模块包含6 个稠密残差层和一个卷积整理层。假设输入稠密残差模块S幅特征图。将其输入第一个稠密残差层,经过1×1 卷积核扩充特征至3S幅后输入激活函数层裁剪,再经过3×3卷积核使用通道相加(Concat)方法保留S/2 幅特征图加入总的输入当中。每经过1 个稠密残差层,特征图总数便会增加S/2 幅。最后将所得特征图输入卷积整理层完成残差运算。这种模块结构可以使浅层学习的信息得到保留并多次利用,并使输入输出之间共享一部分数据。加入1×1 卷积核取代部分3×3 卷积核和减小保留特征图数量2 种操作使ERDN 相较于同类型网络RDN 节省了约50%的模型参数量,且最终模型精度有所提升,见第2.2 节实验讨论。

每个卷积层的参数都使用权重归一化约束,使模型参数分布在一定范围内,使其适应更大地训练学习率,加快训练速度。

1.2 全局特征复用模块

本文发现通过将浅层卷积提取到的图像信息作为最后输出重建图像的一部分对于网络模型重建效果有所提升。本文将每一个RDN 提取到的图像信息进行模块筛选,将结果经过像素洗牌后再次参与模型重建的算法,其结构如图3 所示。

图3 以4 个RDN 为例,将模块结果进行通道维度相加得到较大数量的特征图信息,经过1×1 卷积核筛选出最优图像信息,再经像素洗牌扩大图像分辨率后作为最终重建结果的一部分输出。在网络模型深层提取低清图像特征的过程中,图像信息会因为卷积层和激活函数层的筛减而有所损耗。但通过这种方法,网络模型可以调用多个RDN(数值取决于模型具体选用模块数量)所提取到的图像信息用于重建图像,每个模块的图像特征在筛选后都可以直接作用于输出图像。因此该方法可以实现网络对不同网络深度所提取到的图像特征信息综合利用,能够使重建图像纹理更连续。

图3 全局特征复用模块结构 Fig.3 Global feature reuse module structure

1.3 权重归一化

2017 年NTIRE 国际竞赛冠军选手通过实验得出批量归一化不适用于SR 任务的结论,在之后的研究中学者们也基本放弃使用批量归一化来对SR任务进行优化[5-7]。所以本文引入权重归一化(weight normalization,WN)来加速模型的训练速度和精度。WN是一种通过重写深度学习网络的权重参数W的方式来加速深度学习网络参数收敛的方法。批量归一化由于计算成本原因只对于每一批数据进行均值和方差的计算,而不是整体数据,所以在进行梯度计算时会引入噪声。而WN 只对于模型权重进行参数改写,所以不会对数据进行操作而引入噪声,且不需要计算均值与方差,计算成本较小。

假设输出归一化结果为y,则进行WN 操作

其中,w是k 维权重向量;b为标量偏差项;x为输入特征的k 维向量。WN 使用式(2)对权重向量w进行参数重写,即

其中,v为k 维向量;g为标量;||v||为v的欧几里德范数。通过等式变形,可得到||v||=g,即权重改写与参数v无关。

本文对于同一网络模型ERDN 不同学习率与是否使用WN 进行了对照实验,如图4 所示。

图4 归一化与学习率对照试验 Fig.4 Comparison test of normalization and learning rate

从图中可以看出不使用WN 的模型收敛速度较慢,如果使用较大学习率还会导致模型训练极其不稳定,而使用WN 则可以很好适应大的学习率,并获得良好效果。所以WN 在权重的长度和方向上的解耦运算,能够加速深层神经网络的收敛,使得网络模型参数训练对于学习率有更强的鲁棒性,可以选择更大的学习率来加速网络训练。

2 实验结果及分析

本文实验环境:硬件设备CPU 为Intel Core i5-8600@3.10 GHz 六核;GPU:NVIDIA GeForce RTX 2080;内存:16 GB 软件配置;操作系统:64位Ubuntu 18.04 LTS;Python 3.7;CUDA Toolkit 10.0。

2.1 数据集

(1) 训练集。使用国际公开图像SR 数据集DIV2K[17],其中包括训练图像800 幅2 K 清晰度、评估图像100 幅、测试图像100 幅与对应2,3,4倍下采样低清图像,其适用于大多数实验场景。本文使用800 个DIV2K 训练图像进行训练,10 个验证图像在训练期间进行验证。

(2) 测试集。采用国内外公认的基准测试的数据集Set5(5 幅图像)、Set14(14 幅)、BSD100(100 幅)、Urban100(100 幅)和DIV2K(100 幅)对网络模型进行评价。本文训练后的模型将在上述数据集上与其他先进算法进行评估,其中DIV2K 数据集使用100个验证图像进行评估(测试高清图像未进行公开)。

(3) 评价指标选取。选择国际公认的客观评价指标均方误差(mean square error,MSE)、峰值信噪比(peak signal to noise ratio,PSNR)和结构相似性(structural similarity,SSIM)与主观重建效果展示,来衡量本文提出的ERDN 与多种国际先进算法的对比结果。

MSE,PSNR 和 SSIM 由式(3)~(5)计算得到

其中,M,N为图像的长和宽;fij和fʹij分别为原始图像与重建图像的像素值;L为最大灰度值255;l(f,fʹ)为亮度信息;c(f,fʹ)为对比度信息;s(f,fʹ)为结构信息。

(4) 训练具体参数选择。本算法使用ADAM 优化器[18]优化权重矩阵,其必要参数设置为β1=0.9,β2=0.999,є=10-8。对于不使用WN模型学习速率初始化为10-4,而使用WN模型设置为10-3。模型每经过8×104次迭代训练,减小学习率至原来的一半。从高清图像及其对应下采样低清图像中裁剪96×96 像素RGB 子图像块以每一批16 幅图像送入模型训练。本文提出的网络模型适用于任意大小图像,此裁剪操作仅为缩减模型训练时间。以下实验数据中PSNR 评价指标均在Y 通道下计算得出。

2.2 ERDN模型参数优化对比实验

本文通过上述3方面改进了RDN模型结构。并展示同类模型RDN 和本文提出的ERDN 网络在DIV2K 数据集×2 放大倍率上的图像SR 任务结果。为了确保公平,每种算法在不同的参数和预算下通过控制RDN模块的数量与层数来评估重建效果。结果见表1。

表1 参数优化实验 Table 1 Parameter optimization experiment

通过结果表明,本文提出的对于浅层图像信息的充分利用和引入对于模型权重进行改写的方法适用于SR 任务。ERDN 网络模型相比RDN模型参数量减少50%以上,模型精确度仍有所提升,且图像处理效率略有提升。

2.3 ERDN模型不同放大倍数对比实验

提升卷积网络模型最简单的方法就是增大网络参数量,提供更多参数来学习图像信息。而只有对参数量进行约束,才能够更为准确地评价模型质量。而且性能良好的重建模型应当在多种放大倍数下均获得较好效果。所以本小节对基准算法RDN,先进算法EDSR,WDSR 与本文提出的ERDN 算法进行不同放大倍数重建效果的比较,结果见表2。

表2 不同放大倍数实验 Table 2 Experiment between different magnification

从表2 可以看出,本文算法ERDN 在参数量小于其他算法的情况下,在×2,×3,×4 放大倍数实验中均获得良好效果。

2.4 ERDN模型重建效果对比实验

本文方法将与其他几种已有先进图像SR方法在多个国际公开数据集上进行重建效果实验,评估其重建性能。用于比较的方法分别是:①Bicubic:传统的像素差值方法;②SRCNN:3层卷积网络的图像SR方法;③RDN:使用RDN的重建方法;④EDSR:带有残差学习的深层图像SR 网络,NTIRE2017 冠军算法;⑤WDSR:在激活函数前使用更宽特征图的模型结构,NTIRE2018 冠军算法;⑥DCNSR:使用大感受野卷积核与较浅深度的网络模型。

表3 为多种SR方法在多个公开数据集上进行测试的结果,表中显示本文算法在各大数据集中明显优于传统SR方法,如Bicubic 等。对比其他SR网络方法,在大多数数据集上获得最优的PSNR 和SSIM,其本文所提出的模型参数量均小于RDN,EDSR 和WDSR 等方法。

表3 各重建模型性能对比 Table 3 Performance comparison of each SR model

图5 是Urban100 数据集编号为024 的图像在放大因子为4 的各方法重建结果。对左边原图像红框内部分放大结构,可以观测到本文方法对图像边缘重建效果较好;图6 是DIV2K 数据集0846 号图像的重建结果展示,从图中可以看到本文方法对建筑纹理信息在抗锯齿方面表现较好;图7 是BSD100数据集的第093 号图像重建结果,相比较于其他方法,本文所提出的ERDN模型对红框内鸟类翅膀部分像素恢复的更连续,且更接近原图像纹理。

图5 Img024(Urban100)各SR方法重建效果展示 Fig.5 Comparison of img024 (Urban100) SR reconstruction results

图6 0846(DIV2K) 各SR方法重建效果展示 Fig.6 Comparison of 0846(DIV2K) SR reconstruction results

图7 img_093(BSD100) 各SR方法重建效果展示 Fig.7 Comparison of img093 (BSD100) SR reconstruction results

通过对比实验,无论在客观评价指标还是主观的视觉对比,本文方法重建的高清图片效果优于其他模型算法,且模型参数量较少,训练效率较高。

3 结束语

本文基于RDN 的图像SR 算法。首先,针对RDN参数量大,训练复杂的不足,提出了一种含多种卷积核的宽卷积神经网络模块,通过替换卷积核和削减模型间传递特征图数量减少了网络模型参数总量,且使浅层学习的信息得到保留并多次利用。接着,探讨了全局特征复用方法对于图像特征多次利用的优点,该方法将模型不同深度卷积核提取到的图像特征综合利用,使最后重建出的图像边缘更为平滑。然后,比较了是否使用WN 对模型重建效果的影响,对网络模型参数值进行优化可以使模型更稳定,在使用较大学习率训练时,模型更易收敛。最后,在Set5,Set14,BSD100,Urban100 和DIV2K等国际公开数据集上进行图像重建实验,表明本文方法比现有方法在基准图像上有更好的重建性能,且模型参数量更少。

猜你喜欢

残差卷积特征
根据方程特征选解法
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
离散型随机变量的分布列与数字特征
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于残差学习的自适应无人机目标跟踪算法
卷积神经网络的分析与设计
基于深度卷积的残差三生网络研究与应用
从滤波器理解卷积
不忠诚的四个特征