论文阅读:FaceShifter: Towards High Fidelity And Occlusion Aware Face Swapping

论文地址:https://arxiv.org/pdf/1912.13457.pdf
前言
本文介绍了一种pipline模型, 用以抽取多维度的图片特征信息, 并自适应的完成FaceSwap任务. 整体模型分类两个部分, 第一部分基于AAD(Adaptive Attentional Denormalization, 自适应的注意力非正规化层)构建, 用以生成高保真度的Face Swapping图片; 第二部分则是名为HEAR-Net(Heuristic Error Acknowledging Refinement Network, 启发式错误察觉网络), 其作用为采用一个非常有效的trick解决换脸过程中的面部遮挡问题. 模型的两个部分所解决的问题即构成了论文的卖点: 生成高保真度的, 并且可处理面部遮挡的换脸图片.
Face Swapping的研究脉络可大略的分为三部分, 首先是最早的replacement-based works, 简单的对像素进行一一替换, 这显然对图片的角度和人的姿势要求很高. 之后一些3D-based works使用3D模型来处理图片的姿势问题, 这些模型在推断人脸的纹理, 重建人物肖像的时候非常有效, 但在执行Face Swap时又几乎不会考虑图片之间的素材差距, 比如面部的遮挡, 周围的打光和图像风格等; 也有一些工作收集了大量数据用于监督方式的遮挡识别, 但是模型很容易识别不出它从未见过的遮挡类型. 最后就是近年来的进步, 使用GAN来提升图片质量, 著名的DeepFakes就是一个代表作, 但DeepFakes只能处理特定数据之间的脸部交换; 因此后续的不可知face swapping提出了, 比如RSGAN, IPGAN, FSGAN等. 作者提出, 这些形形色色的GAN都不能自适应的进行特征融合, 因此往往结果不如人意. 所以模型的卖点也就出来了, **首先它可以自适应的抽取多维度特征, 其次它可以考虑图片之间的风格差异如灯光, 表情, 脸型等.

模型介绍
本文提出的模型是一个两阶段pipline模型, 第一阶段称为Adaptive Embedding Intergration Network(AEI-Net), 模型如下所示:

输入的\(X_s\)和\(X_t\)分别是source和target的图片, source图片提供需要换的脸, target提供换脸后的图片背景. 具体处理过程中, \(X_s\)由预训练好的工具Identity Encoder抽取人脸特征\(Z_{id}(X_s)\). \(X_t\)则由一个类似于U-Net的网络提取多属性信息, 比如人的pose, 表情和打光等. 与以前的工作将这些特征作为一个Vector不同, 本文将这些特征视为相对独立的特征集合, 并且使用不同的feature map表示。因此,
\(Z_{att}(X_t)\)代表特征合集, \(n\)代表特征的种类. 本文没有规定究竟有多少特征需要学习, 而是将\(n\)直接定为8, 并在实验中讨论了学习到的特征.
接着就是AAD层, AAD层接收的是上文提取的两个\(Z\), AAD层共有多层, 其层数为n. 每层的输入为之前层的输出, 初始的\(Z_{id}\), 和\(Z_{att}^k\). 在每一个AAD中, 前一层的输出\(h^k\)会分别和\(Z_{id}\), 和\(Z_{att}^k\)一对一的整合, 也就是\(A^k = \gamma^k_{att} \bigotimes h^k + \beta^k_{att}\), 其中\(\gamma和\beta\)是通过FC或者Conv运算分别得到的参数. 为了体现自适应的整合不同的特征信息, 作者提出了一个\(M^k\), 是由\(h^k\)经过\(sigmod\)和卷积之后获得的. 作者认为这个\(M^k\)代表了不同脸部不同部位的重要程度, 比如眼睛, 嘴等等.
AAD网络经过多层的特征融合, 最终会生成一个\(\hat{Y}_{s,t}\), 也就是换脸之后的图像. 该图像的示意如下图:

可以看出最后一列的\(\hat{Y}_{s,t}\)已经非常优秀了, 但我们可以发现相比于原图\(X_t\), 有一些头发和链子的遮挡被忽略了. 这也就是第二部分网络Hear-Net要解决的问题, 遮挡.
Hear-Net的结构并不复杂, 类似于U-net. 实际完成的任务是重新恢复一张图片.

这来自作者的观察, 作者发现如果向他们训练好的AEI-net中输入\(X_t\), 所获得的结果和输入\(X_s\)一样都会忽略一部分遮挡, 那么作者就可以通过对\(\hat{Y}_{t,t}\)和\(X_t\)来简单的找到被忽略的遮挡信息. 使用类似U-net的结构, 可以更好的补充轮廓.
实验
(实验都懂肯定都挑自己最好的放在论文里
训练细节上, AEI-Net使用CelebA-HQ, FFHQ和VGGFace进行训练, HEAR-Net使用上述数据集前10%有遮挡的数据进行训练, 并随机采样了一批具有遮挡的数据.
测试则使用了FaceForensics++.
Quality test

Quantity test
作者定义了三个基准值以评价模型的性能. ID-retrieval是用过人物识别工具在数据集中寻找和当前生成的照片最相似的一张, 然后判断它是否来自target视频中. pose和expression则计算了原图和生成图之间的\(L-2\)距离


浙公网安备 33010602011771号