文章来源:CVPR 2017
下载链接:Download paper,Download code
解决的问题:
人脸修复问题:从随机噪声中修复面部缺失的区域。
文章内容:
在这项工作中,作者提出了一种深度生成网络来修复面部表情。该网络以GAN为基础,以自动编码器作为生成器,两种敌对损失函数(局部和全局)和语义正则化作为鉴别器。所提出的模型能够从随机噪声中成功地合成语义上有效且视觉上合理的缺失面部关键部分的内容。定性和定量实验都表明,该模型可以生成高感知质量的修复结果,并且可以处理各种掩蔽或遮挡的情景。图1为该网络的结构图。
该网络主要由三个模块构成:Generator,Discriminator,Parsing network
1) Generator:
该模型中的 Generator 被设计为一个 autoencoder,输入不完整的图像,输出修复后的图像。作者使用VGG19的前半部分网络结构,外加2个卷积层,一个池化层,一个全链接层。decoder 和 encoder 是对称的,并使用 unpooling 层 用于放大特征图尺寸。
Reconstruction loss Lr采用L2损失函数。计算网络输出和原始图像之间的L2距离。由于L2损失严重地惩罚了异常值,并且鼓励网络平滑各种假设以避免较大的处罚,因此只采用Lr损失函数会使生成的内容趋于模糊和平滑。
2) Discriminator:
作者使用了两个 Discriminator,一个 local Discriminator, 一个 global Discriminator。
local Discriminator 是针对 缺失图像区域;
global Discriminator 是针对整个图像区域;
通过使用两个Discriminator,作者采用了对抗性损失,这反映了发生器如何最大限度地愚弄鉴别器以及鉴别器如何区分真假。它们的定义如下所示:
其中pdata(x)和pz(z)表示噪声变量z和实际数据x的分布。两个鉴别网络{a1,a2}具有相同的损失函数定义。唯一的区别是局部鉴别器只为丢失的区域提供训练信号(损失梯度),而全局鉴别器在整个图像上反向传播损耗梯度。
3) Parsing network:
作者设计Parsing network 主要是用于进一步完善缺失区域的生成图像的真实性。在Parsing network中,损失Lp是简单像素的softmax损失。因此整体损失函数可以定义为:
其中λ1,λ2和λ3是平衡不同损失效应的权重。
4) Training Neural Networks:
为了有效地训练所提出的网络,作者使用curriculum策略,逐渐增加难度级别和网络规模。训练过程分三个阶段进行。
首先,使用重建损失来训练网络,以获得模糊的内容。
其次,采用局部对抗性损失微调网络。
最后,利用全局对抗性损失和语义解析损失正则化上述所得的输出。
实验结果:
1) 修复结果:
文章特点:
该模型可以从随机噪声中成功地合成语义上有效且视觉上合理的缺失面部关键部分的内容,并且可以处理各种现实中遮挡情景的案例。该文章主要的贡献有:
(1) 首先,作者提出了一个深度生成补全模型,它由一个编码-解码生成器和两个敌对鉴别器组成,用于从随机噪声中合成缺失的内容。
(2) 其次,解决了具有挑战性的人脸补全任务,并展示了所提出的模型能够根据这个对象类的学习表示生成语义有效的模式。
(3) 最后,作者展示了在生成过程中语义分析的有效性,这使得补全结果看起来更合理并且与周围的上下文一致。
存在的不足:
(1) 所提出的模型的性能随着掩模尺寸的增加而逐渐下降,这是因为随着掩模尺寸的增大,像素值的不确定性逐渐增大。
(2) 本文实现了各种数据增强来提高学习的鲁棒性,但是发现该模型仍然不能很好地处理一些未对齐的面孔。效果欠佳的合成内容表明该网络不识别脸部及其相应内容的位置/方向。
(3) 该模型没有充分利用相邻像素之间的空间相关性。
相关参考:GAN人脸修复--Generative Face Completion,GAN人脸修复,生成人脸修复模型:同时使用两个鉴别器,直接合成逼真人脸
内容说明:
上述内容仅个人的点滴粗见,如有不当之处,请同行批评指正。