APP下载

基于残差学习的图像超分辨率重构方法

2021-08-27陈啟超

计算机技术与发展 2021年8期
关键词:高分辨率残差卷积

张 敏,黄 刚,陈啟超

(南京邮电大学 计算机学院,江苏 南京 210046)

0 引 言

图像超分辨率(image super-resolution,SR)一直是底层视觉领域的研究热点,分辨率是评估图像质量的重要指标,图像分辨率越高,图像就具有越高的像素密度,意味着图像包含越丰富的细节信息。然而,在实际的图片采集过程中,受采集设备、拍摄环境等诸多客观因素的影响,获取到的图片往往无法满足实际需求。因此,提高图像分辨率,改善图像质量,成为人们所关注的热点问题。图像超分辨率重构方法[1-3]从算法的角度,以低成本手段将一幅或者多幅低分辨率图像转化为高分辨率图像,恢复图像细节,在卫星遥感、医学影像以及视频监控等领域有着重要的应用并取得了显著的成效。图像超分辨率主要分为两类,分别是单帧图像超分辨率(single image super-resolution,SISR)以及多帧图像超分辨率(multiple image super-resolution,MISR),文中主要讨论的是单帧图像超分辨率方法。

目前,图像超分辨率算法研究的三个主要方向分别为基于插值(interpolation based)的图像重建算法[4-5]、基于重构(reconstruction based)的图像重建算法[6]以及基于学习(learning based)的图像重建算法[7-9]。基于插值的方法最典型的有双三次插值法,利用邻近已知像素点的灰度值计算待插入像素点的值,简单高效,但重建的高分辨率图像细节丢失问题较为严重,往往达不到理想效果。基于重构的超分辨率重建算法,如Yang等人[6]提出的迭代反投影,在很大程度上依赖于先验条件,生成的图像过于平滑。基于学习的图像超分辨率重建算法是目前的研究热点,该方法通过训练样本学习低分辨率图像与高分辨率图像之间的映射关系,进而重建出高分辨率图像。典型的基于学习的方法主要有邻域嵌入算法、稀疏编码算法以及基于卷积神经网络的算法等。

随着海量数据的出现以及深度学习技术的发展,基于卷积神经网络的方法在图像处理领域取得了巨大成功,产生了重要的影响。2014年,Dong等人[10]首先将卷积神经网络引入图像超分辨率领域,开创性地提出SRCNN方法,以端到端的方式来学习低分辨率图像与高分辨率图像之间的映射关系,极大地简化了超分辨算法的工作流程。该算法以传统的稀疏编码与深度学习之间的关系为基础,将经双三次插值后的低分辨率图像作为输入,利用三个卷积层,将图像从低分辨率空间非线性映射到高分辨率空间,完成了图像的提取和特征表示、非线性映射以及图像重建过程,直接重建出高分辨率图像,实现了端到端的图像重建,其重建效果显著优于传统的超分辨率算法,证明了深度学习在图像超分辨率领域的卓越性能。之后,Dong等人[11]又提出FSRCNN对SRCNN加以改进,提出以低分辨率图像作为网络的输入进行训练,并在网络的最后通过反卷积层放大尺寸并重建出高分辨率图像。2016年,Kim等人[12]提出了一个20层的深度卷积神经网络模型VDSR对图像特征进行深度提取,并通过引入残差模型加快了网络的收敛速度,提高了模型的泛化能力。

基于对图像重建性能以及网络的训练时间角度的考虑,文中提出了一种基于深度残差网络的图像超分辨率重建方法。该方法以原始的低分辨率图像作为模型的输入,用较小的卷积核级联出深层卷积网络,以更好地提取图像的边缘信息。为加快网络收敛速度,避免梯度爆炸和梯度消失,引入残差学习,之后利用反卷积层[11,13]进行上采样,重建出目标尺寸的高分辨率图像。实验结果表明,该方法能够有效地提高特征信息的利用率,恢复图像细节,达到较好的图像重建效果。

1 相关工作

1.1 FSRCNN算法

SRCNN将原始的低分辨率图像经过双三次插值后,作为网络的输入进行训练,其计算成本影响了网络的实时性能和运算速度。在重建高分辨率图像时,由于SRCNN的网络层数相对较少,且在图像特征提取与表示、非线性映射、图像重建等三个模块分别使用了9×9、1×1以及5×5大小的卷积核,感受野相对较小,依赖于小图像区域的上下文,没有充分利用到上下文信息,导致重建出的图像精度不够,超分辨率性能有待进一步提升。

FSRCNN是对SRCNN的改进,该算法的网络结构在使用小型滤波器并加深网络的基础上,设计“漏斗”结构的卷积网络,在网络末端引入反卷积层,直接从原始的低分辨率图像学习到高分辨率图像的映射,省去了图像的预处理阶段;降低输入特征的维度;采用了较小尺寸的卷积核和更深层次的网络结构。

FSRCNN网络结构如图1所示。该网络由5个部分组成,分别用于特征提取、特征收缩、非线性映射、特征扩张以及反卷积重建,每个部分负责不同的任务。特征提取模块负责从低分辨率图像中提取多个特征块,并将每个特征块表示为高维度向量,这些高维向量组成一组特征图。特征收缩部分通过应用1×1的卷积核进行降维,减少网络的参数,降低计算复杂度。非线性映射模块非线性地将前一层的高维向量映射到另一个高维向量上。因低维度的特征带来的重建效果不是太好,因此特征扩张模块应用1×1的卷积核进行扩维,相当于收缩的逆过程。反卷积重建过程相当于卷积层的逆操作,将图像放大到目标大小,实现了图像的上采样。

图1 FSRCNN网络结构

FSRCNN在保证修复质量的前提下,提高了网络的运行速度,保证了图像重建的实时性。但是,该方法仍存在一定的局限性,一方面由于卷积层数相对较少,无法充分提取细节特征,另一方面,图像在经过卷积操作后,尺寸减小,边缘信息丢失,一定程度上降低了图像的重建质量。

1.2 VDSR算法

SRCNN和FSRCNN都是通过浅层网络学习低分辨率图像与高分辨率图像之间的映射关系以重建高分辨率图像,收敛速度相对较慢,训练时间长,图像的恢复质量有待提升。

为了改进上述问题,Kim等人提出深度卷积网络VDSR。该网络受用于ImageNet分类[14]的VGG-net的启发,提出了一种高度精确的单图像超分辨率方法,使用了非常深的卷积网络对图像进行超分辨率重构,其网络结构如图2所示。

图2 VDSR网络结构

在图像超分辨率重构任务中,网络的任务是通过学习低分辨率图像与高分辨率图像之间的映射关系恢复出高分辨率图像,低分辨率图像与高分辨率图像共享低频信息,用原始的低分辨率图像作为网络的输入有利于保留低频信息,重建出精度较高的高分辨率图像。该方法通过残差连接学习高分辨率图片与低分辨率图片中之间的高频残差,将插值预处理后的低分辨率图像作为输入并预测图像细节,通过在深度网络结构中级联小型滤波器增加图像的局部感受野,以高效利用大型图像区域的上下文信息;采用残差学习和可调节的梯度剪切来加快收敛速度,随着网络加深,重建精确度显著提高;另外,在每次进行卷积操作前进行零填充,使得卷积前后的特征图大小保持一致。该方法克服了SRCNN收敛速度慢以及上下文信息缺乏关联性等问题。实验结果表明,该方法无论在重建精度还是在重建速度方面都有较好的优势。

在SRCNN中,输入的精确副本必须经过所有层,直到到达输出层为止。由于具有许多权重层,因此需要消耗大量内存。Kim等考虑到低分辨率图像和高分辨率图像在很大程度上共享相同的信息,因此VDSR引入残差学习,对残差图像进行建模,即当输入和输出高度相关时,仅学习残差,并以更高的学习率进行训练,大大提升了网络的收敛速度。另外,该方法在网络结构中多次级联小型滤波器,相比大尺寸的滤波器而言,不仅拥有更少的参数,而且有效地利用了大图像区域的上下文信息,扩大感受野,使得重建精度显著提升。

2 文中方法

在FSRCNN和VDSR等方法的基础上,文中提出了一种基于残差学习的图像超分辨率重构方法。该方法以原始的低分辨率图像作为模型的输入,用较小的卷积核级联出深层卷积网络,首先通过一层卷积操作将图像特征非线性地映射为高维向量,提取图像的特征信息。为加快网络收敛速度,避免梯度爆炸和梯度消失,引入残差块,最后利用反卷积层进行上采样重建出目标尺寸的高分辨率图像。另外,为防止每次的卷积运算时特征图变小以及充分利用图像边缘信息,在每个卷积层之前进行零填充,使得输入特征与输出特征具有相同尺寸。方法的模型结构如图3所示。

图3 文中方法

文中方法堆叠了两个残差块,第一个残差块用于学习图像的浅层特征,第二个残差块用于恢复图像细节信息,最后通过反卷积层进行上采样,重建出最终的高分辨率图像。在卷积过程中使用零填充保证输出图像与输入图像尺寸相等,以减少图像的细节信息丢失。因池化层对卷积后的结果进行下采样,降低特征维度,用以简化卷积层的输出信息,导致细节信息丢失,而超分辨率算法的目标是增加图像的细节信息,故文中方法不使用池化层。

2.1 深度卷积网络

Simonyan等[14]指出使用一个较大的卷积核等价于连续使用几个较小的卷积核,且使用更深层次的小卷积核网络可以更好地提取图像中的特征信息。文中方法使用深度非线性映射直接对未经插值的原始低分辨率图像进行特征提取,每一层卷积层都由64个通道组成,卷积核大小为3×3。通过级联3×3的小卷积核,可以有效地增加局部感受野,充分利用大图像区域中的上下文信息,使得重构出的图像细节更加细腻。另外,在每次卷积操作之前需要对特征图像进行零填充,不仅可以确保卷积之后图像大小不变,还可以提升边缘预测的准确性。第l层的操作如公式(1)所示:

fl=φ(Wl*f(l-1)+bl)

(1)

其中,Wl和bl分别为第l层的网络权重和偏置,f(l-1)表示上一层的输出。

文中方法选用修正线性单元(ReLu)作为反卷积操作及每次卷积操作之后的激活函数[15],是目前应用最为广泛的激活函数。ReLu是一个分段函数,当输入为负数时,函数的输出为0;当输入为正数时,其输出为输入时的值。相比于其他类型的激活函数,一方面,ReLu作为激活函数计算量较小,可以加快网络的收敛速度,另一方面ReLu能在一定程度上避免梯度消失,具有更加出色的性能,其公式表示如下:

(2)

2.2 残差块

当网络深度增加后可以进行更加复杂的特征提取,模型可以取得较好的效果。但是,当传统的卷积网络达到一定的深度之后存在梯度消失与梯度爆炸[16]的现象;另一方面,随着深度的增加,网络退化会导致整体的性能下降。

为解决以上问题,He等人[17]提出残差学习,通过前馈卷积网络与跳跃连接构成残差块,大大提高了网络的性能,相较于传统卷积网络,残差网络收敛速度更快,损失更低,同时保证了输出特征的表达能力,其模型结构如图4所示。Kim等人将残差学习引入图像超分辨率领域,网络只需学习高分辨率图像与低分辨率图像之间的高频残差,提高了训练效率。

图4 原始残差块

传统残差块中批量正则化对卷积层的输出特征作正则化处理,导致信息部分丢失,同时由于批量正则化参数与卷积操作参数量相同,消耗大量内存。因此,Lim等人[18]改善了残差模块的使用,相对于传统的残差模块移除了批量正则化BN层,减少了网络参数,在很大程度上提高了网络的性能。因此文中方法使用改善后的残差块,残差块中只包含卷积层和修正线性单元ReLu,其结构如图5所示。

图5 改进的残差块

文中方法叠加了两个残差块,两个残差块都接收了原始低分辨率图像作为输入数据,共享低频信息,减少训练过程中的信息丢失,使得图像的细节信息更加丰富。

网络以原始的低分辨率图像作为输入图像经过第一个残差块学习到残差图像,该残差图像与低分辨率图像结合是第一个残差块的输出,也即为第二个残差块的输入。每一个残差块的输出如公式(3)所示:

xl+1=f+xl

(3)

其中,xl和xl+1分别表示残差块的输入向量和输出向量,函数f表示待学习的残差映射。

2.3 反卷积

VDSR借助于双三次插值对原始的低分辨率图像进行预处理,经双三次插值放大之后的图像作为输入,会使得网络计算复杂度显著增加,增加网络的训练难度,性能低且运算速度慢。

文中方法直接在网络的最后利用反卷积层对图像进行上采样。反卷积又叫做转置卷积,可以视为卷积的逆过程。

将低分辨率图像经过零填充与3×3的反卷积核作用得到上采样特征图,使得最终的输出图像大小与目标图像的大小相同,输入图像与输出图像尺寸关系如式(4)。反卷积层的添加,一方面省去了预处理阶段,另一方面降低了计算的复杂度。

(4)

其中,W1和H1分别表示输入图像的宽和高,W2和H2分别表示输出图像的宽和高,S表示卷积核移动的步长大小,F为卷积核的大小,P表示0填充。

2.4 损失函数

图像超分辨率重建的目标是通过训练得到低分辨率图像于高分辨率图像之间的映射函数,使得重建出的图像与原始的低分辨率图像之间的差值,也即损失函数的值越小越好。

文中使用均方误差(mean square error,MSE)作为损失函数来优化参数训练模型,如公式(5)所示。

(5)

其中,H和W分别表示图像的高和宽,X(i,j)和Y(i,j)分别表示重建图像与原图对应的像素点。

3 实验分析

3.1 数据集

DIV2K是用于图像恢复的高质量图像数据集,其中包含800张训练图像,100张验证图像以及100张测试图像。文中方法使用该数据集的800张训练图像作为训练数据集。采用Set5、Set14基准数据集作为测试数据集。

3.2 评价标准

单图像超分辨率方法的评价标准通常分为主观评价和客观评价。主观评价是由人眼直观地对原始图像与生成图像进行比较。为验证模型的质量,通常需要使用峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似性(structure similarity,SSIM)等客观评价标准来针对不同的模型评价生成图像的重建质量。

峰值信噪比通过计算对应像素点之间的误差衡量图像重建质量,其计算方法如公式(6):

(6)

其中,n表示每像素的比特数,一般为8,MSE是指原图像与生成图像之间的均方误差。PSNR的单位为dB,数值越大表示图像失真越小。

结构相似性对图像的相似性从亮度、对比度和结构三个角度进行综合衡量。假设x和y分别表示原始的高分辨率图像和恢复出的高分辨率图像,则计算方法如公式(7)所示:

SSIM(x,y)=l(x,y)*c(x,y)*s(x,y)

(7)

(8)

(9)

(10)

其中,l(x,y)表示亮度比较,c(x,y)表示对比度比较,s(x,y)表示结构比较;μx和μy分别表示两幅图像的像素均值,δx和δy表示两幅图像的标准差,δxy表示两幅图像中像素块的协方差,C1、C2和C3为常数,用于避免分母为0时带来的系统错误。SSIM取值范围为[0,1],结果越接近1表示失真越小;当结果为1时,则表示输入图像与输出图像完全相同。

3.3 结果分析

文中方法在不同重建倍数下进行训练,初始学习速率设置为10-4,动量参数设置为0.9,图像批处理大小设置为64。实验过程中通过Adam优化方法最小化MSE以更新参数。

为验证文中方法的性能,针对不同的单图像超分辨率重建的模型,在不同的数据集和重建倍数下进行实验对比和数据分析。

使用训练好的模型对低分辨率图像进行2倍、3倍和4倍的超分辨率重建,图6所示为放大2倍的情况下,各算法的重建效果对比。

图6 重建效果对比

对比SRCNN、FSRCNN、VDSR以及文中方法等算法在不同重建倍数下的峰值信噪比和结构相似性,测试结果分别如表1和表2所示。

表1 不同算法在不同重建倍数下的平均PNSR

表2 不同算法在不同重建倍数下的平均SSIM

从表中数据可以看出,文中算法在不同重建倍数的PNSR平均值和SSIM平均值相比其他算法均有所提升,实现了较好的超分辨率重建性能。

具体来说,在Set5数据集中,在放大倍数为2、3、4的情况下,文中方法较VDSR方法而言,PNSR分别提高了0.36 dB、0.22 dB、0.04 dB,SSIM分别提高了0.003 0、0.002 1、0.006 4;在Set14数据集中,在放大倍数为2、3、4的情况下,文中方法较VDSR方法而言,PNSR分别提高了0.19 dB、0.13 dB、0.08 dB,SSIM分别提高了0.003 6、0.002 0、0.003 4。由此可见,文中方法的重建效果整体上优于其他三种方法。

4 结束语

为提高图像重建精度,文中提出一种基于深度残差网络的图像超分辨率算法,该算法将原始的低分辨率图像作为输入数据,用较小的卷积核级联出深层卷积网络进行特征提取,为加快网络收敛速度,避免梯度爆炸和梯度消失,引入残差学习,之后利用反卷积层进行上采样重建出目标尺寸的高分辨率图像。实验结果表明,相比SRCNN、FSRCNN以及VDSR等方法,文中方法在主观视觉效果和客观评价指标上都有提升,实现了较好的图像重建效果。在之后的研究工作中,可以尝试将该方法应用于某一具体领域,如医学影像、卫星遥感等。但该网络的图像重建效果仍然有待提升,未来将进一步优化网络设计,以进一步提高超分辨率重建精度。

猜你喜欢

高分辨率残差卷积
基于全卷积神经网络的猪背膘厚快速准确测定
多级计分测验中基于残差统计量的被试拟合研究*
基于FPGA的卷积神经网络加速优化方法
基于GEE云平台与Sentinel数据的高分辨率水稻种植范围提取——以湖南省为例
基于残差-注意力和LSTM的心律失常心拍分类方法研究
高分辨率CT+人工智能在新型冠状病毒肺炎诊断与疗效评估中的应用研究
基于图像处理与卷积神经网络的零件识别
用于处理不努力作答的标准化残差系列方法和混合多层模型法的比较*
融合上下文的残差门卷积实体抽取
探讨高分辨率CT在肺部小结节诊断中的应用价值