APP下载

双路径反馈网络的图像超分辨重建算法①

2020-04-24廖晓东沈江红

计算机系统应用 2020年4期
关键词:高分辨率残差分辨率

陶 状,廖晓东,2,3,沈江红

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

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

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

1 前言

图像超分辨率重建是指从低分辨率图像中获得高分辨率图像.在硬件限制的条件下,往往无法获得高分辨率图像,这时通过软件的方式来获得就显得尤为重要.例如在医学图像中,由于成像设备的制约,产生的图像得不到令人满意的结果,而更换硬件的成本昂贵,通过软件算法生成高清图片帮助医生判断是一种很好的选择.在安防系统中拍摄的视频需要存储,由于高分辨率图像需要更多的存储空间,所以通常都是存储低分辨率图像,但是在需要时重新查看这些视频图像往往需要高清的图像来进行观察分析.在目标检测中,小目标检测更具挑战性,文献[1]验证了通过对小目标区域进行超分辨重建可以提高检测的性能.总体来说,高分辨率图像具有更好的视觉感受,具有更丰富的细节信息,有助于图像的理解、处理和分析.超分辨重建逐渐成为图像处理领域研究的热点问题.

图像超分辨率重建算法可以分为3 类,基于插值的方法、基于重建模型的方法、基于学习的方法.其中基于插值的方法计算速度很快,但是重建的高分辨图像的质量不好.基于重建模型的方法通常采用复杂的先验知识来限制可能的解空间,这种方法具有生成灵活和锐化细节的优势,但是当比例因子增加时,重建的性能迅速下降,并且速度通常很慢.基于学习的方法例如马尔科夫随机场、随机森林、稀疏编码等直接构建从低分辨率图像到高分辨率图像的映射关系,具有快速计算和杰出性能的优势,近年来基于深度学习的方法逐渐成为当前最具优势的算法.

由于大量可用的数据和高效计算硬件的开发,基于深度学习的图像超分辨率重建得到迅速的发展.第一次将深度学习用在图像超分辨率任务上的是Dong等人[2]提出的SRCNN,他们首先用插值法将低分辨率图像上采样到所需的高分辨率图,然后使用3 层卷积神经网络进行特征提取、转换和重建得到最后的高分辨率图像,使用均方差损失函数训练网络.SRCNN用插值法进行上采样带来的细节平滑效应往往导致输入图像的结构发生错误估计,此外在一开始进行上采样会大量增加后续操作的计算量.基于这些缺点,文献[3]提出一种叫做亚像素卷积层的高效上采样方法,他们首先利用卷积操作来增加特征图的通道数,然后将特征图的像素重新组合,达到上采样的目的,其方法如图1 所示.这种方法可以在网络的最后将低分辨特征图变换到高分辨率图,网络的主体在低分辨图上进行计算,从而大大减少了计算量加快了运行速度.

图1 亚像素卷积层示意图

从另一个方面考虑,SRCNN 只用了3 层卷积神经网络,然而在计算机视觉的其他任务中,更宽更深的网络拓扑结构通常会带来更优的结果.VDSR[4]是在超分辨率重建任务中第一个提出的非常深的模型.首先在结构上VDSR 使用的是20 层卷积神经网络,鉴于可以有效增加感受野的最小卷积核大小是3,所以在VDSR中所有的卷积核大小都设为3,为了有效训练深的网络,VDSR 使用相对较高的初始学习率来加速收敛并且使用了梯度裁剪技巧来防止梯度爆炸.此外VDSR中还提出了一个重要的观点,在低分辨率图像到高分辨率图像重建的过程中,高分辨率图像包含大量的低分辨率图像的信息,因此网络所需要学习的是低分辨率图像的高频部分,这可以通过残差操作来实现即将浅层特征图通过跳转连接和网络后端的抽象特征图相加.在之后深度学习的发展中,性能更好的残差网络和稠密网络先后被运用在图像超分辨率重建的任务中.

最近基于残差稠密网络[5]的图像超分辨率重建算法被提出.残差稠密模块如图2 所示,一方面它利用长跳转残差操作来避免在训练中梯度消失的问题,另一方面模块中所有的卷积层都被传递到后面所有的层中,这种特征重复利用的方式提高了网络的学习效率,最后所有特征图沿着通道方向拼接在一起,然后用1 ×1的卷积层压缩通道,自适应的选取有用特征.残差稠密网络在图像超分辨率中表现优异,本文所提的双路径反馈网络是对残差稠密网络的改进,进一步提高其性能.

图2 残差稠密模块示意图

由于低分辨率图像与重建的高分辨率图像高度相似,因此低分辨率图像信息对重建的高分辨率图像至关重要.残差稠密网络使用长跳转连接操作将低级特征传输到网络后端与高级特征进行融合,并没有直接利用输入的低分辨率图像.鉴于这种动机,本文所提的双路径反馈网络一条分支为残差稠密网络,另一条分支使用亚像素卷积算法直接对输入的低分辨率图像进行上采样到所需分辨率,然后两条分支信息融合并通过反馈网络循环训练.这种方法减少了网络学习的难度同时保证了重建图片的质量.

2 方法

本文所提的双路径反馈网络可分解成3 部分:首先是基于残差稠密网络的高频信息提取路径,其次是基于亚像素卷积上采样的低频信息提取路径,最后是将两条路径进行信息融合后的反馈网络.

2.1 残差稠密网络

残差稠密网络[5]由残差稠密模块堆叠组成,如图3中的上面一条分支所示.输入的是低分辨图像,首先进过一个卷积层将图像转换到特征域,第一个卷积层提取的是图像的浅层特征,然后将浅层特征输入到第二个卷积层进行特征变换,接着顺序的通过一系列稠密残差模块并且每个残差稠密模块输出的特征图都会被聚集在一起.假设输出的特征图为 Fx∈RB×C×H×W,其中B、C、H、W 分别表示批量数、通道数、特征图的高和宽,网络中总共堆K 个稠密残差模块,沿着通道方向将所有特征图拼接在一起得到 Fa∈RB×KC×H×W,具有通道数为KC 的特征图 Fa之后通过1 ×1的卷积层通道数被压缩为C,保持和浅层特征图的数据维度一致.

图3 双路径反馈网络的架构示意图

如图3 第一条分支所示,浅层特征除了被输入到之后的卷积层,还会通过长跳转连接操作被直接传输到网络的后端,这种残差学习保证了浅层信息的流通,在反向传播时不会由于网络加深而导致的梯度消失影响到浅层参数的更新.

2.2 亚像素卷积上采样路径

一幅图像从频率角度可以看成是高频部分与低频部分的叠加,高频表示的是图像变化剧烈的地方,如轮廓、线条,低频表示的是图像变化缓慢的地方.对于人的视觉系统来说,人脑对低频部分的变化更敏感,高频部分的变化往往感受不到.因此在图像超分辨率重建中,保证重建图像低频部分的质量是算法需要满足的基本前提,为此本文提出亚像素卷积路径为重建图像提供低频信息,高频部分则由另一条路径学习得到.

如图3 第二条分支所示,上采样模块直接作用在原始输入的低分辨率图像上,其过程如图4 所示:首先通过1 ×1的卷积扩大输入图像的通道数,然后通过像素值重新安排来扩大分辨率.假设输入的图像通道数为C,上采样因子为r,则通过1 ×1卷积需要将通道数扩张到 C ×r2,之后通过像素重排得到的高分辨率图像为C×rH×rW.

图4 上采样路径示意图

2.3 特征融合与反馈网络

所提方法整体架构的前半部分是双路径网络,一条路径为深度网络来学习高频信息,另一条路径为浅层网络提供低频信息,两条路径分别经过上采样模块后进行信息融合.融合的过程如下:高频路径的特征图为 Fh∈RB×G×H×W,低频路径的特征图为Fl∈RB×C×H×W,沿着通道方向将 Fh与 Fl拼接得到特征图Fhl∈RB×(G+C)×H×W,然后通过卷积核大小为1、通道数为G 的卷积层自适应的从高、低频信息中选择所需的特征.

为了进一步提高高分辨率图片重建的质量,将融合后的特征图输入到反馈网络来局部循环训练,反馈网络可以在不增加参数的情况下,扩大特征图的感受野,有利于增强网络的表示能力.反馈网络可表示如下:

2.4 损失函数

损失函数用来衡量网络预测的图像与真实图像之间的差异,然后通过梯度下降算法不断迭代优化使损失值越来越小,损失值收敛时网络预测的图像将非常接近真实图像.

本文采用L1损失函数来训练所提的方法,其可以用以下公式表示:

3 实验

3.1 数据集与训练过程

本文使用DIV2K 作为训练集.DIV2K 数据集包含1000 张高质量的图像,其中800 张为训练集,100 张为验证集,100 张为测试集.本文所提方法使用800 张训练图像训练,选取验证集中10 张图像作为训练过程中的评估,然后在基准数据Set5,Set14,B100,Urban100 上测试.

残差稠密网络的配置与文献[5]保持一致,反馈网络循环的次数设为2.所有实验在Windows 10 系统,Pycharm 开发工具,深度学习开源框架Pytorch 0.41,NVIDIA 1080ti GPU 上完成,一次完整训练大概需要1 天时间.

低分辨率图像是在高分辨率图像上通过双三次插值且降采样因子为4 计算得到的.在训练的过程中,批量大小为16,高分辨率图像被随机裁剪成大小为128 的图像块,使用随机水平和垂直翻转来进行数据增强.使用Adam 优化器更新参数,学习率设为0.0001,其余参数保持默认值,每个训练周期迭代1000 次,总共训练200 个周期.

3.2 性能评估

本文在数值上使用峰值信噪比(PSNR)[6]和结构相似度(SSIM)[7]来评估图像超分辨率重建的性能,PSNR 和SSIM 的值越大表明图像重建的质量越好.本文所提方法与双三次插值法、SRCNN、RDN 在数值上和视觉上相比较来说明所提方法的性能.

表1 显示了PSNR 和SSIM 在测试集上的结果,插值法和SRCNN 的重建的原图来自文献[8]的作者提供,RDN 重建的原图无法获得,本文根据网络提供的代码重新训练.在测量PSNR 和SSIM 的数值时,本文将原始RGB 图像转到Ycrcb 色彩空间,然后取Y 通道进行数值计算,PSNR 和SSIM 的计算公式采用scikitimage 提供的函数.

表1 PSNR 和SSIM 在测试集上的结果

观察表1 中的数值可以看出,本文算法在4 个测试集上PSNR 和SSIM 的值都高于其他3 种方法.双三次插值法由于固有因素重建的图像质量低于基于深度学习的方法.SRCNN 使用浅层的单一结构的卷积神经网络,在重建图像的质量上面低于深层的网络.本文方法基于RDN 的改进,在增加了一条直接上采样的路径和局部反馈网络之后,提供了重建图像更多的特征信息,使得的评价指标有小幅上涨,这说明了本文所提算法的有效性.

图5 至图8 分别展示了在数据集Set5,Set14,BSD100,Urban100 上的重建效果图.为了方便观察,图像的局部区域被放大显示在下半部分.通过观察放大部分的图像,在视觉上双三次插值法仅仅通过线性公式对图像进行4 倍上采样,所得图像局部放大后模糊不清.SRCNN 重建的图像效果虽然比双三次插值法好,但是由于只使用3 层网络,重建的结果仍然比较模糊.本文算法与RDN 相比,由于引入了更多了特征,重建的图像显得比较光滑,看上去更清晰.

图5 数据集Set5 中图像“butterfly”的重建结果展示图

图6 数据集Set14 中图像“barbara”的重建结果展示图

图7 数据集BSD100 中图像“119082”的重建结果展示图

图8 数据集Urban100 中图像“img096”的重建结果展示图

3.3 对比实验

本文通过一组对比实验来确定网络的反馈次数.图9 显示了实验结果对比图,横坐标为反馈次数,纵坐标为在验证集上的PSNR 值.随着反馈次数的增加,网络中的感受野增大,网络性能通常会提升.从图中可以看出当反馈次数为2 时所提方法在验证集上的PSNR值最大,所以本文设定反馈次数为2.当反馈次数大于2 时,由于缺少监督可能导致网络性能下降.

图9 不同反馈次数性能对比图

4 结论

本文提出一种基于双路径反馈网络的图像超分辨率算法,两条路径分别为深度网络和浅层网络,深度网络学习重建图像的高频信息,特别的浅层网络直接给重建图像提供低频信息,有利于训练前期网络稳定的优化迭代.此外模型中所采用的反馈网络利用局部循环训练进一步提高了图像重建的质量.最后本文在4 个基准数据集上通过数值和视觉两方面验证了所提方法的有效性.

猜你喜欢

高分辨率残差分辨率
基于残差-注意力和LSTM的心律失常心拍分类方法研究
高分辨率CT+人工智能在新型冠状病毒肺炎诊断与疗效评估中的应用研究
融合上下文的残差门卷积实体抽取
探讨高分辨率CT在肺部小结节诊断中的应用价值
基于残差学习的自适应无人机目标跟踪算法
好画质不局限于分辨率 探究爱普生4K PRO-UHD的真面目
基于深度卷积的残差三生网络研究与应用
基于异常区域感知的多时相高分辨率遥感图像配准
关于为“一带一路”提供高分辨率遥感星座的设想
ARM发布显示控制器新品重点强化对分辨率的支持