APP下载

基于深度学习的快速图像超分辨率方法

2020-06-23谢朋言

舰船电子对抗 2020年2期
关键词:分辨率卷积重构

谢朋言

(中国船舶重工集团公司第七二三研究所,江苏 扬州225101)

0 引 言

随着光电技术的发展,光电探测系统、光电监控系统等已经广泛应用于国民经济及军事等方面,如平安城市智能监控系统、无人机目标检测与识别系统等。然而实际情况下,受到目标运动、环境照度、光学畸变、图像混叠、动态模糊以及噪声等因素的影响,获取的图片往往分辨率较低,难以辨识。超分辨率重构技术可以在不增加硬件成本的基础上,通过软件处理的方式将观测到的低分辨率图像还原成高分辨率图像,显著提高模糊图像的清晰度,恢复被破坏的图片特征,因此受到了广泛的关注和研究。

早期的超分辨率重构大多基于图片插值的方法,如双三次插值法和兰索斯重采样法[1],这类方法得到的图片过于平滑,缺少细节。2010 年,Yang等[2]提出了基于稀疏表示的图像超分辨率重构方法,通过一个转换矩阵将图片表示为一个稀疏的向量,便于学习高低分辨率图片之间的映射关系。在稀疏表示的基础上,学者们陆续提出了基于图片自相似性的超分辨率重构方法[3-4]以及基于局部线性回归的超分辨率重构方法[5-8]。这些方法专注于学习高低分辨率图片特征之间的映射关系,而没有将特征提取和图片重构阶段纳入到整体的最优化过程中,且模型中有大量的参数需要人为设置,限制了超分辨率重构的效果。

近年来,深度学习广泛应用于计算机视觉和图像处理领域,卷积神经网络是深度学习的一种典型框架。2014年,Dong等[9]率先将卷积神经网络应用于超分辨率重构任务中,建立了一个输入为低分辨率图片、输出为高分辨率图片的端到端的网络模型,其重构效果相比之前基于稀疏表示的经典方法有了显著提高。在其基础之上,陆续提出了多种基于深度学习的超分辨率重构网络模型[10-14]。总的来说,基于深度学习的超分辨率网络的发展趋势为:(1)网络的层数越来越多,从最初的3层到目前普遍的20~30层;(2)网络结构上的改进,如跳跃连接和循环结构的使用;(3)与结构变化相对应的网络训练策略的更新。

尽管深层卷积神经网络在超分辨率重构上均取得了不错的效果,但这些网络的计算量较大,超分辨率重构的效率较低,难以满足实时超分辨率重构的需要(24 fps)。针对以上不足,本文提出了一种基于分段循环卷积网络的快速图像超分辨率重构模型。网络采用全局残差结构,学习目标是高低分辨率图片之差,即残差图片。不同于现有的超分辨率重构网络模型,采用原始尺寸的低分辨率图片作为输入,相比使用插值后的图片,其计算量仅为1/16(以4倍放大为例)。网络分为特征提取和图像重构两部分。在特征提取部分,采用循环卷积层提取输入图片的特征信息;使用跳跃连接将提取到的局部特征和全局特征串联作为图像重构部分的输入,便于充分提取输入图片的先验信息。在图像重构部分,采用并行的1×1的卷积结构以降低输入通道数,减少了特征降维过程中的信息丢失;最后利用亚像素卷积层重组特征,以得到相应的高分辨率图片。实验结果表明,提出的算法不仅在超分辨率重构性能上有了一定提高,而且大幅降低了深层卷积神经网络的计算量,在实验平台下将一张32×32像素的模糊图片转化为128×128像素的清晰图片所需时间为0.0 156 s(64 fps),满足实时重构的要求。

1 图像超分辨率重构模型建立

高、低分辨率图像间的转化过程可以由图像降质模型来描述。具体地,用X∈R N L来表示低分辨率图像,Y∈R N H来表示原始的高分辨率图像。这里X与Y都是以一维向量的形式来表示,N L与N H对应着各自图像所包含的像素总数,显然有N L<N H。关于高低分辨率图像间的联系可以用如下数学模型来表示:

式中:H:R N H→R N H表示模糊算子;S:R N H→R N L表示下采样算子;v表示附加的高斯白噪声,v~N(0,σ2I)。

在这里,假设模糊算法H对原始图像进行了低通滤波操作,模拟了如光学畸变、图像混叠、运动模糊等实际情况;下采样算子S对原始图像进行了指定倍数的下采样操作;v模拟了整个光电成像系统中可能出现的光子噪声、暗电流噪声等随机噪声。

基于深度学习的图像超分辨率重构的实质是建立一个从模糊图像到清晰图像的卷积神经网络,用f W表示,其中W={w1,w2,…,w n},表示待学习的参数。则对于输入的模糊图像x,经过卷积神经网络后的预测图像y︿可以表示为:

定义损失函数l(W),用于衡量预测图像y︿和作为基准的清晰图像y之间的差异。神经网络训练或者优化过程的实现是经过前向传播计算损失函数,根据损失函数的值反向推导,进行相关参数W的调整,使得损失函数最小化。损失函数的值越小,则预测图像越接近作为基准的清晰图像,即所构建的神经网络模型效果越好。整个过程如图1所示。综上,基于深度学习的图像超分辨率重构算法的设计流程如下:

(1)根据图片的特征以及实际需要,设计用于超分辨率重构的网络;

(2)定义训练过程中的损失函数,用于衡量预测图片和参照图片的相似度;

(3)根据设计的网络结构,确定合适的参数初始化方式以及参数更新方法;

图1 基于深度学习的超分辨率重构原理示意图

(4)对网络中的所有参数进行初始化赋值,将预处理后的训练图片输入网络,根据定义的损失函数和参数更新方法训练网络;

(5)将用于测试的模糊图片输入到训练好的网络中,对超分辨率重构性能进行评测。

2 基于分段循环网络的图像超分辨率重构算法

2.1 网络结构设计

网络的基本结构如图2 所示,其中Conv表示卷积操作,Bias表示偏置操作,使用PReLU[15]作为激活函数,粗线部分表示循环卷积层,d是循环的次数,concatenate 表示特征在通道数上的级联,reshape表示亚像素卷积层,每一个卷积层下方括号中第1个数字表示卷积核的大小,第2个数字表示卷积核的数量。采用全局残差结构[11],输入的低分辨率图片经过主体网络得到相应的残差图片,再将残差图片与原始图片双三次插值后的结果进行元素相加,得到最终的高分辨率预测图片。主体网络由两部分组成:特征提取网络和图像重构网络。特征提取网络采用循环卷积层来提取低分辨率图像的特征信息,并通过跳跃连接[12]将每一个卷积层提取到的局部特征级联起来,作为一个整体输入到图像重构网络。图像重构网络采用并行的1×1 的卷积层[16]对提取到的特征进行降维,并通过一个滤波器数量等于放大尺度平方的卷积层进行特征重组,最后通过亚像素卷积[10]得到相应的残差图片。特别地,使用原始尺寸的低分辨率图像作为主体网络的输入,直接在低分辨率图像空间提取特征信息。相比插值后的图片[9,1113],使用原始尺寸的图片大大降低了网络的计算量,提高了网络的运算速度。

图2 网络的基本结构

特征提取网络的作用是将输入的模糊图片转化为一系列的特征映射,便于后续的图像重构。为了提高超分辨率重构的质量,最直接的方式就是增加卷积网络的层数,以提高网络的有效接收域,使得网络在预测缺失的高频细节时有更多可以利用的纹理信息。然而一味地增加卷积层的数量,会增加参数量,易导致模型过拟合。因此引入循环卷积的思想,通过反复使用同一个卷积层,在不增加参数的前提下,提高网络的学习能力。针对循环卷积网络在训练过程中可能产生的梯度爆炸/消失问题,采用跳跃连接[12]将每一次循环卷积的结果直接传送到特征提取网络末端,并通过级联的方式进行整合,作为图像重构网络的输入。则级联后的特征通道数c可以表示为:

式中:d表示循环卷积的次数。

由于级联后的特征维数较高,直接对其重构的计算量较大。因此,在图像重构网络的前端加入1×1的卷积层以减少通道数。采用并行的网络结构[16],一路直接用64个1×1的卷积核进行特征降维;另一路先用32个1×1的卷积核进行降维,再用32个3×3的卷积核进一步提取深层信息,最后将两路的卷积结果进行级联,并传递到后续网络。相比传统的链式结构,并行结构可以提高网络的学习能力,同时降低网络的参数量和计算量。最后需要将高分辨率特征转化为指定大小的高分辨率图像。以4倍放大为例,先用16个1×1的卷积操作改变输入特征的通道数,再通过亚像素卷积操作[10],将特征中的元素按照特定位置,周期性插入到高分辨率图像中,以得到相应的高分辨率残差图像。

2.2 损失函数确定

式中:W为网络参数的集合;n为小批量训练的样本数。

为防止模型过拟合,在损失函数中加入基于L2范数的正则化项,正则化系数为10-4。最终的损失函数为:

2.3 参数初始化以及更新方式确定

参数初始化是高质量超分辨率重构网络设计中的重要环节,直接影响到网络模型的训练以及最终的重构效果。如果参数W的初始值太小,那么图像信号在网络传递的过程中逐渐缩小,难以产生作用;如果参数W的初始值太大,那么图像信号在网络传递的过程中会层层放大,导致网络的发散和失效。参数初始化的目的是让每一个卷积层的输入和输出都保持良好的高斯分布,便于网络模型的训练。

网络权重的初始化情况如下:所有的卷积参数均采用He初始化方法[15],所有的偏置以及PRe LU中的参数α都初始化为0。在训练阶段,对每个卷积层中PRe LU的输出进行p=0.8的dropout操作[17],以概率p将非线性激活函数的输出置0。在测试阶段,再将每一个卷积层的输出乘以(1-p)。损失函数的优化器选用Adam[18],初始学习速率为2×10-3,如果损失函数的值连续5个迭代周期没有减少,那么就将学习速率除以2。当学习速率低于2×10-5的时候,停止训练。实验所用的图形处理器(GPU)为GTX 1070,处理器为i7-7700,整个训练过程大约需要70 h。

3 实验与分析

3.1 数据集介绍

DIV2K 数据集[19]是目前图像重构领域广泛使用的标准数据集之一,它包含1 000张较高分辨率的清晰图片(2 000×2 000像素)。实验中为确定网络的最佳循环次数d,将其中的800张图片作为训练集,另200张图片作为确认集。对于d的不同取值,在同一个训练集上进行训练,并通过确认集评价其重构效果,以确定最佳循环次数。在比较不同方法的图像重构性能时,则采用以下标准数据集:Set5[20],Set14[21],B100[22]和Urban100[23](数字表示该数据集中的图片数量)。

训练阶段采用了数据增强的方式,以提高样本的丰富度。将训练集中的每一张图片分解为128×128像素的小图像块,每个图像块之间略有重叠,再对这些图像块进行90°、180°、270°的顺时针旋转以及水平镜像翻转。然后将数据增强后的图像块从RGB色彩空间转换到YCbCr色彩空间,因为颜色对于超分辨率重建的影响不大,所以后续的卷积操作和性能评估都是在亮度通道Y 上进行。对图像块进行高斯模糊滤波,得到相应的低分辨率图像块尺寸为32×32像素。由于采用的网络是全卷积网络,所以在显卡内存允许范围内,输入的图片可以为任意尺寸。

3.2 最佳循环次数d确定

本节通过实验确定最佳循环次数,分别比较循环次数d为1次(即普通卷积层)至15次时,网络超分辨率重构的性能。实验在确认集上进行,采用峰值信噪比(PSNR)作为评价指标:

式中:σPSNR单位是dB,σPSNR的值越大,超分辨率重构效果越好;eMS表示重建图像与参考图像的均方误差。

PSNR 实验结果如表1所示。

表1 不同循环次数下的超分辨率重构性能对比

实验结果表明,相比普通的卷积层(即循环次数为1),加入循环结构可以有效提高超分辨率重建的性能。刚开始随着循环次数的增加,测试集的平均峰值信噪比不断提高;当循环次数d=9时,在测试集上的峰值信噪比达到最大值,表明此时的超分辨率重构质量最好;继续增加循环的次数,则在测试集上的峰值信噪比急剧下降,原因可能是现有的参数初始化和更新方式并不能完全适应过于深层的网络结构。最终确定网络的循环次数d=9。

3.3 重构图像的质量评价

本节采用主客观评价相结合的方式,将提出的方法与主流的超分辨率重构方法进行比较,全面客观地反映出所提方法的性能。

在4倍放大率下进行重构图像的主观评价,部分测试结果如图3所示。相比输入的模糊图片以及简单双三次差值得到的图片,经过深度学习框架重构后的图片细节纹理更加突出。

图3 部分图片的重构结果

通过峰值信噪比(PSNR,单位dB)进行客观评价,将提出的算法与目前具有代表性的几个超分辨率 模 型(SRCNN[9]、ESPCN[10]、VDSR[11]、DRCN[12]、SRResNet[13])进行对比,在不同测试集下的结果如表2所示。

表2 提出的算法与其它超分辨率重构网络的对比

由于上述方法采用的软件和测试平台不同,故引入计算复杂度[24],用于比较超分辨率重构的效率。各方法的峰值信噪比均值以及计算复杂度关系如图4所示。

图4 提出的算法与其它超分辨率重构网络的对比

实验结果表明,提出的超分辨率重构网络在性能上明显优于SRCNN、ESPCN等浅层卷积网络,且在网络计算量方面远远低于VDSR、DRCN、SRResNet等深层卷积网络。在实验平台设备上将32×32像素的模糊图片转化为128×128像素的清晰图片,所需的平均时间为0.015 6 s(64fps),满足实时性的要求。

4 结束语

提出了一种快速图像超分辨率重构网络模型。模型采用原始尺寸的低分辨率图像作为输入,大幅减少了网络的整体计算量。通过对特征提取网络中循环卷积次数的最优化设计,在保证网络结构精简的前提下,提高了网络的超分辨率重构性能。实验结果表明,提出的模型在实验平台设备上将32×32像素的模糊图片转化为128×128像素的清晰图片,所需的平均时间为0.015 6 s(64 fps),满足实时性的要求。未来该技术有可能应用于雷达图像或者卫星遥感图像的重构及相关处理。

猜你喜欢

分辨率卷积重构
基于全卷积神经网络的猪背膘厚快速准确测定
“双减”能否重构教育生态?
长城叙事的重构
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
基于干扰重构和盲源分离的混合极化抗SMSP干扰
一种并行不对称空洞卷积模块①
我国科学家发明计算超分辨图像重建算法拓展荧光显微镜分辨率极限
用四维的理念重构当代诗歌
ARM发布显示控制器新品重点强化对分辨率的支持