基于stylegan,优化latent, network,使用style mix获得生成数据,训练出能区别真脸和假脸的分类器

Title

One-Shot Domain Adaptation For Face Generation

Information

论文地址:https://arxiv.org/abs/2003.12869
github地址:

Summary

作者期望区分真实人像和生成的虚假人像。为此,他选择stylegan,给定一张照片后,先优化style vector,再优化stylegan网络,再使用style mix仅保留图像的全局、低级别颜色纹理信息,使得用这些生成数据和真实数据训练的分类器有较高的准确性

Contribution(s)

作者基于stylegan提出一个简单但有效的one-shot domain adaptation model。该模型可以重建one-shot图像,也可以训练出鲁棒的分类器区别不同domians的图片。这个过程自动,基本无监督。

Problem Statement

很多人滥用人脸技术编造虚假新闻,本文关注检测深度学习生成的虚假人脸。为此,作者提出了三点目标:

  1. 期望在仅给出一张例图时能模拟目标domain的概率分布,即domain adaptation approaches。
  2. 从这个分布中随机采样出和目标domain相似的图片
  3. 训练一个分类器区别生成图像和真实图像

    Method(s)

  4. Face Manifold Approximation
    即训练stylegan。
    这里作者为了从stylegan, progan,wgan-gp中挑出最富有表达力的网络,设计了一个实验。用真实数据训练网络A和网络B,再用网络B的生成数据微调网络A。接着基于微调网络A的生成数据和真实数据训练一个分类器。最后用这个分类器去分类B的生成数据和真实数据。如果A的表达能力高于B,则应该能模拟B的分布,分类准确率会比较高;否则会比较低。
    One-Shot Domain Adaptation For Face Generation - 图1
    实验证明,stylegan的表达能力最好,且生成数据最真实最清晰

  5. One-shot Manifold Projection给定一张控制好的人脸图像,固定stylegan的权重并优化style vector(就是latent code,换了个说法)原始stylegan包括mapping network f, synthesis network g。这一步的主要目标是找到$S_I$,使它生成的图像最接近给出的例图。具体做法包括:
    • 脸部landmarks扩张1.3倍,再将这个区域缩放至1024*1024,得到预处理图片I
    • 建立损失函数$Si = \arg\limits{s}minD(g(s), I)$,s是style vector。D由perceptual loss和L1 loss组成
    • 固定模型g用反向传播优化s
  6. 作者表示:更准确的做法应该是同时优化style vector和noise,但是考虑到noise对重建效果的影响很小,因此在实际过程中,noise是固定的。
  7. StyleGAN Manifold Shifting
    完成2以后,作者固定style vector,优化stylegan的权重去最小化生成图像和目标图像间的距离。
    用第2步类似,固定$S_I$用反向传播优化g。但是作者尝试了优化stylegan的不同层,结果表明全部优化效果是最好的。
  8. Style Mixing
    随机采样,每次生成人脸的时候,把最后的层使用的style vector用目标的style vector来替换,这样就将目标图像的低层统计风格迁移到生成的图像上了。
    作者认为之前生成的图像会有一些低级别的统计信息,在训练分类器时是有用的信号。因此使用style mix可以让生成图像继承给定图片的low-level颜色和纹理。
    作者替换不同数量的最后几层的style vector,实验表明替换最后三层能既保留图像的全局信息,又能使它非常接近I。
    通过stylegan manifold shift和style mixing,生成图片符合人脸分布,又能展示目标图像的low-level统计信息。

    刚看的时候这儿有点不理解,后来明白作者的一切目的都是为了让分类器分类更准确。为此,作者在训练分类器的时候期望仅保留全局特征和低级别的颜色纹理信息。

  9. Deepfake Detection
    用生成数据和目标数据作为训练数据训练分类器。使用的backbone网络是ResNet50。
    这个分类器可以区分真实人脸和虚拟人脸,也可以区分是什么各类的虚假人脸。

    Reference

  • Face2Face [45]
  • FaceSwap [2]
  • encoder-decoder DeepFake [1]
  • domain adaptation approaches[27] [32]
  • Reverse generation process[52,8,3,6]