人脸属性编辑:深度学习方法

作者: 鲜橙 | 来源:发表于2019-07-29 01:37 被阅读1次

    人脸属性编辑旨在操纵面部图像的单个或多个属性,即生成具有所需属性的新面部,同时保留其他细节。人脸属性编辑是建立在人脸生成上展开的,当然利用人脸关键点去控制人脸也是可以实现人脸的属性编辑,但那样往往会带来人脸的扭曲和不对称出现。随着生成模型的发展,人脸属性编辑得到了长足的发展,生成对抗网络更是实现了图像在一个域中映射到另一个域中,以此带来了人脸属性编辑优质论文的涌现,接下来将对近几年人脸属性编辑主流方法进行介绍。

    AttGAN

    AttGAN不是对潜在表示施加约束,而是对生成的图像应用属性分类约束,以保证所需属性的正确变化。同时,引入重建学习以保留属性排除细节。

    AttGAN模型

    模型通过控制属性标签,利用属性标签去监督性的去编辑人脸,在训练阶段利用重构误差、标签分类误差、对抗损失实现了标签对应人脸属性的人脸编辑。

    CycleGAN与StarGAN

    类似这个思想,CycleGAN可固定实现A-B的模态转换,但是不能解决多领域迁移的问题。StarGAN只用一个generator网络,处理多个domain之间互相generate图像的问题,这是比AttGAN更深一步的人脸属性迁移。
    StarGAN的生成器G的输入除了图片,还有domain的label,对应的生成图片变到指定的domain,这很像是在CycleGAN上加了conditional 的输入。StarGAN的结构就可以理解成在CycleGAN的基础上添加了条件(模态的信息),整体的训练结构也是如此。当然,这里的条件是可以叠加输入的,对应在人脸属性编辑上就是可以同时控制几个属性的编辑效果。

    starGAN

    STGAN

    STGAN是人脸高精度属性编辑模型,我们先看一下它与其它两个模型生成的人脸对比:

    生成的人脸对比图

    从上图可以看出这三个模型下虽然所有属性都保持不变,但AttGAN和StarGAN在结果中可以观察到不必要的变化和视觉退化,造成这种结果的主要原因在于编码器 - 解码器的结构限制和目标属性的使用矢量作为输入。STGAN仅考虑要改变的属性,以及在用解码器特征编辑属性无关区域时选择性地连接编码器特征。

    仅考虑要改变的属性通过目标和源属性标签之间的差异作为编码器 - 解码器的输入;提出了选择性传输单元(STU)来自适应地选择和修改编码器特征,其进一步与解码器特征连接以增强图像质量和属性操纵能力。总结一下STGAN的优势:

    • 将差异属性向量作为输入,以增强属性的灵活转换并简化训练过程
    • 设计选择性传输单元并与编码器 - 解码器结合,以同时提高属性操作能力和图像质量
    • 实验结果上,STGAN在任意面部属性编辑和图像翻译方面取得了很好的效果
      文章研究了选择性传输视角下任意图像属性编辑的问题,并通过在编码器 - 解码器网络中结合差分属性向量和选择性传输单元(STU)来提出STGAN模型。通过将差异属性向量而不是目标属性向量作为模型输入,STGAN可以专注于编辑要改变的属性,这极大地提高了图像重建质量,增强了属性的灵活转换。

    ResidualGAN

    ResidualGAN提出了一种基于残差图像学习的方法,它结合了 GAN 的生成能力和 feed-forward network 的高效性。与学习整张被操作的图片相比,只学习残差图像避免了冗余的与属性无关的信息。为了改进效率,采用两个 CNN 来建模两种相反的操作 (例如去除眼镜和添加眼镜),并在训练阶段应用双重学习 (dual learning) 策略。
    结构如下图所示。对每一个人脸属性操作,有两个图像变换网络和一个判别网络。 两个图像变换网络分别模拟主操作和镜像操作。 判别网络将参照图片和生成图片分为三类。

    ResidualGAN

    RSGAN

    RSGAN提出称为区域分离生成对抗网络,通过独立地处理潜在空间中的面部和头发外观,然后,通过替换面部的潜在空间表示来实现面部交换,并且用它们重建整个面部图像。文章的一大手段就是将面部和头发进行分离:

    RSGAN

    通过面部和头发的分离,再通过属性条件的控制,Zf和Zh分别为面部和头发的潜在空间,这也提供给网络更多的能力去实现类似于换脸和换头发的操作从而实现了人脸属性编辑。

    SGGAN

    SGGAN提出了一种新颖的分段引导生成对抗网络,它利用语义分割来进一步提高生成性能并提供空间映射。特别地,分段器网络被设计为对生成的图像施加语义信息。

    SGGAN

    通过输入图像,结合语义分割的目标,比如是微笑和大笑的目标,在网络中再次加入属性标签生成出指定的图像,整个过程可由下图分析:

    SGGAN

    最终控制人脸编辑的输入有3个,原始人脸、语义分割的目标表情和属性的标签信息,最终生成出目标人脸。通过语义分割的分割图为人脸编辑提供了更加自由的人为操作,可以进一步的刻画人物的面部,而不是死板的在属性标签上实现人脸属性编辑。

    SC-FEGAN

    SC-FEGAN在人脸编辑上又进了一步,通过自由形式的原始图片、草图、掩码图、颜色图、噪声的共同输入网络实现了人脸自由的编辑。这样实现的人脸属性编辑将不再局限于属性标签,而是将人脸编辑的自由权交由使用者,通过联合输入和SN-patchGAN的作用,最终实现人脸属性编辑。详细解读参考[此篇博客]

    SC-FEGAN模型图

    正是草图、颜色图和掩码图的作用才可以指导人脸按照使用者的绘制来实现人脸面部编辑的效果。

    SC-FEGAN效果图

    总结

    面部增强和属性编辑是人脸识别和人脸特征提取下发展产物,通过人脸增强可以提高模型的鲁棒性以及因数据集自身的问题导致的人脸识别和编辑任务的不完善。人脸属性编辑往往是建立在人脸生成上,可以提供人脸的自由化属性变换,随着人脸属性编辑的发展,使用者可以更加自由的控制面部编辑。

    实现面部编辑的方法由单纯的属性标签控制,到面部头发分离下的人脸和头发的变换,再到语义分割下更加自由的人脸生成,最后是草图作用下人脸的任意编辑的实现。

    参考博客:

    1. http://www.twistedwg.com/2019/03/31/Face_edit.html
    2. http://www.twistedwg.com/2019/04/29/STGAN.html
    3. http://jialexu.com/index.php/archives/216/

    相关文章

      网友评论

        本文标题:人脸属性编辑:深度学习方法

        本文链接:https://www.haomeiwen.com/subject/hbamrctx.html