APP下载

深度生成式对抗网络的超分辨率图像修复与重建

2021-11-16李云红朱耀麟苏雪平谢蓉蓉

西安工程大学学报 2021年5期
关键词:损失样本函数

李云红,穆 兴,朱耀麟,汤 汶,苏雪平,谢蓉蓉

(西安工程大学 电子信息学院,陕西 西安 710048)

0 引 言

图像修复指的是利用图像修复算法将图像破损或残缺区域补全或填充。目前主流的图像修复算法以深度学习算法[1]为主,包括基于连贯语义注意的图像修复方法[2]、基于前景感知的图像修复方法[3]、基于卷积自编码的图像修复方法[4]、基于循环神经网络的图像修复方法[5]。生成式对抗网络(generative adversarial networks,GAN)[6]作为生成网络通过数据样本和弱标签的联合概率分布能充分挖掘深层网络的表达能力,但是该网络训练不稳定容易产生梯度消失或模型崩溃,使修复图像模糊不清晰。GULRAJANI等提出改进的瓦瑟斯坦生成式对抗网络(wasserstein generative adversarial networks,WGAN)[7],利用惩罚梯度构造损失函数,增加了样本生成的多样性,但其优化难度大,对于小样本数据集,修复图像容易产生模糊现象。DOSOVITSKIY等通过解码器网络反向表达深度卷积网络的特征信息对图像细节进行重建和修复[8],对图像大面积缺失纹理生成精度不高。文献[9]提出自变分编码器(variationl auto-encoder,VAE),通过学习数据生成分布,随机抽取样本并对随机样本进行解码,生成具有高斯似然分布的图像,一定程度上提高了图像的局部真实性,但是生成的部分图像仍然存在语义不连贯问题。YU等提出一种基于深度生成模型的方法[10],该方法利用上下文信息生成图像缺失区域的轮廓结构,对结构简单的图像修复效果较好,而对大面积缺失、纹理结构复杂的图像容易产生视觉上的不连续,对非纹理图像其补全区域会产生扭曲或模糊纹理现象。ZHANG等提出一种基于渐进生成网络的语义修复方法[11],该方法利用端到端的渐进生成网络结合语义信息,能对图像小空洞的缺失进行准确定位,修复效果能达到视觉感知的一致性。ZHENG等提出一种基于多元化路径的图像修复方法[12],该方法利用图像真实边缘得到缺失部分的先验分布和重构路径概率分布重建原始图像,但修复得到的图像结构相似度较差,达不到与原图相匹配的图像物理结构。

针对以上图像修复方法中存在的图像大面积缺失、修复精度差、分辨率低等问题,提出一种深度生成式对抗网络的超分辨图像修复与重建方法,该方法能准确的建立修复图像低分辨率(low resolution,LR)和高分辨(high resolution,HR)函数之间的映射关系,同时结合图像空间特征的变换、边缘生成信息,填补图像缺少精细细节的区域,实现图像超分辨率[13]修复与重建。

1 生成式对抗网络模型

GAN受到博弈论中2人零和博弈的启发,将生成器和判别器2个网络模块的训练视为2人的互相对抗博弈,生成器用于生成数据,判别器用于判别数据的真假。生成式对抗网络结构如图1所示。

图1 生成式对抗网络结构图Fig.1 Schematic diagram of generative adversarial network

图1中,整个GAN网络主要由生成器G(θ|z)和判别器D(x,θ)组成,其中:z为随机噪声(一般符合均匀分布或高斯分布);x为真实数据;θ为生成数据。生成器和判别器均为深层网络结构,两者交替迭代训练直到达到一个纳什均衡[14],此时意味着生成器生成的数据足以以假乱真,与真实数据高度相似。

生成式对抗网络的目标函数可表示为

Ez~pz(z)[lb(1-D(G(θ|z)))]

(1)

式中:x~pd(x)为真实数据x服从真实图像的概率分布pd(x);z~pz(z)为随机噪声z服从的正态分布;E()为数学期望。

目标函数可得到最优解,使数据的训练过程快速收敛。设生成器的分布为pg(x),尽可能使pg(x)收敛到生成数据的高斯分布(或均匀分布),交替训练生成器和判别器时,最终,生成器能估测出样本数据分布,在最优解的情况下,生成器G(θ|z)的最优解为生成数据的分布与真实数据分布一致,即

pd(x)=pg(x)

(2)

(3)

当GAN网络模型已达到纳什均衡,此时生成模型G(θ|z)刻画了训练数据的分布,判别器D(x,θ)的准确率为0.5,生成样本数据符合要求。

2 深度生成式对抗网络

DSRGAN网络利用文献[15]模型的训练优势,避免训练时出现梯度爆炸、梯度消失、模型崩溃的情况,平衡生成器和判别器的迭代更新,提升图像样本数据生成的多样性和视觉质量[16],利用随机梯度下降的算法训练DSRGAN网络,能够确保训练的稳定使该模型具有文献[15]模型的收敛性和均衡性。结合超分辨率重建[17-18],构建新的生成器和判别器并利用损失函数确立LR像素和HR像素之间的映射关系,准确定位待修复像素信息,实现图像LR到HR修复的逼真效果。

2.1 生成器

DenseNet具有跳跃连接特性,有助于梯度的反向传播,加快了训练过程,生成器采用改进的DenseNet[19-20]结构,能增强模型性能和减少迭代计算的复杂度,如图2所示。

图2 生成器网络结构Fig.2 Generator network structure

图2中,与传统DenseNet网络不同,该方法将网络的批量归一化层(batch normalization,BN)去掉,同时将部分激活函数ReLU替换为Leaky-ReLU。

由于BN层在训练期间使用批次的均值和方差对特征进行归一化,在测试期间使用的是整个训练数据集的估计均值和方差。当训练数据集和测试数据集的统计数据差异很大时,对于深层网络而言,BN层往往引入不适的伪影,限制了泛化能力,导致模型训练不稳定。因此,为了训练稳定和一致性去掉BN层,能增强DSRGAN网络的性能减少计算的复杂度和去除图像模糊[21]的伪影,而生成器DenseNet网络采用稠密链接机制,稠密链接主要由Dense Block稠密块和Transition Layer过渡层组成,将所有的Layers连接起来,Dense Block内部的网络连接为强梯度流,形成一种隐含的深度监督,能够保持图像修复中像素信息的前馈特性,提高了图像修复的视觉连贯性使修复后的图像纹理清晰。其次,稠密块与过渡层连接,过渡层是1×1的卷积核,起到降低Dense Block模块的输出维度,使生成器模型复杂度降低,在图像修复中促进破损像素点的修复。

2.2 相对条件判别器

相对条件判别器不同于标准的判别器,其能够估算一个输入真实图像和生成图像的可能性,并且能预测真实图像的概率xr比假图像的概率xf更真实的概率。为了平衡生成式对抗网络,文中提出相对条件判别器代替实验中的标准判别器,其模型如图3所示。

图3 相对条件判别器模型Fig.3 Relative condition discriminator model

图3中,相对条件判别器判别函数表示为DRa(),标椎判GAN别器表示为D()。其中:σ为sigmoid函数;C()为非变换判别器的输出;E()为在批处理中对所有假数据取平均值的操作。

2.3 损失函数

损失函数由判别器损失函数和生成器损失函数构成,生成器损失函数包含对抗损失函数、内容损失函数、感知损失函数。

1) 判别器损失函数。提出的相对条件判别器能通过简单的数据计算预测真实图像和生成图像的概率分布,同时能对生成器做出信息反馈,降低了判别真假的复杂度,同时对LR图像和HR图像的维度分布做出甄别,以获取所需要的生成图像,整体上提升了修复模型的学习能力,节省了训练时间,加速了模型收敛。判别器损失函数可表示为

LD=-Ex,r[lb(DRa(xr,xf))]-

Ex,f[lb(1-DRa(xf,xr))]

(4)

2) 对抗损失函数可表示为

La=-Ex,r[lb(1-DRa(xr,xf))]-

Ex,f[lb(DRa(xf,xr))]

(5)

DSRGAN方法中判别器和生成器采用一种对称的形式,起到信息反馈的作用,所以判别器的模态化能预测生成样本图像边缘轮廓、纹理细节,生成器也更适合对抗训练中生成数据和真实数据的渐变,两者的互相博弈可以实现图像修复的LR到HR的目的。

3) 内容损失函数。设计内容损失函数,通过图像残损区域的边缘信息与未损坏区域建立函数映射,为了使图像的破损区域修复后尽可能地与真实图像相匹配,未破损的区域更清晰,保持图像修复后能达到HR效果,使用1-范数距离来衡量生成器生成的图像的未破损区域和真实样本中未破损区域的差别。引入W为图像掩膜,其与输入图像尺寸大小相同,其中当W为0时,代表图像中部分破损的像素点,W为1时代表图像部分未破损像素点。内容损失函数可表示为

Lg=IExi‖W×G(xi)-y‖1

(6)

式中:G(xi)为生成接近于真实样本数据矩阵;y为生成的假样本数据矩阵;I为图像像素点矩阵。

4)感知损失函数。有效的感知损失Lp,在图像修复中,通过激活前约束特征,可以降低模型训练的复杂度,本实验提出的感知损失在激活层之前使用特征,将克服2个缺点:一是被激活函数的特征是非常稀疏的,特别是在深层网络之后,稀疏激活函数提供弱监督,从而导致性能较差;二是使用激活后的特征会造成修复后的图像和真实图像对比度不一致。其中感知损失函数可表示为

(7)

生成器完整的损失函数包括对抗损失、内容损失以及感知损失3部分,可表示为

LG=Lp+λLa+Lg

(8)

式中:Lg=η1L1+η2L2+η3L3+η4L4。本实验中生成器由4个Dense Block网络,所以L1到L4为其内容损失,λ、η1、η2、η3、η4为平衡不同损失的系数设置,该系数经过不断的测试获得其最优值,其中训练参数学习率为0.002,λ为0.5,η1、η2、η3、η4分别为0.2、0.4、0.6、0.9。

2.4 DSRGAN算法实现流程

算法初始化采用SGD算法训练模型,设置超参数M,迭代次数N,批量大小m。当前迭代次数小于最大迭代次数,当前更新次数小于最大更新次数。

1) 从真实图像中采集服从数据分布pd(x)的m个样本{x(1),x(2),x(3),…,x(m)};

2) 将选取的m个图像样本数据添加掩膜{N1,N2,N3…,Nm};

3) 计算判别器网络模型的损失函数LD;

5) 原始图像数据集中采样服从噪声分布pg(z)的m个样本{z(1),z(2),z(3),…,z(m)};

6) 计算生成器网络模型的损失函数LG;

8) 不断循环进行上面步骤,直到整个数据集训练完成。其中,∇θdJ(θ)为判别网络的SGD的值,∇θgJ(θ)为生成网络SGD的值。

3 结果与分析

本实验从CelebA数据集获取10 000张人脸图像来训练图像修复模型,取其中8 000张作为训练集,2 000张为测试集。为了测试模型的广泛性、准确性和视觉真实性,实验将收集5 000张古代残损纺织物图像作为数据集,在Places2取10 000张图像作为本实验修复模型的训练集,使模型具有良好的泛化能力。

实验采用近年来基于深度学习的图像修复方法效果较好的GCA方法[10],SI方法[11],PIC方法[12]与DSRGAN方法进行对比,分别在CelebA、Places2、残损纺织物3个数据集测试上测试,分别得到图4、5、6的效果图。

图4 CelebA数据集修复效果比较Fig.4 Inpainting effects comparison of celebA dataset

图4为不同面积的遮挡区域,从第1幅到第4幅遮挡面积逐渐减小,可以直观看出其他对比方法存在大面积缺失修复后模糊、全局一致性差的问题。如图4(g)所示为本文DSRGAN方法,局部修复效果放大,克服了以上其他方法存在的问题,并且在细节和分辨率修复上有了明显的提升。图5为相同遮挡面积的修复,其效果图可以直观的看出,所提方法修复的图像纹理细节更加清晰、图像轮廓更加真实。

图5 Places2数据集上的修复效果图Fig.5 An inpainting rendering images on the Places2 dataset

为了客观评价DSRGAN修复方法的优越性,采用峰值信噪比(peak signal-to-noise ratio,PSNR)来衡量修复图像和原始图像之间的差距,PSNR值越大图像修复效果越好;同时为了体现图像修复方法在图像修复结构上的准确性,利用结构相似性(structural similarity index,SSIM)来评价图像的修复质量,SSIM值越接近于1,结构越相似,图像的修复质量就越好。

设2幅单色图像的大小为m×n,如果2幅图的噪声近似,那么它们的均方误差可表示为

(9)

PSNR可表示为

(10)

式中:imax为图像像素点颜色的最大值,如果每采样点用8位表示,最大像素值为255。

SSIM是一种评价原始图像和修复图像之间相似度的指标,可表示为

(11)

式中:c1、c2为正整数。

利用PSNR和SSIM对图像修复质量进行评价,如表1、2所示,其中,加粗字体为最优值。

表1 CelebA数据集测试的PSNR和SSIMTab.1 PSNR and SSIM of CelebA dataset test

从表1可知,本文提出的DSRGAN方法的PSNR平均提高了2.57 dB,SSIM平均提高了0.083 5,表明该方法不论在大面积人脸遮挡修复上,还是小面积人脸遮挡修复上都具有较高的PSNR和SSIM。从表2可知,DSRGAN方法的PSNR平均提高了3.17 dB,SSIM平均提高了0.148 1,表明了相较所列举的对比方法,该方法在图像大面积缺失的修复效果更加良好。

表2 Places2数据集测试的PSNR和SSIMTab.2 PSNR and SSIM of Places2 dataset test

为进一步验证DSRGAN模型图像修复的普遍性,利用古代残损纺织物图像进行测试,与GCA、SI、PIC模型图像修复结果进行对比,如图6和表3所示。

图6 残损纺织物数据集效果Fig.6 Renderings of damaged textile dataset

表3 残损纺织物测试的PSNR和SSIMTab.3 PSNR and SSIM for testing of damaged textiles

从表3可看出,PSNR平均提高了5.89 dB,SSIM平均提高0.264 1,表明本文提出的DSRGAN方法在图像超分辨率修复上,对图像的纹理细节、语义信息等的修复有良好的适应性,由视觉效果可以看出图像修复后的分辨率明显提高,图像的视觉细节更加清晰明了。

4 结 语

针对图像大面积缺失修复视觉不连贯、分辨率低等问题,本文提出的DSRGAN图像修复方法,利用改进的DenseNet网络,加深了网络层数并提升了模型泛化能力,使图像数据生成分布更加多样化,可根据不同类型的图像自动生成函数映射,能更准确的联系上下文像素点,精确捕捉图像的局部信息,改善图像修复效果。在CelebA、Places2及残损纺织物3个数据集上测试,通过主观效果和客观实验结果对比,表明DSRGAN方法提升了图像修复的质量和精度,增强的修复图像的分辨率,消除了轮廓模糊、纹理不清晰的现象,修复后的图像满足视觉的整体一致性。

猜你喜欢

损失样本函数
二次函数
第3讲 “函数”复习精讲
胖胖损失了多少元
用样本估计总体复习点拨
二次函数
函数备考精讲
玉米抽穗前倒伏怎么办?怎么减少损失?
推动医改的“直销样本”
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本