陈 刚,廖永为,杨振国,刘文印,2*
(1.广东工业大学 计算机学院,广州 510006;
2.鹏城实验室 网络空间安全研究中心,广东 深圳 518005)
随着深度学习的快速发展,深度学习在图像修复与图像生成领域取得令人瞩目的成绩。图像的修复分为大块缺失修复和小块缺失修复,本文主要讨论深度学习在大块图像缺失的修复问题。图像修复是结构相似、纹理一致,并且结构优先的原则,将缺失区域的图像恢复到原始图像的过程,如图1 所示。
图1 图像修复过程Fig.1 Image inpainting process
近几年伴随着生成对抗网络(Generative Adversarial Network,GAN)技术的发展,图像修复领域迎来了巨大的发展机遇,出现了许多的应用场景[1-3],如:公安刑侦面部修复[4]、文物修复[5]、医学图像重建[6]、遥感高分辨率图像的修复[7]等。
目前,国内外学者在该领域做了大量的工作。图像修复算法分为两大类,即传统的图像修复算法和深度学习的图像算法。传统的图像修复算法又可以分为三小类,即基于图像结构的修复算法、基于图像纹理的修复算法和基于稀疏表示的图像修复算法。其中,传统的图像修复算法,如Bertalmio等[8]提出的基于三阶偏微分方程的图像修复算法BSCB(Bertalmio Sapiro Caselles Ballester),该算法基于偏微分方程,沿着等照线方向将缺失区域边缘信息扩散到缺失区域;
但没有考虑图像的整体性及细节性,修复效果欠佳。Criminisi 等[9]提出了基于样本块的纹理合成算法,在图像缺失区域的边缘随机选取一个像素点,以该像素点的中心选取合适大小的图像块,然后以该图像为模板在图像完好区域搜索最合适的图像块进行匹配,最后在匹配块中寻找缺失内容对缺失区域进行填充,从而完成修复。Bobin 等[10]提出了基于稀疏表示理论,提出了形态成分分析(Morphological Component Analysis,MCA)法,该算法的前提是图像都能表示为不同形态成分的线性组合,然后用不同的字典对各个形态进行稀疏表示,最后通过迭代可以将图像分解为不同的成分完成图像重建。因此,传统算法在处理小块缺失或者纹理修复方面有一定的优势,但在处理大块图像缺失时,修复效果不佳。以深度学习为基础的图像修复算法是通过神经网络能够更好地获得捕获图像的高级特征,在图像的修复和图像生成方面表现出突出效果。Pathak 等[11]提出了上下文编码器(Context Encoder,CE),首次完成深度学习的图像修复,该算法利用编码器结构捕获图像的基本特征并学习缺失区域的图像特征,然后通过解码器重构图像;
但该算法修复的图像比较模糊且全局一致性较差。针对这一问题,Iizuka等[12]提出了一个“Globally and locally”的概念,该算法修复的图像局部与全局的结构一致性有所提高;
但生成图像还是比较模糊,细节性和纹理特征较弱。Wang 等[13]提出图像到图像转换的感知对抗网络,该算法是判别器训练时引入了感知损失函数来提升网络鉴别能力;
但图像的纹理不够清晰。Sagong 等[14]提出了一种新的并行网络PEPSI(Fast Image Inpainting with Parallel Decoding Network),通过一个共享的编码网络和一个具有粗路径和细化路径的并行解码网络来实现图像的修复;
但是修复图像的结构性和细节性都不强。Zheng 等[15]提出了一种具有长短注意力机制的并行变量自动编码器的生成对抗图像修复算法PICNet(Pluralistic Image Completion),该算法利用长短注意力机制实现了多样式图像修复;
但修复的图像结构一致性差,且纹理等细节特征较弱。
针对上述算法的不足,本文提出了一种基于多特征融合的多尺度生成对抗网络的图像修复算法(Image Inpainting algorithm of multi-scale generative adversarial networks based on Multi-Feature Fusion,MMFII),在多尺度生成式对抗网络图像修复算法(Multi-scale Generative Adversarial Networks Image Inpainting algorithm,MGANII)[16]的基础上,本文做了3点工作:
1)在传统的生成器中引入一个多特征融合模块(Multi-Feature Fusion Module,MFFM),融合了不同扩张卷积率的特征,同时在生成器中引入了基于感知的特征重构损失函数,便于网络提取更丰富的特征。
2)在局部判别器训练时,引入基于特征方差的欧拉距离作为感知特征匹配损失函数,便于图像边缘信息的提取,增强了修复图像的结构一致性。
3)将对抗损失函数中引入风险惩罚项来满足利普希茨连续条件,使得网络训练时能快速稳定地收敛。
最后,实验结果表明,本文算法的图像修复效果在定量和定性指标上都优于基线算法。
1.1 传统的图像修复
传统的图像修复分为三类,分别为基于结构的纹理修复、基于纹理的图像修复和基于稀疏表示的图像修复。基于结构非纹理的图像修复主要是采用偏微分方程的信息扩散原理实现图像修复,Bertalmio 等[8]在2000 年首先提出了基于偏微分方程的数字图像修复算法,该算法的主要思想是沿着图像中像素的等照度线的方向将修复区域周围的边缘信息迭代到待修复区域,直到残缺图像填充完成,达到补全图像的目的。但是,这种算法的不足在于只能实现低维特征迭代,修复图像不够清晰,同时无法实现大块图像修复。基于纹理的图像修复主要是基于样本块的纹理合成算法[17],该算法将等照度线方向与破损边缘切线方向结合起来作为决定修复顺序的条件,然后根据纹理从整幅图像中搜索选择出最佳的图像块来对待修复区域进行填补,但该算法在搜索匹配块会消耗大量的时间,并且修复的图像结构一致性差。Xiang 等[18]提出了Scriminisi 算法的改进算法,该算法在传统纹理合成算法基础上应用差分法计算梯度算子,同时采用了一种矩阵相似度的匹配策略,实验结果表明该算法在视觉一致性上有所改善;
但该算法会随着匹配和迭代次数增加,置信度下降。基于稀疏表示的图像修复算法主要通过计算图像的过完备字典的稀疏编码,实现稀疏重构从而达到图像修复的目的。Aharon 等[19]提出了一种K-奇异值分析(K-means Singular Value Decomposition,K-SVD)算法,通过字典原子与字典对应的稀疏系数同时更新的方式稳定快速地训练过完备字典;
但该算法也只能在缺失区域较小时才有效果。传统的图像修复技术只能在缺失面积小、纹理结构简单等情况下才能实现完美修复,对于大块缺失和复杂的纹理时,传统的修复算法已经没有优势,人们把目光投向深度学习的算法。
1.2 基于深度学习的图像修复
深度学习图像修复算法相较于传统的图像修复算法具有更强大的特征表示和学习能力,能够挖掘图像更深层的信息,近几年在图像处理的各个领域取得非常巨大的成功[20-22]。Xie 等[23]提出了一种基于深度学习去噪的自编码器网络(Denoising Auto-Encoder Network,DAEN)图像修复算法,该算法类似于生成对抗网络的自编码器,自动实现对特征的提取和匹配,从而实现图像修复;
但是该算法无法预测像素的具体位置,同时对大块缺失区域修复效果较差。Pathak 等[11]提出了利用重构残差来修复图像的算法,该算法利用已知图像的信息来推断缺失区域的未知的信息而实现图像的修复;
但是该算法无法从缺失区域附近获得足够的特征,因此,修复的图像与整体图像的结构一致性差,同时局部纹理特征不明显。针对修复图像结构一致性差的问题,Iizuka 等[12]在文献[11]的基础上增加了一个全局判别器来监督图像修复,使得生成局部图像与全局图像在语义上保持一致;
但修复图像的细节及纹理等局部特征不明显。Wang等[24]提出了基于生成型多列卷积神经网络的图像修复算法,该算法在文献[12]的基础上对生成器进行改进,应用3个并行的编码器和一个公用的解码器,其目的是提取丰富的图像特征;
但是实验结果表明这种算法修复图像的结构一致性较差。Zeng 等[25]使用U-Net 网络为主干结构搭建网络,该算法的核心思想是将高层特征图的语义信息通过注意力机制计算缺失区域与边缘区域的相关度,从而指导下一层低层的特征补全;
但是事实证明该金字塔上下文编码器并没有有效提升修复图像的结构一致性。李克文等[16]提出了一种多尺度生成式对抗网络图像修复算法(MGANII),该算法是在文献[12]基础上了增加了两个多尺度判别器来加强图像的整体结构的一致性,但是修复图像的纹理和细节较差,生成器提取不到足够丰富的纹理特征和细节特征。
2.1 网络结构
本节主要介绍基于多特征融合的多尺度生成对抗网络修复算法框架,主要包括一个具有感知损失的多特征融合块的生成器(Generator with multi-feature fusion block,Gmf),一个包括带有感知损失的局部判别器(Local discriminator,Dl)、下采样2 倍多尺度判别器(Multiscale discriminator m1,Dm1)和下采样4 倍多尺度判别器(Multiscale discriminator m2,Dm2)和一个全局判别器(Global discriminator,Dg)。具体框架如图2所示。
图2 基于多特征融合的多尺度生成对抗网络修复算法框架Fig.2 Framework of multi-scale generative adversarial network inpainting algorithm based on multi-feature fusion
从图2 可以看出,生成器是一个修复网络,该网络由5 层的编码器和5 层解码器构成:编码器结构采用具有缺失区域的图像作为输入,通过卷积操作生成该图像的潜在特征表
2.2 基于多特征融合块的生成器
传统的生成器采用一个卷积自编码器作为生成器模型,本文的生成器模型和传统的生成器模型类似,也是由编码和解码构成。传统的生成器提取特征的能力有限,主要是通过扩大卷积核或者采用扩张卷积的方式进行,但是这两种都会示,同时,通过MFFM 融合不同的特征;
解码器结构利用这种潜在特征表示通过转置卷积操作恢复原始分辨率,产生缺失区域的图像内容。
产生一些问题:首先扩张卷积的核是稀疏的,这样就跳过了许多用于计算的像素;
而大卷积核使用引入了大量模型参数,从而导致消耗大量的计算资源。因此本文在传统的生成器的基础上,借鉴于Zheng等[26]提出Hierarchical Feature Fusion Block(HFFB)模块的思想,提出了具有多特征融合模块(MFFM)的生成器(Gmf)组建了本文多特征融合模块(MFFM),它能扩大卷积的视野同时保持卷积核的稠密度,如图3 所示,其中X表示整个MFFM输入,O表示MFFM的输出。
从图3 可以看出,多特征融合模块(MFFM)左侧是一个输入256 通道的特征图,通过第一次卷积输出为64 通道的特征图,分别输出到不同的扩张卷率(Rate)(i=1,2,3,4)的分支上进行处理,从而实现不同扩张因子的扩张卷积特征图的融合,融合公式如下:
图3 多特征融合模块Fig.3 Multi-feature fusion module
其中:Ri是一个3×3 的卷积,xi表示分支输入,oi表示分支输出。
从式(1)和图3 可以看出,这个多特征融合块增强了一般的扩张卷积,与大核的内核相比,计算参数更少、效率更好、运行速度更快。
为方便地展示MFFM 的工作过程,本文将具有256 通道的MFFM 的输入和输出以及MFFM 融合的特征图映射为3 通道图像进行可视化。如图4 所示,该图示大致地展示了从原图到MFFM 融合输出的MFFM 的整个工作过程。
图4 MFFM工作过程部分可视化Fig.4 Visualization of partial MFFM working process
可以看出,MFFM 输入其实是中心遮挡部分的特征图如图4(b),而融合的特征是一个256 通道的特征图如图4(c),其单独展示的语义较弱,但它与原输入融合到MFFM 的输出如图4(d)就能显示与原图有着极为相似的语义特征。
2.3 判别器网络
由于通过具有MFFM 的多特征融合的生成器(Gmf),生成的图像比较模糊,为了使得生成的图像更加逼真,必须通过对抗训练才能得到符合目标的图像。因此在实验中必须引入鉴别图像真假的网络——判别器来监督和指导图像的生成。本文的判别器由4 个判别器组成,分别为全局判别器(Dg)、具有感知损失的局部判别器(Dl)、下采样2 倍的多尺度判别器(Dm1)和下采样4 倍的多尺度判别器(Dm2)。全局判别器(Dg)的输入是伪造的生成图像的整体与真实图像的整体,主要从全局鉴别生成图像与真实图像是否一致,有利于提高修复图像的全局结构一致性。全局判别器是一个卷积核为5 的6 层的卷积网络,如图2 所示。局部判别器(Dl)是由一个核为3 的4 层卷积网络加1 层核为5 的卷积网络组成,它主要鉴别缺失区域填充内容和对应的真实内容是否一致。受文献[13]的启发,本文在局部判别器引入特征匹配的感知损失函数LDlmf。为了提升判别器的结构感知能力,首先,在Iizuka等[12]提出两个判别器的基础上,参考文献[16]算法,增加了2 个多尺度判别器来约束修复图像结构特征,它们分别为一个卷积核为5 的5 层卷积网络Dm1和一个卷积核为5 的4 层卷积网络Dm2,至此,Dm1和Dm2与全局分判别器Dg一起构成了一个三层的多尺度判别器。其次,在局部判别器Dl中引入了特征匹配的感知损失函数LDlmf,两者协同加强缺失区域的修复图像的全局结构一致性。
2.4 损失函数
本文模型的训练总共分为3 个步骤:第1 步训练生成器。第2 步训练判别器。第3 步生成器和判别器进行对抗训练。主要涉及的损失函数包括重构损失Lr,负责计算缺失图像区域与真实图像之间距离;
同时还包括生成器的特征感知重构损失函数LGmf,它主要判断生成缺失区域的图像与真实图像对应部分的VGG 模型中间层的激活图(如图5)的距离;
以及包括判别器特征匹配损失函数LDlmf,它负责鉴定缺失区域的生成图像和真实图像的对应的特征图是否一致;
最后是应用于传统的对抗训练的对抗总损失LDadv。
图5 修复图像与原始图像对应p层的特征图Fig.5 Feature maps corresponding to p-layers of inpainted image and original image
2.4.1 重构损失
重构损失Lr选择欧拉距离L2 作为损失函数的度量,而不选择曼哈顿距离L1 距离主要是由于L2 能避免过度拟合,并且L2 有一个稳定的预测值。同时L2 计算比较方便,而L1在特别是非稀疏向量上的计算效率较低。因此本文重构损失采用欧氏距离L2 进行计算,重构损失函数如式(2)所示:
其中:x表示真实图像;
G表示生成器;
M表示二进制掩码,当遮挡区域像素丢失时值为1,否则为0;
⊙表示点乘。以本实验数据为基础,表1 给出了Lr部分训练的数值列表,显示了从迭代轮次从0 开始到训练结束的部分修复图像与原始图像的欧拉距离L2 的值,该数值以损失函数Lr的形式展示,Lr最后收敛情况如图6 所示。从30 万~60 万次数值基本没有发现变化,原因在于此时冻结了生成器在训练判别器。
表1 重构损失Lr的部分数值Tab.1 Partial values of reconstruction loss Lr
2.4.2 特征重构损失
为了提高网络的特征提取能力,在生成器中引入特征重构损失函数,该函数使用的特征图来源于文献模型[27]中VGG 网络的激活图,受文献[28]感知损失的启发,可以得到本文生成器的特征重构损失函数,如式(3)所示:
其中:是给定原始输入I*(*表示output 或real)的relup_1 层的激活图;
表示的元素数量;
p表示激活特征图所在的层数;
wp是来源于参考文献[29]权重其中n为分类数量,为特征图通道大小,I表述输入。同样根据文献[13]中的思想,本文在局部判别器中也引入特征匹配损失函数LDlmf,其作用是监督图像的生成,加强局部判别器对缺失区域的生成图像与原图像对应部分的一致性的检验。如式(4)所示:
其中:表示给定输入Ioutput(Ireal)的局部判别器Dl的第p个选定层的激活,而output 和real 分别表示生成图和原图如图5(a),其特征图如图5(b)~(f)所示。从图5(b)~(f)可以看出,修复图像的p层的特征图与原图对应的特征图极度相似。同时从图5 可以看出经过预训练的网络提取的深层特征包含了更高层次的语义信息,而较低层次网络提取的特征更专注纹理或结构细节。
2.4.3 对抗损失
由于重构损失生成的图像是模糊的,因此第三阶段引入了对抗损失,传统的生成对抗网络应用KL(Kullback-Leibler)散度或者JS(Jensen-Shannon)散度来衡量分布距离,JS 散度和KL 散度在用作loss 损失函数时,会朝着一个特定方向训练,或者很容易陷入局部最优,因此使得生成对抗网络很容易崩塌或者梯度爆炸。为了避免该问题,本文将风险惩罚项引入对抗损失函数来满足利普希茨连续条件[30],生成器和判别器的损失函数分别为:
式(6)中:f 表示伪造,r 表示真实;
而采样真实数据xr~Pr,Pr为真实数据分布;
采样噪声数据xf~Pf,Pf为生成数据分布;
为真实采样数据与生成采样数据的中间的随机数,表示为:
其中:ε 为(0,1)的一个随机数,表示为数据的真实分布Pr和生成分布Pf之间的一个随机采样系数;
式(6)带有λ的项,表示惩罚系数。参考图2 的网络的全局图和式(6),可以得到4个分支判别器Dg、Dl、Dm1、Dm2的对抗损失函数分别为LDgadv、LDladv、LDm1adv、LDm2adv。其中LDladv为局部判别器对抗损失函数,L表示损失函数,D表示判别器,g 表示全局,l 表示局部,m1、m2 分别是下采样2 倍和4 倍的多尺度判别器,adv 表示生成对抗。如式(8)所示:
该损失函数主要作用是协助判别器Dl完成对抗训练,从而实现判别器Dl对伪造的局部缺失图像和真实图像对应部分的鉴别。
LDgadv为全局判别器Dg的对抗损失函数,如式(9)所示:
该损失作用是协助全局判别器的完成对抗训练,从而实现全局判别器完成Dg对生成的全局图像和真实的全局图像的鉴别。
LDm1adv为多尺度判别器Dm1的对抗损失函数,如式(10)所示:
该函数是作用是协助下采样2 倍,即分辨率为128×128的多尺度判别器Dm1完成对抗训练,判别器Dm1鉴别的是生成的全局与真实全局的下采样2 倍的图像是否一致。LDm2adv为多尺度判别器Dm2的损失函数,如式(11)所示:
其作用和LDm1adv类似,并且LDm2adv是协助Dm2完成对抗训练。因此对抗总损失函数如式(12)所示:
其中:λ1、λ2、λ3、λ4分别为不同对抗损失权重。
2.4.4 总目标损失
参照图2,结合式(2)~(12),可以得出本模型的总目标函数为Lall,如式(13)所示:
其中:α、γ、δ为目标函数的权重因子。
2.5 算法实现
本文在进行实例化、规范化处理时,在生成器训练时采用Batch Normalization(BN)进行批量归一化处理,在判别器训练时使用Instance Normalization(IN)进行实例化处理,为了详细描述算法执行过程,给出本文算法(MMFII)的伪代码如下。
算法1 MMFII 训练过程。
初始化 网络Gmf,Dl,Dg,Dm1和Dm2;
当前时间t=0第一阶段训练时间T1,第二阶段训练时间T2和第三阶段训练时间T3。
3.1 数据集
为了便于评估,本文使用CelebA 数据集[31],其中包括10 177 位名人的202 599 张脸部图像,每个图像都用特征标记,包括边界和5 个脸部特征点坐标和40 个属性坐标。本文从CelebA 数据集[31]中抽取了6.2 万张人脸照片进行实验,其中5 万张照片用于训练,1.2 万张照片用于测试。
3.2 评价指标
评估指标包括峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)、结构相似性(Structural SIMilarity,SSIM)以及Frechet Inception 距离得分(Frechet Inception Distance score,FID)。峰值信噪比是基于原始图像和修复图像之间的恢复误差。公式定义如下:
其中:xr和xf分别表示原始图像和修复图像,n是表示像素的位数。SSIM 测量两幅图像的结构相似性,定义如下:
式(16)中:Tr 表示主对角线的元素总和(矩阵的迹),μ表示均值,A表示协方差矩阵,xr表示真实图像,xf表示伪造或者生成图像。
3.3 基线和实施过程
本文选择经典的具有代表性的深度学习的图像修复算法作为基线算法,包括上下文编码器(CE)[11]、基于生成型多列卷积神经网络的图像修复GMCNN(Generative Multicolumn Convolutional Neural Network)[24]、用于高质量图像修复的学习金字塔上下文编码器网络PENNet[25],以及多尺度生成式对抗网络图像修复算法(MGANII)[16]。CE[11]采用自编码器(DAEN)和生成对抗网络;
GMCNN[24]是采用了三个编码器和一个公共解码器的生成器;
PENNet[25]的核心思想是将高层特征图的语义信息通过注意力机制计算缺失区域与边缘区域的相关度来指导低层的图像修复;
PICNet[15]是在并行自编码器基础上添加了长短注意力机制模型;
MGANII[16]是在CE[11]框架的基础上添加3 个多尺度鉴别器,它们分别是全局判别器Dg、多尺度判别器Dm1和多尺度判别器Dm2。
本实验的实验平台为Ubuntu18.0 系统,学习框架为PyTorch 1.7,对应的CUDA 为11.3,cuDNN 为8.0,GPU 为GeForce RTX™ 3090,受文献[16,28]的启发,对抗损失权重λ1=0.01,λ2=λ3=λ4=0.02,总目标损失权重α=25,γ=5,δ=0.3,batchsize 的值为16,步长为0.000 2。实验过程分为3 个阶段,第1 阶段的迭代次数为30 万次,第2 阶段的迭代次数为30 万次,第3 阶段的迭代时间为60 万次。其中原始图像调整为分别率为256×256 的原始全局图像,遮挡图像是从原始全局图像的正中心裁剪去分辨率128×128 的区域作为修复图像的输入,同时下采样2 倍和4 倍的图像大小的分辨率分别为128×128 和64×64。总的迭代次数120 万次左右,从图6 可以看出,重构损失函数Lr负责计算缺失图像区域与真实图像之间距离,该函数收敛在0~0.01。
图6 重构损失函数的收敛曲线Fig.6 Convergence curve of reconstruction loss function
从图7 可以看出,特征重构损失LGmf表示的是生成缺失区域的图像与真实图像对应部分的VGG 模型中间层的激活图的距离收敛在0.5 附近,表明模型收敛时,生成图像的特征与原图像的特征从欧拉距离来看相近。此时重构损失函数Lr亦收敛在0~0.01,表示生成图像与原始图像像素的欧拉距离更短,同理,以像素欧氏距离倒数表示的PSNR 的值非常大,说明修复效果较好,为生成图像与原始图像相似性提供了一种验证。
图7 特征重构损失函数的收敛曲线Fig.7 Convergence curve of feature reconstruction loss function
图8表示特征匹配损失LDlmf的loss收敛曲线,其收敛在0~1。图9 显示了对抗总损失LDadv收敛在0.5 附近,表明具有伪造能力的生成器与具有真假鉴别能力的判别器此时达到平衡。
图8 特征匹配损失函数的收敛曲线Fig.8 Convergence curve of feature matching loss function
图9 对抗损失函数的收敛曲线Fig.9 Convergence curve of adversarial loss function
3.4 实验的定量和定性结果与分析
从表2 可以看出,本文算法(MMFII)的三个定量指标均优于对比算法(基线),所修复图像的PSNR、SSIM 比基线分别提高了0.45%~8.67%和0.88%~8.06%,而FID 比基线降低了36.01%~46.97%。表2 中的MGANII 和MMFII 两个算法PSNR 和SSIM 比其他基线算法较优,主要是在MGANII 和MMFII 中都引入了多尺度的判别器,改善了修复图像的结构一致性,提高了相应算法的峰值信噪比(PSNR)和结构相似性(SSIM)值。由此可见,多尺度判别器对提高修复图像的结构一致性有一定作用;
PICNet[15]的PSNR 和SSIM 均高于CE[11]、GMCNN[24]、PENNet[26]的值,主要是由于PICNet[15]中引入了长短注意力机制,从而有效地提高了图像的视觉一致性;
但是这种改进弱于多层次判别器对图像结构一致性的影响,因 此MGANII 的PSNR 及SSIM 优 于PICNet[15]等。然 而,MMFII 的PSNR、SSIM 优于MGANII,是由于在MMFII 在局部判别器中引入了一个感知特征匹配损失函数LDlmf,该损失函数提高了判别器网络的结构感知能力。
表2 不同算法的修复效果比较Tab.2 Comparison of inpainting effects of different algorithms
从表2 可以看出,本文算法的FID 比基线显著降低了36.01%~46.97%,说明网络的特征提取能力得到强化,原因在于本文在网络的生成器中引入了多特征融合块(MFFM),同时,在生成器训练时引入特征重构损失函数LGmf来强化扩展卷积网络的特征提取能力以及在局部判别器训练时引入了特征匹配损失函数LDlmf来提高判别器的结构感知能力,这些改进协同地提高了网络的修复性能,使得网络能够提取更加丰富的图像特征,网络收敛时生成特征与原始图对应特征的距离更短,因此,以特征距离表示的FID 值更小。
为了直观地研究MMFII 的修复效果,本文将MMFII 与基线算法运行于CelebA 数据集,实验结果部分展示如图10。
图10 CelebA数据集上不同算法修复的图像(面部)示例Fig.10 Examples of images(face)inpainted by different algorithms on CelebA dataset
直观 地,从图10 可以看出,应用CE[11]算法修复的图10(b)留有一些阴影,并且局部特征不明显;
而使用GMCNN[24]修复的图10(c)的人脸,鼻子融合在一起,且与原图的结构一致性较差;
采用PENNet[25]修复图10(d)的人脸,牙齿和眼睛、鼻子与原图10(h)相比细节不够清晰;
采用MGNAII[16]修复的图10(e)也细节特征不明显;
采用PICNet[15]修复的图10(f)与原图10(h)虽然看上去相似,但是眼睛、鼻子等细节特征不明显。相比之下,本文提出的MMFII 修复的图10(g)优于其他算法CE[11]、GMCNN[24]PENNet[25]、PICNet[15]以 及MGNAII[16]修复的图10(b)~(f)。因此,本文算法修复的图像10(g)与原始图像10(h)视觉结构一致性更强,细节、纹理特征更明显。
3.5 讨论与分析
为了研究网络的泛化能力,讨论是MMFII 对图像不同破损程度的修复情况,为了研究方便,本文在256×256 的图像中心分别掩膜64×64、96×96、128×128、156×156,占比整个图像分别为6.25%、14.06%、25%以及37.13%,图像的掩膜和修复情况如图11(a)~(i)所示。
从图11 可以看出,图11(c)的修复效果最好,不仅保留了原图的结构特征,还保留了原图的局部特征;
图11(e)依旧保留了原图的结构特征,但是局部特征在减弱;
图11(g)依旧可以看出修复效果不错,但是原图结构特征和细节特征都减弱;
图11(i)依旧可以看出和原图有很大的相似性,但是不可否认,与原图相比它们结构特征和局部的细节特征都发生较大变化。主要原因在于随着遮挡率不断增加,网络在训练时提取的特征越来越少,网络的修复能力越来越弱。另一方面也反映了神经网络模型对数据集和特征数量有很强的依赖关系。
图11 不同破损程度的面部图像的修复效果Fig.11 Inpainting effect of face images with different damage degrees
本文提出了一种基于多特征融合的多尺度生成对抗的图像修复算法,该算法是在传统的多尺度生成对抗网络的生成器引入了一个多特征融合模块MFFM 和基于感知的特征重构损失函数,从而提高了网络的特征提取能力,使得修复图像纹理、细节特征更清晰;
同时在局部判别器中引入了一个基于感知的特征匹配损失函数,加强的局部判别器与原图的全局的结构特征和局部细节的鉴别能力,使得局部修复图像与全局图像结构一致性更强,局部细节更清晰。最后,将本文算法应用在CelebA 数据集上,结果显示MMFII 修复的图像结果都优于其他基线,证明该算法有效。