林 静,黄玉清,李磊民
(西南科技大学信息工程学院,四川绵阳621010)
单幅图像超分辨率(Single Image Super-Resolution,SISR)重建[1]是使用单张模糊的低分辨率(Low-Resolution,LR)图像的信息重建出纹理细节丰富、清晰的高分辨率(High-Resolution,HR)图像,在军事遥感、医学成像和视频监测等领域应用广泛。超分辨率(Super-Resolution,SR)重建技术主要分为基于插值[2]、重建[3]以及学习[4]的三种方法。基于插值的方法需要图像具有连续灰度值,根据邻域像素点的灰度值估计得到待插点的灰度值。该方法操作简单、时间复杂度底,但在应用中获取的HR 图像信息有限,重建图像易产生锯齿或模糊现象。基于重建的方法通过配准等处理将同一场景下采集的多幅图像进行信息融合。该方法借助图像的先验知识进行重建,缓解了基于插值重建图像的锯齿现象,重建效果得到一定改善,但易受设备、场景等影响,当放大倍数过大时由于获取的先验知识较少,重建效果较差。基于学习的方法直接通过学习获得LR 图像与HR 图像之间的映射关系,通过该关系预测对应HR 图像的纹理细节,相较基于重建的方法改善了放大倍数的限制,能获得更好的HR图像质量。
随着卷积神经网络(Convolutional Neural Network,CNN)在SISR 重建任务中应用,重建图像质量得到了有效改善。Dong 等[5]提出了快速的卷积神经网络超分辨率(Fast Super-Resolution Convolutional Neural Network,FSRCNN)重建,使用反卷积层代替传统双三次插值进行图像上采样,并将卷积层数量增加至8 层获取图像信息。该方法无需差值预处理,提高了处理速度。Shi 等[6]提出了亚像素卷积神经网络超分辨率(Efficient Sub-Pixel Convolutional Neural network for image super-resolution,ESPCN)重建算法,首先对LR 图像块进行特征提取,再使用亚像素卷积对特征进行上采样,降低了重建过程的计算复杂度,提高了重建的效率。基于CNN 的重建算法[7-9]能获得较高感知评价指标,但是图像总体平滑,缺乏纹理细节。Goodfellow 等[10]首次提出包含生成器和判别器两部分的生成对抗网络(Generative Adversarial Network,GAN)框架,训练时生成器与判别器进行极大极小博弈。Ledig等[11]将GAN 应用SISR 重建任务,提出基于GAN 的单图像超分辨率网 络(photo-realistic single image Super-Resolution using Generative Adversarial Network,SRGAN),把图像重建视为图像生成任务。该方法将LR 图像输入生成器生成SR 图像,判别器对SR 图像和HR 图像进行区分,相较传统重建方法而言能够保留更多细节特征,但是重建图像具有大量伪像。在此基础上,Wang等[12]改进了SRGAN 的网络结构、对抗损失和感知损失三个部分,提出增强型超分辨率生成对抗网络(Enhanced Super-Resolution Generative Adversarial Network,ESRGAN),生成的重建图像不仅具有丰富的纹理细节,而且峰值信噪比(Peak Signal to Noise Ratio,PSNR)和结构相似性(Structural SIMilarity,SSIM)等评价指标较SRGAN明显提高。
传统 GAN 采用 JS(Jensen-Shannon)散度[13]度量 SR 图像分布与HR 图像分布之间的距离,在判别器训练最优时,优化生成器即最小化SR 图像与HR 图像分布的JS 散度。然而只有当SR 图像与HR 图像分布完全重叠时JS 散度才为0,其余情况均为固定常数log 2,此时生成器面临梯度消失[14-15]问题,因此传统GAN 存在生成器损失难收敛、网络训练不稳定的问题。并且基于GAN 的SISR 技术引入了对抗损失,将SR 任务视为图像生成,重建图像评价指标值较低。针对此问题,本文提 出 SDSRGAN (Spherical double Discriminator Super-Resolution Generative Adversarial Network)对球面上 HR 图像与SR图像特征[16]进行几何矩匹配,并利用数据的高阶统计信息,通过特征距离间的几何约束实现网络稳定训练,解决模式崩溃问题;同时增加特征判别器[17],充分利用图像高频特征,生成更多图像相关的结构纹理细节。
SDSRGAN 由一个生成器和两个判别器组成,判别器包含球面判别器与特征判别器。首先LR 图像经生成器进行特征提取以及图像上采样生成SR图像;然后将SR图像与HR图像分别输入球面判别器与特征判别器,判别图像来源。球面判别器将SR 图像与HR 图像的特征从一维空间映射至n维欧几里得空间,经过几何变换,最终映射到n 维球面空间,通过计算特征点与以球面北极为中心的几何矩,实现生成器与球面判别器极大极小博弈;特征判别器使用训练好的视觉几何组(Visual Geometry Group,VGG)网络提取SR 图像与HR 图像的高频特征,并判别高频特征来源。
生成网络包含特征提取模块与上采样模块,主要任务是将LR 图像重建至高清的、具有细节的SR 图像。ESRGAN 提出的生成网络结构在SISR 重建任务中具有很大优势,因此本文沿用该生成器网络结构。生成网络使用残余剩余块(Residual-in-Residual Dense Block,RRDB)基本单元,结合多层残差网络与密集跳跃连接,在残差网络中仅包含卷积层与泄露的修正线性单元(Leaky Rectified Linear Unit,LReLU),而未使用批量标准化(Batch Normalization,BN)层,提高了网络的泛化能力并且容易训练。采用亚像素卷积进行上采样,每次上采样实现2倍图像放大,执行两次实现4倍比例因子放大。生成器操作如下:
其中:ILR代表 LR 图像;ISR代表 SR 图像;Fc代表卷积,FRrdb代表RRDB基本块;Fup代表上采样。
球面判别网络在图像像素层面上判断输入图片来源于SR图像还是HR图像。首先将SR图像与HR图像作为输入经过9 个基本块特征提取,每个基本块包含卷积层、BN 层以及LReLU 激活层,其中卷积层采用3×3 尺寸,前8 个卷积核通道以每两个卷积呈2 的幂次增加,由64 个逐渐增加至512 个,每两个相同卷积核数量的步长分别为1、2,将图像特征从低维度逐渐映射至更高维度中。使用平均池化(Avg Pooling)去除冗余信息,通过全连接层将图像特征信息映射到一维空间中,最后将一维空间中的特征映射至欧几里得空间,通过几何变换将图像特征映射至球面。网络结构如图1所示。图1中:圆点“·”代表高清图像特征,三角形“▲”代表重建图像特征;平行四边形代表欧几里得空间,球面代表球面空间,虚线表示将欧几里得空间中的特征映射至球面;K 代表卷积核尺寸,N 代表卷积核数量,S代表步长。
将HR图像与SR图像在欧几里得空间中的特征映射至球面,球面的特征点间距离明显短于欧几里得空间中两特征点间距离。基于球面度量HR图像与SR图像特征点之间的几何约束公式如下:
其中:DS代表距离函数;θ表示特征点从欧几里得空间映射至球面;m、n代表欧几里得空间中图像特征。
在欧几里得空间中特征点间距离可以取到无穷远,但球面空间中两特征点之间距离最大仅能取到以球心为圆心的半圆弧长π(半径为单位长)。由于球面上特征点间几何矩受限并且有界,当引入该距离作为判别器目标函数时,作用于球面的全局约束可以使网络稳定训练。
图1 球面判别器Fig. 1 Spherical discriminator
基于GAN 的重建图像引入对抗损失能在一定程度上恢复图像纹理细节,但是生成的图像具有伪像,与真实图像纹理细节有一定差异。这是因为图像高频特征中包含了很多图像纹理相关信息,但并未得到充分利用,因此,重建图像纹理细节大多为高频噪声,而非与图像相关的纹理。
特征判别网络在图像高频特征层面上判断输入图像来源。首先将HR 图像和SR 图像经训练好的VGG 网络提取中间高频特征,并基于提取的特征判别特征图来源,使SR 图像高频特征接近于HR 图像高频特征。特征判别器结构如图2所示。
图2 特征判别器Fig. 2 Feature discriminator
1.4.1 球面生成对抗损失
本文采用球面上受限的几何矩度量HR图像分布与SR图像分布之间的距离,此时生成器期望最小化球面上SR图像特征点与北极点之间的几何矩距离,判别器期望最小化球面上的HR 图像特征与北极点之间的几何矩距离,同时最大化球面上的SR 图像特征与北极点之间的几何矩距离,以此区分SR图像与HR图像。生成器与球面判别器之间的极大极小博弈,促进生成器与判别器在像素层面上性能不断优化,最终SR 图像具有基于像素层面的HR 图像高频细节,如式(3)、(4):
其中:IHR代表高清图像;ISR代表重建图像;DS代表球面上两点间几何矩;N代表球面北极中心点;LSp_g代表球面生成损失;LSp_d代表球面对抗损失。
1.4.2 像素相似性损失
使用像素相似性损失限制SR图像在像素层面上接近HR图像,本文采用均方误差(Mean Squared Error,MSE)损失作为像素相似性损失,计算如下:
其中:W、H、C代表图像的宽度、高度与通道数;LMSE代表像素相似性损失。
1.4.3 特征相似性损失
使用像素相似性损失重建的图像能够提高PSNR 与SSIM评价指标,但重建图像过于平滑,图像细节不够逼真。将SR图像与HR 图像经过预先训练好的VGG 网络提取固定层特征图,计算二者图像特征图间的MSE 损失,约束SR 图像在特征层面上与HR图像具有相似性。
其中:Φ表示特征映射;Wm、Hm、Cm代表第m个特征映射的维数;LF_MSE代表特征相似性损失。
1.4.4 特征结构性损失
利用图像高频特征的结构分量,将SR 图像与HR 图像经过预先训练好的VGG 网络提取第m层的图像高频特征后,通过特征判别器在特征层面上判别图像来源。特征生成损失目标是将SR 图像特征判别为真,特征对抗损失目标是将SR 图像特征判别为假、将HR 图像特征判别为真。特征结构性损失对图像感知指标的提高具有显著效果,如式(7)、(8):
其中:LF_g代表特征生成损失;LF_d代表特征对抗损失。
特征生成损失与特征对抗损失之间的博弈使SR 图像与HR图像在特征结构层面上具有相似性,重建图像具有图像相关的高频纹理细节。
本文算法SDSRGAN 具体实现分为生成网络、球面判别网络以及特征判别网络三大模块。生成网络受ESRGAN 启发,采用RRDB 作为特征提取块可以提高网络的泛化能力;为了改善网络训练的稳定性,借鉴文献[16]中高维空间的几何矩匹配思想,通过在判别网络中引入基于球面空间的特征判别,实现网络快速收敛;受文献[17]启发,采用基于VGG 网络的特征提取,使重建图像具有丰富的纹理细节;采用Adam 优化器减少内存需求,提高计算效率。技术路线图如图3 所示。SDSRGAN算法流程如算法1所示。
首先,生成器对输入图像基于RRDB 模块的剩余残余块进行特征提取,并使用亚像素卷积得到4 倍放大的重建图像。然后,经球面判别器的特征提取并映射至高维球面空间,计算基于球面空间的特征间距离;同时图像通过训练好的VGG 网络提取高频特征。最后,通过Adam 优化器优化球面判别与特征判别损失,并更新判别器参数,通过双判别器的判别结果,优化生成损失并更新生成器参数。
算法1 SDSRGAN算法。
1) 初始化:Btachsize大小a,当前迭代次数z,完全迭代次数Z,已完成的批次数p,训练集图片总数与每批次图片数的比值P,球面与特征判别损失权重系数α = β = 0.5,生成损失权重系数γ = 10-2;
2) for z to Z do
3) for p in P do
大通县马铃薯产业是一个市场看好、增产增收、最实最快、适应性强、且分布较广的产业,也是一个任重而道远的工作,无论是走品牌建设之路,还是健全马铃薯生产技术推广体系建设都需要各级各部门的高度重视与共同努力,只有全方位,多渠道加大投入力度,改进马铃薯生产方式,加强脱毒种薯区域化、规模化、专业化、科学化生产,进一步扩展马铃薯营销市场,改善马铃薯贮运条件,大力发展马铃薯精深加工业,大通县马铃薯产业发展之路才能走得更快、更宽、更顺畅。
4) 从训练集中取出每批次样本数为a的样本{x1,x2,…,xa}作为输入数据集;
5) 将输入数据集输入生成器,得到重建图像
6) 使用式(4)计算球面对抗损失LSp_d,使用式(8)计算特征对抗损失LF_d;
7) 使用Adam优化器更新球面判别网络和特征判别网络的参数ω1,ω2:∇ω1,ω2[αLSp_d+ βLF_d];
8) 将输入数据{x1,x2,…,xa}输入生成器,得到重建图像,
9) 根据球面判别器与特征判别器的判别结果,依次使用式(3)、(5)、(6)、(7)计算球面生成损失LSp_g、像素相似性损失LMSE、特征相似性损失LF_MSE和特征生成损失LF_g;
10) 使用Adam优化器更新生成网络参数φ:
12) end for
图3 SDSRGAN算法流程Fig. 3 Flowchart of SDSRGAN algorithm
实验平台是Linux 下pytorch1.0 框架Python 语言,处理器为Intel Xeon CPU E5-2650 v3@ 2.30 GHz,内存是283 GB,显卡为GTX 1080Ti,显存为48 GB。
预训练和训练数据集均采用由800 张HR 图像组成的DIV2K 数据集,使用Matlab 中采样因子为4 的双三次内核对HR 图像进行下采样获得LR 图像。采用广泛使用的Set5、Set14、BSDS100和Urban100等基准数据集作为测试集。
生成器剩余残余基本块数量为16,训练分为预训练及训练两个阶段。预训练过程中,采用网络插值[12]方法消除重建过程中产生的噪声。预训练分为两步:首先采用像素相似性损失训练以PSNR 为导向的模型,在此基础上,采用球面生成损失训练基于GAN 的模型进行调优,其中初始学习率为2 ×10-4。训练过程中,生成器与判别器均使用Adam 优化器,超参数设置为β1= 0.9,β2 = 0.99。初始学习率为10-4,并在损失停止降低时减少1/10学习率,直至学习率降至10-6,训练周期为500 000。
客观评价:采用PSNR 和SSIM 作为客观评价指标。PSNR基于图像像素点间的误差反映图像相似性:PSNR 越大,图像相似性越高;PSNR越小,图像相似性越低。计算公式如下:
其中:IHR代表HR 图像;ISR代表 SR 图像;W、H、C 代表图像宽度、高度和通道数。
SSIM从亮度、对比度、结构三个方面进行对比,SSIM取值范围是[-1,1],SSIM 越接近1,两张图像结构越相似。计算公式如下:
其中:x 代表 SR 图像;y 代表 HR 图像;μ 代表均值,σx、σy代表x、y的方差;σxy代表x、y的协方差。
为了展示本文算法的重建效果以及损失收敛情况,与基于深度学习的重建方法以及传统重建算法进行对比。其中超分辨率残差网络(Super-Resolution Residual Network,SRResNet)在SISR 重建任务中具有良好的可移植性,可用于基于GAN 的图像超分辨率生成器部分;SRGAN 作为GAN 应用于图像重建的开山之作,关注人类视觉主观评价;ESRGAN作为SRGAN 的改进算法,对重建任务的理论研究以及实际应用具有突出贡献,并获得了ECCV2018 PRIM-SR 比赛冠军。为保证数据公平性,SDSRGAN 框架中生成器基本块数量与ESRGAN、SRGAN 以及 SRResNet 一致。图 4 为 SDSRGAN 与ESRGAN 算法在训练过程中生成器损失曲线变化;图5 为PSNR结果趋势对比,测试数据集为Set5。表1为分别在Set5、Set14、BSDS100以及Urban100数据集上对Bicubic、SRResNet、SRGAN、ESRGAN、SDSRGAN 几种算法进行重建的 PSNR 与SSIM 数据统计均值;图6、7 为重建图像中纹理细节丰富区域的细节对比和具体PSNR、SSIM,它们分别选取的是Set5 中“baby”图片和Urban100 中“img_047”图片。除图4 外,其余结果均采用图像Y通道的PSNR和SSIM。
由图4 可知,训练时SRGAN 和ESRGAN 生成器损失处于0 至0.1 范围内持续震荡,无明显收敛迹象。SDSRGAN 生成器损失仅在1× 105处相对不稳定,但总体损失值由0.15收敛至0~0.05 范围,最后趋于平缓。这说明SDSRGAN 的生成器损失收敛效果优于SRGAN和ESRGAN。
从图5 所示的PSNR 曲线趋势可知,随着迭代次数增加,SRGAN、ESRGAN、SDSRGAN 三种算法的PSNR 值增加,且增加趋势逐渐平缓。其中SDSRGAN 的PSNR 明显高于另外两种算法,说明SDSRGAN改善了基于GAN的重建图像PSNR。
由表1 的数据统计结果不难看出,与Bicubic、SRGAN、ESRGAN 相比,SDSRGAN 重建图像的 PSNR 和 SSIM 在几种基准数据集上均取得最优值,且SDSRGAN 比性能最好的ESRGAN 算法的 PSNR 高 0.80 dB、SSIM 高 0.031。这表明在基于 GAN 的重建算法中 SDSRGAN 算法的 PSNR、SSIM 评价指标表现优越。相较SRResNet 算法,虽然SDSRGAN 算法的评价指标较低,但是重建图像却更具纹理细节,具体参考图6、7的细节对比图。
图4 生成器损失曲线Fig. 4 Generator loss graph
图5 PSNR曲线Fig. 5 PSNR trend graph
表1 基准数据集上重建结果的PSNR和SSIM统计Tab. 1 Statistics of PSNR and SSIM of the reconstruction results on the benchmark dataset
图6 Set5数据集中“baby”图像细节对比Fig. 6 Comparison of“baby”image details in Set5 dataset
图7 Urban100数据集中“img_047”图像细节对比Fig. 7 Comparison of“img_047”image details in Urban100 dataset
对比几种重建图像的纹理细节,相较未引入GAN 的网络,FSRCNN 和SRResNet 重建图像具有较高的PSNR 和SSIM值,但是就人类视觉感官而言,缺乏纹理细节;并且图像结构越复杂,FSRCNN 和SRResNet 优势越小,对于简单图像“baby”,SRResNet、FSRCNN 分 别 比 SDSRGAN 的 PSNR 高1.19 dB、0.36 dB,SSIM 高 0.035、0.012。但对于复杂图像“img_047”,SRResNet 只比 SDSRGAN 的PSNR 高 0.2 dB、SSIM高 0.003,FSRCNN 反 而 比 SDSRGAN 的 PSNR 低 1.06 dB、SSIM 低 0.082。与基于 GAN 的重建算法相比,ESRGAN 和SDSRGAN 具有较丰富的纹理细节,但是SDSRGAN 重建了图像相关的纹理细节,ESRGAN 重建纹理细节丰富,但具有一定伪像。因此得出结论,SDSRGAN 具有较优的PSNR 和SSIM 评价指标,且具有与图像相关的逼真纹理细节。
本文提出了一个双判别器生成对抗网络进行图像端到端超分辨率重建。在判别网络中将图像特征映射至高维空间并提取高频特征,快速收敛了生成损失,避免了模式崩溃问题。实验结果表明,本文算法在不同数据集上重建性能具有普适性,提高了重建图像质量。本文算法针对固定比例因子的图像重建,网络灵活性较低,未来的研究重点是针对上采样模块进行改进,使网络适用于实际场景中任意比例因子的图像重建。