基于改进上采样技术的图像超分辨率重建①

2022-05-10 12:12廖晓东李俊珠陈清俊
计算机系统应用 2022年3期
关键词:插值残差分辨率

雷 帅,廖晓东,2,3,潘 浩,李俊珠,陈清俊

1(福建师范大学 光电与信息工程学院,福州 350007)

2(福建师范大学 医学光电科学与技术教育部重点实验室和福建省光子技术重点实验室,福州 350007)

3(福建师范大学 福建省先进光电传感与智能信息应用工程技术研究中心,福州 350007)

1 引言

图像超分辨率重建技术一般可分为两种,一种是利用多张低分辨率图像合成一张高分辨率图像,另一种就是本文所研究的从单张低分辨率图像获取高分辨率图像[1,2].该技术是指使用软件或硬件方法从获取到的具有较少细节的低分辨率图像中重建具有大量细节的对应的高分辨率图像.该方法目前被用于老照片修复,视频监视[3],卫星图像遥感[4],医学图像[5,6]等领域.为了追求更好的图像和视频质量,近年来,越来越多的人们开始关注和使用超分辨率技术[7].

在这些方法中,它们大致可以分为3 类:基于插值,基于重构和基于学习.基于插值的方法最早被提出,计算速度很快但插值后的高分辨图像的细节很差,适用于对质量要求不高的场景;基于重建模型的方法提高了重建质量,但因其通常采用复杂的先验知识来限制可能的解空间,导致速度变慢.随着大规模视觉识别挑战赛(ILSVRC)等比赛的举办,各种基于卷积神经网络的模型如雨后春笋般蓬勃发展.鉴于CNN 具有较强的特征提取和表达能力,人们开始尝试将卷积神经网络应用在图像超分辨率重建任务上,因此图像重建也取得了重大突破并不断发展.各种基于深度学习的网络模型的发展大致可分为以下两个主要方向:一种是以PSNR、SSIM 等评价指标最大化为优化目标,可以较好地重建低频信息,是早期诸如SRCNN 模型[8]所代表的网络.另一种是以减少感知损失为目标,而不只是关注硬性指标,以SRGAN 网络[9]为代表.两种不同方向的算法所对应的应用领域也不同.

对于图像超分辨率重建任务,特征图的上采样操作对于图像的恢复至关重要,不同的上采样操作可能会直接影响重建图像的质量.因此,本文基于内容感知上采样重建图像,重建后的图像的每个像素都是由特定的卷积核和内容特征图中的相应位置生成的,并且通过特征图自适应地获得特定卷积核.经过实验证明,我们的方法显著地提高了重建图像的效果.

2 相关工作

2.1 基于深度学习的图像超分辨率技术现状

卷积神经网络虽然很早就问世,但直到2014年SRCNN[8]的作者首次尝试将卷积神经网络用在超分辨率重建上,成为超分网络模型的开山之作,并为后来的图像超分辨率技术的发展提供了思路.分析其网络结构十分简单,仅使用了3 个卷积层就分别实现了图像块的提取和特征表示,特征的非线性映射和最终的超分辨率图像重建功能,而且网络可以自动学习端到端的映射.但由于网络的卷积层过少,导致捕获特征的感受野受限,以及需要在网络之外将图像进行预处理即通过双三次插值到欲放大的尺寸,Dong 等人提出了改进后的超分网络FSRCNN[10],在网络末端使用反卷积(deconvolution)来放大图像尺寸,这样可以在网络中直接训练原始的低分辨率图片而不需要进行额外的操作,同时网络可以共享映射层的参数,这样通过调整最后的反卷积层,就可以实现不同的上采样倍率的切换.由于反卷积是通过补0 来实现图像尺寸放大的,势必会影响到重建效果.而且随着神经网络层数的增加,网络性能却出现下降.He 等人在2016年提出残差网络ResNet[11],有效解决了网络层数加深时,模型因梯度消散而难以训练的问题,将网络扩展到152 层,残差网络也成为现在应用最广泛的技术.同年出现的VDSR[12]就将这种残差结构应用到超分任务中,一举将超分辨率重建神经网络扩展到了20 层,使得网络获取更大的感受野,同时由于使用了残差结构,减少了参数,大大加快了网络的收敛速度.密集网络DenseNet[13]采用跳跃连接使得每层输入都取决于之前所有层的输出,网络可以利用不同卷积层的特征信息,受此启发,SRDenseNet[14]将密集网络应用在超分辨率重建上,将所有深度层的特征全部连接起来,并使用1×1的卷积层来减少特征数量,取得不错效果.2018年提出的RDN[15]将残差结构和密集连接相结合,作者在网络中连续堆叠多个残差稠密块RDB (residual dense block),提出了稠密残差的网络结构,充分利用网络中各个层的特征,并在网络末端实现特征融合,使得重建效果非常接近真实图像.目前人们将目光聚焦于特征图通道,将注意力机制引入到了超分任务中[16],具有代表性的网络如残差通道注意网络RCAN[17]和注意力机制残差超分网络SRRAM[18],网络可以自适应学习不同通道的权重,充分利用通道资源.对于以优化感知损失为目标的网络,它们不以PSNR为评判网络性能的导向,而使重建后的图像恢复高频信息和纹理细节,更加符合人类认知.SRGAN[9]首次将生成对抗网络GAN[19]用在了超分辨率图像重建任务上,其损失函数包括内容损失(content loss)和对抗损失(adversarial loss),利用生成网络和鉴别网络互相博弈来提高恢复出的图片的真实感,使重建后的图像更符合现实世界人眼观察到的内容,而不是刻意追求相似性指标.最后是基于改进后的ESRGAN[20],将SRGAN 生成网络中的RB 模块换成了RRDB (residual in residual dense block),同时去掉了归一化层,优化了网络性能,得到更加自然和真实的图像.

2.2 上采样技术

(1)插值法

传统的基于插值的上采样技术一般包括最近邻插值,双线性插值和双三次插值.最近邻插值是指利用最相邻位置的像素点来重建待插值位置的像素,而与其他位置像素无关,此方法虽然速度最快,但效果最差.双线性插值指用相邻的4 个像素点先横向进行线性插值,再在竖向上进行插值,效果比最近邻插值好.双三次插值指像素点是利用矩形框16 个采样点加权平均得到的,即先对一个轴进行3 次插值,再对另一个轴进行3 次插值.此方法速度最慢,但重建后的图片效果相对最好.

(2)转置卷积

转置卷积先对低分辨率图像进行补0,再通过卷积获得输出,从而得到放大尺寸的图像.神经网络可以学习转置卷积的参数,在超分任务中得到了广泛的应用.但是这种方法很容易导致在不同轴上的不均匀重叠,从而导致出现“棋盘效应”,损害重建性能.

(3)亚像素卷积

亚像素的核心思想是通过网络的卷积层后得到大量的特征图通道,然后将这些通道重新排列平铺得到预定尺寸的图像.由于亚像素卷积可以获得全局特征,因此网络可以利用更多的上下文信息来还原更逼真的细节.但亚像素卷积也有缺点,由于特征不是均匀分布的,在提取的不同块的边界可能会出现伪影现象,导致输出不平滑的结果.

3 基于内容感知上采样技术网络

3.1 骨干网络结构

对于骨干网络,我们使用残差密集模块堆叠的稠密残差网络,并以该模块为基准来验证我们的内容感知上采样方法的有效性.图1上部分是RDN 网络[15]体系结构的示意图.该网络结构中的前两个卷积层将图像域转换成特征域,并通过跳跃连接的方式将提取到的浅层特征传递到网络的末端,从而促进了浅层特征信息和深层特征融合.上采样层在网络末端用于重建图像,从图中可以看到,除了卷积层和上采样层外,网络的主体由若干堆叠的RDB 模块组成用于提取局部特征.每个RDB 模块的输出不仅充当下一个RDB 模块的输入,而且还同时将结果传递到网络的末端进行特征融合.从图1下部分可看到RDB 模块主要由卷积层和ReLU 激活函数组成,RDB 模块的设计是从ResNet[11]和DenseNet[13]结合推出的,并将卷积后生成的特征图传输到每个后续层,每个RDB 模块最后都有一个卷积层来减少通道数,由于每个卷积层有不同的感受野,就可以充分利用所有层的特征信息来重建图像.缝合是特征融合的一种方式,此方法对于加快网络融合速度很有用,最后的跳跃连接的特征融合是通过逐像素相加实现的,这种残差学习可以帮助解决梯度消失问题并显著减少计算量.

图1 本文网络结构和RDB 模块示意图

3.2 基于内容感知的上采样层

对于图像超分辨率重建,上采样操作是至关重要的一步,因此,在本文中,我们摒弃常用的亚像素卷积上采样而使用内容感知上采样层来重建图像,以探索重建性能提高的可能性.图2是内容感知上采样层的示意图.如该图所示,内容感知上采样层通常分为两部分,第一部分即该图的上半部分,该部分的目的是为每个像素生成特定的卷积核.主要步骤如下:首先,使用1×1卷积将给定的特征图通道C压缩为C',其目的是减少计算量.然后,将获得的特征图反馈送到子像素卷积层进行特征重新排列.最后,使用激励函数Softmax对上一步中的卷积核进行归一化.假设给定特征图的形状为RC×H×W,其中C、H、W分别表示通道数、特征图的高和宽,则最终生成的卷积核形状为,其中km代表每个像素的特定卷积核的大小,并用 σ表示超分辨率的放大倍数.第二部分是图形的下半部分,首先通过最近邻插值方法将给定的特征图扩展到指定的放大倍数,以获得扩展后的特征图,然后从第一部分沿每个位置分别获得特定的卷积核频道已扩展为km×km的大小.最后,目标位置以扩展的特征图为中心,然后将内积与卷积核进行卷积.在此过程中,其大小与卷积内核一致,并且不同的通道共享相同的权重.然后,我们可以获得最终的所需像素值.该网络最终由RDN的主干架构和内容感知的上采样层组成.

图2 基于内容感知上采样模块的示意图

3.3 损失函数

在神经网络中,损失函数主要用来衡量通过网络重建的图像与真实高分图像之间的差距,然后通过梯度下降算法不断迭代更新来减小函数损失数值,当损失值收敛时说明网络重建后的图像的真实值将逼近原始图像.常见的损失函数有L1,L2 等.本文选择将L1损失函数放在输出层中以降低损失函数值为目标来更新参数,以下公式为其表达式:

其中,H,W,C分别表示图像的高度、宽度和通道数.

4 实验验证及结果分析

4.1 重建性能评价指标

图像超分辨率的重建效果的评估指标在本领域内通常用峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似度(structural similarity,SSIM)来表示,要想提高重建图像的质量使其更加接近原始高分图像,PSNR和SSIM的值就需要越高越好.

(1)PSNR

均方误差定义为:给定一个大小为m×n的原始图像K和重建后的高分图像I,则均方误差MSE为:

利用MSE得到峰值信噪比定义为:

其中,MAX为图片可能的最大像素值,如果每个像素都用8 位二进制来表示,那么其值就是28-1=255.一般来说,如果像素的二进制数用B位来表示,那么MAX=2B-1.PSNR的单位是dB,其值越大说明失真越少,重建效果越好.由于PSNR的评价标准和人眼观测到的实际图像机制不同,导致可能有的图像PSNR 值很大,但是人眼评价相似度却不高.

(2)SSIM

SSIM从亮度l、对比c、和结构s三个维度对两幅图像的相似度进行综合比较,

SSIM的取值范围是[0,1],取值越大说明重建图片和原图相似度越高.由于图片尺寸一般比较大,在实际中,我们通常会对图片进行分块,然后分别计算每块的SSIM,最后取平均值作为结构相似度度量.假设图像分为N块,则平均结构相似性MSSIM为:

4.2 数据集及训练过程

现在的神经网络训练十分依赖数据集,在本文中,选择DIV2K 作为我们的训练数据集.DIV2K 数据集包含1 000 张高质量图像,其中800 张作为训练集,100 张作为验证集,100张作为测试集.图像超分任务一般使用成对的超分和低分图像来训练网络.在网络中首先通过双三次插值降低图像分辨率,再将低分辨率图像作为输入送入网络中进行训练,在训练过程中,放大倍数分别设置为2 倍、3 倍和4 倍.验证在不同放大倍数下,网络的性能表现.

同时,我们分别在基准数据集Set5,Set14,B100,Urban100 进行测试.关于RDN 网络的配置,每个RDB模块中设有3 个卷积层,每个模块最后的输出通道数为16,我们总共在整个网络中使用10 个RDB 模块,除了网络末端的卷积层和每个RDB 模块最后使用的是1×1卷积核外,其他剩余的卷积层统一使用3×3的小卷积核.

这次所有实验均在Windows 10 操作系统和PyTorch框架上完成.使用英伟达1080Ti GPU 进行训练.在训练过程中,批处理大小设为16,网络输入设为大小为32的图像块.使用随机的水平和垂直翻转来进行数据扩充,可以增加训练数据量,并提高网络模型的泛化能力.在网络的末端,我们使用Adam 优化器来更新参数,学习率设置为10-3,其余参数保持为默认值.在整个过程中,记一次正向传播和反向梯度更新为一次训练过程,我们一共迭代训练了200 次.

4.3 结果分析

通过与双三次插值方法SRCNN[8]和RDN[15]进行数值和视觉比较,来验证我们方法的性能表现.表1显示了4 种方法在不同放大倍数下的测试结果,在测量PSNR和SSIM的值时,我们将色彩空间从RGB 域转换为Ycrcb 域,然后在Y 通道中进行计算.从表1中可以看到,在PSNR和SSIM方面,与其他3 种方法相比,本文算法在基准数据集上具有更高的数值.分析其原因,由于固有因素的限制,双三次插值方法的图像重建质量低于基于深度学习的方法.SRCNN 使用了一个基于浅层结构的单一卷积神经网络,其重建图像的质量低于深层网络.本文提出的方法使用内容感知上采样层,相比于RDN 优化了网络,其余结构保持不变.从表1测试数据来看,评估指标都增加了,这说明了该算法的有效性.图3显示了我们的方法与RDN 网络在不同比例(×2,×3,×4)之间的收敛性比较.从该图中的第一张和第二张可以看出,我们的方法在×2和×3的放大倍数下PSNR的振荡曲线更小,并且显示出更好的稳定性.当放大倍数是×4 时,我们所提出的方法在多次迭代过程中的PSNR值始终高于RDN,优势显而易见.图4是实际图像重建效果,为了便于观察,将图像的局部区域放大.可以看到我们方法重建的图像不仅分辨率更高,并且图像的纹理细节更加丰富,显示出了较好的效果.

表1 不同方法在放大倍数分别为2 倍、3 倍及4 倍下的PSNR和SSIM 值

图3 本文方法与RDN 在不同放大倍数下PSNR的收敛曲线对比

5 结论与展望

在本文中,对于超分辨率图像的重建,我们提出了一种基于内容感知上采样的图像超分辨率算法,该算法为重建图像的每个像素自适应生成特定的卷积核,使得从而明显改善了重建图像的分辨率.通过对4 个基准测试数据集进行视觉比较,数值比较和收敛图比较,可以发现本文提出的方法比基准方法RDN具有更好的结果.实际上,我们的方法还有很大的提升空间.我们小组研究下一步的主要方向是如何将超分辨率重建方法与更深入,更有效的网络结构结合起来,从而恢复出高频纹理细节信息,使重建图像更加自然.

猜你喜欢
插值残差分辨率
基于生成对抗网络的无监督图像超分辨率算法
基于残差-注意力和LSTM的心律失常心拍分类方法研究
滑动式Lagrange与Chebyshev插值方法对BDS精密星历内插及其精度分析
基于双向GRU与残差拟合的车辆跟驰建模
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
基于pade逼近的重心有理混合插值新方法
不同空间特征下插值精度及变化规律研究
ARM发布显示控制器新品重点强化对分辨率的支持
基于混合并行的Kriging插值算法研究