论文阅读【ACM_2020】SimSwap: An Efficient Framework For High Fidelity Face Swapping

论文阅读【ACM_2020】SimSwap: An Efficient Framework For High Fidelity Face Swapping

  • 论文的缩写全拼
  • 一、摘要(问题,贡献,效果)
  • 二、引言(idea)
    • 1.idea,指出问题所在。
  • 三、方法
    • 1.Generalization to Arbitrary Identity(介绍IIM模块)
    • 2.Generalization to Arbitrary Identity(介绍Weak Feature Matching Loss)
    • 3.Overall Loss Function
  • 四、实验(对比效果评估)
    • 1.Qualitative Face Swapping Results
    • 2.Comparison with Other Methods
    • 3.Analysis of SimSwap
  • 五、感想与总结(自己复现的结果)
  • 复现心得

论文阅读【ACM_2020】SimSwap: An Efficient Framework For High Fidelity Face Swapping_第1张图片

论文地址:Arxiv和https://dl.acm.org/doi/10.1145/3394171.3413630
项目地址:https://github.com/neuralchen/SimSwap
先看看效果:
论文阅读【ACM_2020】SimSwap: An Efficient Framework For High Fidelity Face Swapping_第2张图片

这篇论文在在身份和属性之间保持了一个平衡,在提取原图像身份信息并且嵌入到目标图像的同时必然会影响到目标图像属性的保留。此论文用了两种方法,后文详细介绍。

论文的缩写全拼

英文 中文
Simple Swap (SimSwap) 简单交换
ID Injection Module (IIM) 身份注入模块
Adaptive Instance Normalization(AdaIN) 自适应实例规范化

一、摘要(问题,贡献,效果)

一:解决的问题
Incontrast to previous approaches that either lack the ability to generalize to arbitrary identity or fail to preserve attributes like facial expression and gaze direction
不能将任意源脸的身份转换为任意目标脸,或者不能很好的保留目标脸的属性,如面部表情和凝视方向

二:贡献
our framework is capable of transferring the identity of an arbitrary source face into an arbitrary target face while preserving the attributes of the target face.
我们的框架能够将任意源脸的身份转换为任意目标脸(通过IIM),同时保留目标脸的属性。(通过弱特征匹配损失)

三:效果
Extensive experiments on wild faces demonstrate that our SimSwap is able to achieve competitive identity performance
while preserving attributes better than previous state-of-the-art methods.
在随机面孔上进行的广泛实验表明,我们的SimSwap能够实现竞争性身份性能,同时比以前的最新方法更好地保留属性。
即实现了身份嵌入性能与保留属性性能的一个平衡。

解决问题的两个方式:
First, we present the ID Injection Module (IIM) which transfers the identity information of the source face into the target face at feature level. By using this module, we extend the architecture of an identity-specific face swapping algorithm to a framework for arbitrary face swapping.
首先,我们提出了ID注入模块 (IIM),该模块在特征级别将源面的身份信息传输到目标面中。通过使用此模块,我们将特定于身份的人脸交换算法的体系结构扩展到用于任意人脸交换的框架。
Second, we propose the Weak Feature Matching Loss which efficiently helps our framework to preserve the facial attributes in an implicit way.
其次,我们提出了弱特征匹配损失,该损失有效地帮助我们的框架以隐式方式保留面部属性。

关键词
generative adversarial network, face swapping, image translation
生成对抗网络,人脸交换,图像翻译

二、引言(idea)

提出的问题:换脸的主要困难可以总结如下三点:

  • 1.A face swapping framework with a strong generalization ability should be adapted to arbitrary faces;
    具有较强泛化能力的人脸交换框架应适应任意人脸;(之前已有工作完成[2],本文通过IIM完成)
  • 2.The identity of the result face should be close to the identity of the source face;
    结果面的身份应与源面的身份=接近;
  • 3.The attributes(e.g. expression, posture, lighting etc.) of the result face should be consistent with the attributes of the target face.
    属性 (例如结果脸的表情,姿势,照明等) 应与目标脸的属性一致。

高度概括就是换脸应该满足任意人脸并且身份信息与源脸接近属性与目标脸一致。

人脸交换方法 优缺点
source-oriented methods(面向源的方法) 一、work on the source face at image level 二、transfer attributes(like expression and posture) from the target face to the source face and then blend the source face into the target image. These methods are sensitive to the posture and lighting of the source image and are not able to reproduce the target’s expression accurately.(提出的缺点)
target-oriented methods(面向目标的方法) 一、work on the target face at feature level 二、directly modify the features of the target image and can be well adapted to the variation of the source face.

1.idea,指出问题所在。

However, these methods focus too much on identity modification. They apply weak constrain on attribute preservation and often encounter mismatch in expression or posture.
然而,这些方法过于关注身份修改。他们对属性保留施加弱约束,并且经常遇到表情或姿势不匹配的情况。
指出本文其实是对目标面属性(表情或姿势等)保留效果的一个优化

问题 解决方式
lack of generalization(不能适用于任意身份的元脸) ID Injection Module.Our module conducts modifications on the features of the target image by embedding the identity information ofthe source face, so the relevance between identity information and the weights of Decoder can be removed and our architecture can be applied to arbitrary identities.
Furthermore, identity and attribute information are highly coupled at feature level. A direct modification on the whole features will lead to a decrease in attribute performance and we need to use training losses to alleviate the effect. While explicitly constraining each attribute of the result image to match that of the target image is too complicated Weak Feature Matching Loss. Our Weak Feature Matching Loss aligns the generated result with the input target at high semantic level and implicitly helps our architecture to preserve the target’sattributes.
此外,身份信息和属性信息在特征级别高度耦合。对整个功能进行直接修改将导致属性性能下降,我们需要使用训练损失来减轻这种影响。显式地约束结果图像的每个属性以匹配目标图像的属性过于复杂 ==弱特征匹配损失。==我们的弱功能匹配损失将生成的结果与输入目标在高语义级别上对齐,并隐式地帮助我们的体系结构保留目标的属性。

三、方法

1.Generalization to Arbitrary Identity(介绍IIM模块)

论文阅读【ACM_2020】SimSwap: An Efficient Framework For High Fidelity Face Swapping_第3张图片

模块 功能
Encoder Given a target image , we pass it through our Encoder to extractits features .
ID Injection Module works on changing the identity information in towards the identity information of the source face.
Decoder restores the modified features to the result image.(just focus on restoring the image from the features) 故可以实现任意身份的人脸互换

其中ID Injection Module又分为两个子模块
一、identity extraction part:从IS中提取身份信息向量vS
二、embedding part:使用ID-Blocks将身份信息vS注入到中。其中用到了AdaIN。公式如下:
在这里插入图片描述
其中() 和 () 是输入特征 的信道均值和标准差。 和 是使用全连接层从 生成的两个变量。同时为了为了保证足够的身份嵌入,我们总共使用9个ID-Blocks。

其中包含target图像的身份信息以及属性信息。(二者很难分开)

在训练过程中,于生成的图像result中提取vR与vS进行对比,利用Identity Loss最小化 vR与vS之间的距离。然后遇到问题二。

问题 解决方法
However, the identity and attribute information in are highly coupled and difficult to tellapart. So we directly conduct modifications on the whole and we are using the training loss to encourage the network to learn implicitly which part of should be changed and which part should be preserved.(前文提到了如果显式地去约束属性很麻烦)
However, the minimization of the Identity Loss can make the network overfitted(过拟合) and only generate front face images with the source’s identity while losing all the target’s attributes. To avoid such phenomena, we utilize the idea of adversarial training(对抗性训练) and use the Discriminator to distinguish results with apparent error. The Adversarial Loss(对抗性损失) also plays an import role in improving the quality of the generated result. We use the patchGAN [15] version of the Discriminator.

2.Generalization to Arbitrary Identity(介绍Weak Feature Matching Loss)

问题 解决方案
在IIM中的第二个子模块embedding part中T的属性信息很可能会受到身份嵌入过程的影响。 To prevent the attribute mismatch, we are using the training loss to constrain them. However, if we choose to constrain all the attributes explicitly, we will have to train one network for each attribute. The whole process should be impractical since there are too many attributes should be considered. So we propose to use the Weak Feature Matching Loss to do the constraining in an implicit way.

首先给出 Weak Feature Matching Loss 的公式:
在这里插入图片描述
等式左边:L是loss,wfm是Weak Feature Matching,D是Discriminator。
等式右边:i从m开始是因为删除了最开始的一些层。这里 () 表示从鉴别器 的第 层提取的特征, 表示第 层的元素个数。 是层的总数。 是生成的输出,T 是target图像。

那么问题来了,为什么删除最开始的一些层呢?
解答:The features of shallow layers will play the key role since they mainly contain texture information and are able to constrain the results at pixel level. However, in our face swapping task, introducing too much texture information from the input target image will make the result similar to target face and cause difficulty in identity modification, so we remove the first few layers in the original Feature Matching term.
Our objective is to constrain the attribute performance. Since the attribute is high semantic information which mainly lies in deep features, we are requiring the result image to align with the input target at deep level, and our Weak Feature Matching Loss is only using the last few layers of the Discriminator to calculate the Feature Matching term.
翻译:浅层的特征将发挥关键作用,因为它们主要包含纹理信息,并且能够在像素级别限制结果。但是,在我们的人脸交换任务中,从输入的目标图像中引入过多的纹理信息会使结果类似于目标人脸,并导致身份修改困难,因此我们删除了原始特征匹配项中的前几层。
我们的目标是限制属性性能。由于属性是高语义信息,主要在于深层特征,因此我们要求结果图像在深层与输入目标对齐,而我们的弱特征匹配损失仅使用鉴别器的最后几层来计算特征匹配项。

隐式地学习如何保留输入目标面的属性,是指这个损失函数仅用了鉴别器的最后几层来计算特征匹配项,就可以很好的将目标图像的属性信息保留。

3.Overall Loss Function

公式如下:
在这里插入图片描述

一、LId是Identity Loss用以约束vR和vS的距离, = 10。公式如下:
在这里插入图片描述
二、LRecon是Reconstruction Loss。 = 10。源脸和目标脸身份相同时,结果脸应与目标脸尽可能相似。LRecon作为一个正则化项(regularization term)源脸和目标脸身份不同时,直接令其为0。公式如下:
在这里插入图片描述
三和四、LAdv和LGP分别是Adversarial Loss and Gradient Penalty。 = 10−5 We are using the Hinge version of the Adversarial Loss. We use multi-scale Discriminators for better performance under large postures. We also utilize the Gradient Penalty term to prevent the Discriminators from gradient explosion.
翻译:我们使用的是对抗性损失的铰链版本。我们使用多尺度判别器,以在大姿势下获得更好的性能。我们还利用梯度惩罚项来防止鉴别器梯度爆炸。
五、_m是Weak Feature Matching Loss, = 10。因为有多个鉴别器需要sum一下。公式如下:
论文阅读【ACM_2020】SimSwap: An Efficient Framework For High Fidelity Face Swapping_第4张图片

四、实验(对比效果评估)

1.Qualitative Face Swapping Results

2.Comparison with Other Methods

与三个方法进行了对比分别是

  1. source-oriented method FSGAN
  2. target-oriented methods DeepFakes [7],FaceShfiter [20].

数据集是FaceForensics++
结果:

DeepFakes遭受严重的照明和姿势不匹配。
FaceShifter设法产生了不错的面部交换结果,但是结果面部的表情和注视方向并不完全尊重目标面部的表情和注视方向。

论文阅读【ACM_2020】SimSwap: An Efficient Framework For High Fidelity Face Swapping_第5张图片

继续说明FaceShifter在表情和注视方向方面处理的不是很好。
在图5第2行中,目标脸变窄了。SimSwap可以生成重现这种微妙表达的结果,而FaceShifter则失败。

FSGAN的结果无法再现目标面部的表情 (第1行),注视方向 (第1行和第4行),并且其结果与目标图像之间的光照条件存在明显差异。
此外,FSGAN对输入源图像非常敏感。如第2行所示,目标脸具有清晰的眼睛区域,但FSGAN从源脸引入阴影。
类似的问题也发生在第4行的鼻子周围。
SimSwap对输入源图像的鲁棒性更高,并产生更具说服力的结果。

3.Analysis of SimSwap

第一个部分Efficient Id Embedding
1.The accuracy rate is named as ID retrieval and serves as a representation of the method’s identity performance.
2.We also use the pose estimator [32] to estimate the postures in the generated frames and the original frames, and we calculate their averaged L2 distance.
3.We neglect the facial expression part because we are not able to find a valid reproduction.

其中:
SimSwap-oFM which uses the original Feature Matching formulation
SimSwap-nFM which uses no Feature Matching term.
SimSwap which uses Weak Feature Matching formulation

正如我们所看到的,SimSwap-oFM具有最低的 ID retrieval,因为它将结果与浅级别对齐。(前文提到了鉴别器的前几层是身份信息,后几层是属性信息)同时,通过去除所有层级的约束,SimSwap-nFM 具有与 Faceshifter 非常接近的身份性能。我们的SimSwap在身份上有点落后,但取得了相对较好的姿势表现。结合图4和5中的结果,我们的SimSwap的身份性能比FaceShifter稍弱,但具有更好的属性保存能力。

第二个部分Keeping a Balance between Identity and Attribute
原因:由于我们的IIM直接作用于从目标图像中提取的整个特征 ,因此身份的嵌入将不可避免地影响属性保存的性能。
有两个办法:
办法一:首先是明确地为 设定一个更重的权重,以鼓励更强的修改技能。
办法二:是在特征匹配项中选择更多或更少的特征。
这两种方法的结合可以产生广泛的结果。

继续增加了四个对比实验

名称 说明
SimSwap- , 我们保留原始特征匹配项中的前几层,同时删除最后几层。
SimSwap-oFM-FM- 我们利用原始的特征匹配公式,将 M降低到5。
SimSwap-oFM-id+ 我们利用原始的特征匹配公式,将 增加到20。
SimSwap-wFM-id+ 我们将弱特征匹配损失保持与SimSwap相同,并将 增加到20。

1.如我们所见,oFM, ,oFM-FM-和oFM-id+的ID retrieval都比SimSwap低。这表明保留特征匹配项中的最后几层对身份性能的影响较小。
2.同时,尽管nFM的ID retrieval率最高,但其重建损失最高,这表明强大的修改能力将导致属性保存困难。
3.SimSwap在二者之中取得了一个平衡。

论文阅读【ACM_2020】SimSwap: An Efficient Framework For High Fidelity Face Swapping_第6张图片

我们注意到,具有相同特征匹配项的结果 (col 3 & 4,col 5 & 6) 存在相对较小的差异,这表明 ~~ 的增加对视觉外观的影响有限。
当我们比较SimSwap (col 5) 和SimSwap-oFM (col 3) 之间的结果时,SimSwap呈现了更好的身份性能,而不会丢失太多属性。
SimSwap-nFM (col 7) 的结果具有最佳的身份性能,并且结果面的形状已朝着源面的形状进行了修改。但是,SimSwap-nFM显然正在失去属性,因为凝视方向倾向于偏离目标面的方向。

论文阅读【ACM_2020】SimSwap: An Efficient Framework For High Fidelity Face Swapping_第7张图片

这表明wFM-id+对于身份损失已经过拟合。这是不合适的。(将头发过多的保留了)

五、感想与总结(自己复现的结果)

  1. 这篇论文提出了一个身份注入模块和一个改进的损失函数(Weak Feature Matching Loss),实现了在身份互换和属性保留之间的一个平衡。
  2. 在论文过程中可以进行大量且合适的对比实验,观察不同参数下的结果,说明选择此模型的原因。(参考此论文是,删除前几层,删除后几层,不删除,不使用。然后加强身份的权重,减少wFM权重。等等)
  3. 然后还可以与其他的方法(SOTA)进行对比实验。
  4. 可以说明现有方法的不足之处,然后此方法进行了什么改进。
  5. 一般是找出现有方法的一些不足,详细说明。然后本文是使用了什么方法来解决这个问题。然后不是每项指标都要很好才行,如果是某一项指标好,但是其他指标有相应的下降也可以,就是综合性能优秀也可以。

复现心得

  • 在最开始的项目地址里面按照教程一步一步来进行操作即可,遇到的bug想必也比较好解决。
  • 然后最重要的是,我们如果只是想实验一下,就不需要下载数据集和进行训练,直接下载作者提供的模型进行测试即可,512版本也是如此。
  • 如果想要重新训练出自己的模型可以自己找数据集(即图片)进行训练,然后用自己的模型进行测试。

你可能感兴趣的:(CV,论文阅读,深度学习,人工智能,AI换脸)