文章来源: CVPR 2017
下载链接: Download paper Download code
解决问题:从随机噪声中修复面部缺失的区域。
论文背景:
Patch-based
的图像补全,该类方法主要是从源图像中寻找相似的patch,然后将该patch
贴到缺失的区域。当源图像中没有类似的区域时,该方法就无法填充看上去合理的洞。Patch-based
方法的不足:(1)Depend on low-level features;
(2)Unable to generate novel objects;
Context Encoder
的图像补全,该方法基于深度学习生成相似的纹理区域,在一定程度上可以补全缺失的区域,而且效果还不错。但是不能够保持局部一致性。Context Encoder方法的不足:(1)Can generate novel objects but fixed low resolution images;
(2)Masks region must in the center of image;
(3)补全的区域不能保持与周围区域的局部一致性。论文目的:传统以复制-粘贴的方式来进行图片补全在背景填充方面效果不错,但在面对填充脸部图片这种目标图片比较独特时却效果不佳。作者于是想用深度生成模型构建一个有效的目标补全算法,能不需要参照外部数据集快速完成对图片的补全。
解决办法:在这项工作中,作者提出了一种深度生成网络来修复面部表情。该网络以GAN
为基础,以自动编码器作为生成器,两种对抗损失函数(局部和全局)和语义解析正则化作为鉴别器。所提出的模型能够从随机噪声中成功地合成语义上有效且视觉上合理的缺失面部关键部分的内容。
数据集: Celeb A
,Helen test
(这两个数据集都是面部图片的集合,并且后者还有segment label)
试验结果:定性和定量实验都表明,该模型可以生成高感知质量的修复结果,并且可以处理各种掩蔽或遮挡的情景。
论文贡献:
该网络主要由三个模块构成:Generator
,Discriminator
,Parsing network
该模型中的 Generator 被设计为一个 autoencoder
,有encoder层、两个全连接层和decoder层。作者使用VGG19
的前半部分网络结构,外加2个卷积层,一个池化层,一个全链接层。decoder
和 encoder
是对称的,并使用 unpooling
层 用于放大特征图尺寸。输入残缺的图像,通过encoder层映射成隐藏特征,然后再通过decoder层得出修复后的图片。
Reconstruction loss Lr
采用L2
损失函数。计算网络输出和原始图像之间的L2
距离。由于L2
损失严重地惩罚了异常值,并且鼓励网络平滑各种假设以避免较大的处罚,因此只采用Lr损失函数会使生成的内容趋于模糊和平滑。
如果只有一个生成器,那么生成的图片将会非常模糊,只有一个粗略的轮廓。因此,采用了两个判别器来对生成图片的细节进行完善,使得生成的图片更加真实。
作者使用了两个 Discriminator
,一个 local Discriminator
, 一个 global Discriminator
。(采样两个鉴别器的灵感来自<<用深度卷积生成对抗网络来进行非监督表征学习>>)
local Discriminator
是针对缺失图像区域(为了让生成器生成图片中补全的部分更加真实);
global Discriminator
是针对整个图像区域(为了让整个生成的图片看起来更加真实);
通过使用两个Discriminator
,作者采用了对抗性损失,这反映了发生器如何最大限度地愚弄鉴别器以及鉴别器如何区分真假。它们的定义如下所示:
其中,p_data(x)
和p_z(z)
表示噪声变量z和实际数据x的分布。两个鉴别网络{a1,a2}
具有相同的损失函数定义。唯一的区别是局部鉴别器只为丢失的区域提供训练信号(损失梯度),而全局鉴别器在整个图像上反向传播损耗梯度。
两个鉴别器的损失函数的不同之处在于:局部鉴别器的损失函数 (L_a1
) 仅仅反向传播图像缺失区域的损失梯度,而整体鉴别器的损失函数 (L_a2
) 反向传播整个图像的损失梯度。
前面的两个部分其实就是原始GAN的变形,作者设计Parsing network 主要是用于进一步完善缺失区域的生成图像的真实性。在Parsing network中,损失Lp
是简单以像素为单位像素的softmax
损失(分类网络常用)。(灵感来自<<使用全连接卷积编码-解码网络进行物体轮廓检测>>)
因此整体损失函数可以定义为:
其中λ1
,λ2
和λ3
是平衡不同损失效应的权重。L_a1
和l_a2
是两个判别器的损失。Lp
是semantic parsing network
的损失,就是简单的softmax
层损失。
为了有效地训练所提出的网络,作者使用curriculum策略,逐渐增加难度级别和网络规模。训练过程分三个阶段进行。(pix2pix
两步走的训练步骤类似)
这样训练的作用:这个方法据说可以避免训练开始阶段判别器的作用过强。
作者将自己模型产生的结果与CE模型产生的结果进行直接对比,并用了三种测量标准测试,证明作者提出的模型效果更好。作者还做了遮挡不同面积的图片,来观察结果的效果,并得出在size是32×32时效果是最好的,因为此时的遮挡面积刚好是面部器官的一部分,比如半只眼睛。
表格参数解释:
o1
到o7
代表不同的masks
。如图下图所示: M1-M4
分别代表
M1: Lr.
M2: Lr + La1.
M3: Lr + La1 + La2.
M4:Lr + La1 + La2 + Lp
the peak signal-to-noise ratio (PSNR)
(directly measures the difference in pixel values)the structural similarity index (SSIM)
(estimates the holistic similarity between two images)the identity distance
(measured by the OpenFace toolbox to determine the high-level semantic similarity of two faces)该模型可以从随机噪声中成功地合成语义上有效且视觉上合理的缺失面部关键部分的内容,并且可以处理各种现实中遮挡情景的案例。该文章主要的贡献有:
semantic parsing networks
结构,这个部分能让整体的输出更加和谐。 语义解析网络能够在生成对抗网络的随机噪声上提供一些额外的 (语义) 限制,以得到更加逼真的结果,论文中的[图10]。PSNR
)」和「结构性相似指数(SSIM
)」不足以评价重构或生成结果,因为这两个指标是倾向于平滑和模糊的结果。如图 3、表 1 和表 2 所示,子图 M1 比 M2 和 M3 具有更高的 SSIM 和 PSNR。但是 M2 和 M3 明显具有语义层面更加合理的生成结果。原文:https://www.cnblogs.com/wenshinlee/p/12496703.html