FaceOff:一个视频到视频的人脸交换系统论文阅读笔记

FaceOff是一个视频到视频的人脸交换系统,通过自我监督学习在潜在空间中合并视频,保留源表情。它解决了传统方法中身份和表情交换的问题,实现了高效、实时的处理,无需针对每个身份进行微调,并在V2VFaceSwap数据集上展示了优越的性能。
摘要由CSDN通过智能技术生成

一、介绍

在这里插入图片描述
目标:旨在将源人脸视频中的身份和表情交换到目标人脸视频中,保留目标的姿势和表情。演员诺兰(来源视频)正在家里方便地录制他的对话和表情。乔伊·崔比亚尼(目标视频)在著名情景喜剧《老友记》中扮演他的替身。

存在的问题:人脸交换只交换源身份,同时保留目标视频的其余特征,所以源表情不会再输出中捕获
解决:提出FaceOff,一个V2V面部交换系统,通过学习一个强大的混合操作来合并两个人脸视频,遵循上述约束。它将视频减少到一个量化的潜在空间,然后在减少的空间中混合它们。FaceOff以自我监督的方式进行训练,并强有力地解决了V2V换脸的非平凡挑战。

在视频中交换人脸是非常重要的,因为它涉及到合并两种不同的动作——演员的面部运动(如眼睛、脸颊或嘴唇的运动)和替身的头部运动(如姿势和下巴的运动)。这需要一个网络,它可以把两个不同的运动作为输入,并产生第三个连贯的运动。我们提出了FaceOff,一个视频到视频的人脸交换系统,它将人脸视频减少到一个量化的潜在空间,并将它们混合在减少的空间中。缺少ground truth。

人脸交换方法使用鉴别器生成器设置来训练网络。鉴别器负责监测交换输出的期望特性。然而,使用鉴别器会导致输出中与输入不同的成分产生幻觉,例如,修改的身份或新颖的表情。因此,我们设计了一种自我监督的训练策略来训练我们的网络:我们使用单个视频作为源和目标。然后,我们在源视频上引入伪运动误差。最后,我们训练一个网络来“修复”这些伪错误,以重新生成源视频。

通过这种自监督的训练策略,模型学习如何消除源视频中的伪动作错误,从而保持生成的输出尽可能接近源视频的原始特征。与传统的使用鉴别器的方法相比,这种策略可以避免生成输出中出现不相关的内容或产生失真。通过这种方式,网络能够更好地实现面部交换,并保持生成结果与源视频的一致性。

在推理阶段直接应用于未见过的身份,而无需进行任何微调(finetuning)的操作。

【也就是说,他们的模型在训练阶段并不需要针对每个身份进行特定的微调,而是能够直接在推理阶段对任意身份进行有效的应用。】

此外,与大多数需要在高端GPU上优化推理时间(从5分钟到24小时不等)的人脸交换方法不同,FaceOff只需向前传递一次视频,只需不到一秒钟。FaceOff的一个关键特性是,它至少保留了一个输入表情(源),现有方法无法保留源表情或目标表情,最后策划并评估了V2VFaceSwap,这是一个由未知身份、背景和光照条件的非受限YouTube视频实例组成的V2V换脸测试数据集。
贡献:(1)我们介绍了V2V人脸交换,这是一种新颖的人脸交换任务,旨在交换源人脸身份和表情,同时保留目标背景和姿势。
(2)我们提出了FaceOff:一种以自我监督方式训练的V2V人脸交换系统。FaceOff通过合并两个不同的人脸视频来生成连贯的视频。
(3)我们的方法在推理时直接处理看不见的身份,而无需任何微调。
(4)我们的方法不需要任何推理时间的优化,推理时间少于一秒钟。
(5)我们发布了V2VFaceSwap测试数据集,并为V2V人脸交换任务建立了基准。
在这里插入图片描述

相关方法

换脸:从源视频(或图像)获得的身份与具有不同身份的目标视频进行交换,从而在交换的输出中保留所有其他目标特征。
DeepFakes 、DeepFaceLabs和FSGAN交换源的整个身份,Motion-coseg[23]具体地将给定源图像(头发或嘴唇或鼻子等)的单个/多个片段的身份交换到目标视频。
Motionsupervised co-part segmentation.
与这些只交换图像的身份或特定部分的方法不同,我们交换随时间变化的表情以及源的身份。此外,FSGAN需要5分钟的推理时间

【在模型接收输入后生成输出所需的时间】

优化,DeepFaceLabs和DeepFakes在高端GPU上需要长达24小时的推理时间。未曾见过的身份在真实场景下的视频,FaceOff只需不到一秒钟的时间就可以进行换脸。
面部操纵:面部操纵根据给定的先验对目标图像/视频的姿势和表情进行动画化。在音频驱动的谈话面部生成中,目标视频中的表情、姿势和嘴唇同步以给定的输入语音音频为条件。我们的方法不假设音频先验。不同方向的面部再现根据驱动视频对源面部运动进行动画处理,[26,21,27,9,22,24]没有交换身份,当目标和源具有相同的身份时。这里,可以根据源视频表情来重新生成目标图像。FaceOff捕捉驱动视频的微表情,这是因为我们依赖于一种混合机制——允许驱动表达式的完美传递。另一个方向是面部编辑,它涉及编辑面部视频的表情,使用这种方法,可以根据源表情直接编辑目标视频,然而在不建模时间动态的情况下对帧序列进行这些编辑通常会导致时间上不连贯的视频。
最近,STIT被提出,通过在视频的潜在空间中进行仔细的编辑,可以将给定的视频连贯地编辑为不同的表情。
但这些技术对表情类型和变异进行有限的控制。此外,获得与源表情匹配的正确目标表情是手动的尝试。FaceOff可以添加标签空间中未定义的微表情,只需将来自同一身份的不同视频的情感与所需表情混合即可。

二、方法

我们的目的只是将演员的面部动作和替身的头部运动融合在一起;因此,所需的输入特征——身份、表情、姿势和背景——在没有额外监督的情况下从输入中自然保留下来。
主要的挑战是对齐前景和背景视频,以便输出形成连贯的身份并具有单个连贯的姿势。所有其他特性都是从输入中重建的。我们的核心思想是使用时间自动编码模型,该模型使用量化的潜在空间合并这些运动。
我们的方法依赖于:
(1)将两个输入运动编码到量化的潜在空间,并在降维空间中学习鲁棒的混合操作

【其中输入的两个动作被转换为离散化的表示,也就是潜在空间中的向量编码。这种编码将连续的输入动作映射到一组离散的数值,以便在更小的维度上进行操作和表示。经过编码的动作向量进入降维的潜在空间,在这个空间中学习一个强大的混合操作。这个混合操作可以将两个动作的特征结合起来,产生一种融合的动作。通过在潜在空间进行操作,模型可以更有效地处理和表示输入的动作,从而提高模型的性能和鲁棒性】

(2) 时间和空间上的相干解码。
(3)在缺乏基本事实的情况下,自我监督的训练计划。

量化潜变量合并视频

我们将视频中的人脸交换视为一个混合问题:给定两个视频作为输入,将视频混合成连贯且有意义的输出。我们依靠编码器将输入视频编码到有意义的潜在空间。我们的整个网络是一个特殊的自动编码器,通过学习的方法,将降低分辨率后的视频在潜空间中进行混合,并生成混合后的输出结果。在选择编码器模型时,我们应该着重考虑其在混合视频中的表现,而不是仅仅训练一个能够准确地捕捉整体数据分布的模型。具有连续潜空间的编码器网络将给定输入的维度降低,通常将其降低到一个被视为潜在分布一部分的单个向量。这个潜在向量是高度随机的;对于每个新输入,都会生成一个非常不同的潜在向量,引入了高度的变化,解码器需要处理这些变化。最近,提出了“向量量化”(vector quantization)的方法。通过固定潜在代码的数量,量化可以减少潜在向量中的变化。然而,使用单个量化的潜在向量无法保留输入的特性。

【在传统的向量量化方法中,潜在空间被划分为许多离散的区域,每个区域都有一个代表性的向量作为潜在代码。当对输入进行编码时,会选择最接近输入的潜在代码作为表示。通过向量量化,我们可以减少潜在向量的变化,因为将其映射到离散的潜在代码空间会限制了其变化范围。然而,由于潜在代码的有限性,单个量化的潜在向量无法完全保留原始输入的所有特性和细节。】

因此,输入被减少到更高维

【更多维度,可以增加潜在代码的数量和精度,从而更好地保留原始输入的特性。这使得解码器能够在重构时更准确地恢复原始输入的细节和属性】

的量化空间(例如64×64),使得完整重建所需的输入的性质被保留。我们的编码器是一种改进的VQV AE2[20]编码器,用于编码视频而不是图像。为此,我们引入了由非线性三维卷积运算组成的时间模块。
在这里插入图片描述
FaceOff是一种在分层量化潜空间中操作的时态自编码器。我们使用自监督训练方案来对FaceOff进行训练,其中使用距离损失来度量生成输出与真实输出之间的差异。在这个方案中,我们首先从单个视频中提取人脸f和背景b。然后,我们对人脸f进行随机旋转、平移、缩放、颜色和非线性扭曲等处理,生成“伪误差”。接下来,修改后的人脸f(作为源)和背景b(作为目标)按帧逐通道拼接,形成单个视频输入。然后对该视频输入进行降维和混合处理,生成连贯且有意义的输出。这个输出应该与源视频s相匹配。通过使用自监督学习方法训练网络,网络能够学习如何从源视频(v)构建目标视频(s)。在训练过程中,网络被暴露于同一身份的不同视频样本,通过学习如何将源视频转化为与目标视频相匹配的方式。这种训练使网络能够学习到通用的变换规则和特征表示,从而在生成换脸视频时能够适应不同的身份。

【VQVAE2 是对传统的 VAE模型进行改进,引入了向量量化技术。向量量化是一种数据压缩和离散化的方法,它通过将连续的数据映射到离散的代码矢量来表示数据。在 VQVAE2中,编码器会将输入数据映射到离散的向量编码(codebook),而不是连续的潜在变量。解码器则将向量编码还原为生成的输出。】
【BT 批大小时间步数】
【"bottom encodings"是指替身动作的编码。top encodings"则指的是演员的面部动作的编码。】

我们编码器的输入是通过按通道连接源前景帧和目标背景帧而生成的单个视频,与VQV AE2一样,我们的编码器首先将级联的视频输入逐帧编码为32×32和64×64维的顶部和底部层次结构。在对每个层次进行量化之前,我们会添加处理降低的视频帧的时间模块。该步骤允许网络利用帧之间的时间连接进行反向传播。然后再次使用标准VQV AE2解码器按帧进行进一步处理。我们的特殊自动编码器与标准自动编码器在损失计算步骤上有所不同。FaceOff采用的方法是将六个通道的视频输入进行处理,其中前三个通道属于源前景,后三个通道属于目标姿势和背景。相比于重构输入,FaceOff的目标是生成一个三通道混合的视频输出。因此,损失计算是基于一个真实的三通道视频与生成的三通道视频输出之间进行的。

自我监督培训方法

采用一种自监督训练方案,该方案侧重于重建输入视频的去噪版本。通过将生成的输出与去噪后的真实输出进行比较,鼓励网络学习并准确地复现原始的表情。使用硬距离损失和自监督训练方案,FaceOff旨在确保生成的输出在面部表情和其他细节上与真实输出非常接近。这样可以实现更有效的V2V换脸,保留准确的源表情,并提高生成视频的整体质量。

当混合两个动作时,会存在全局和局部的姿势差异,使用面部特征点作为参考,通过对源姿势进行旋转、平移和缩放等操作,将其与目标姿势对齐。即使通过对齐全局姿势,局部姿势差异仍然存在,并且在帧之间观察到时间上的不一致。这意味着在换脸过程中,源视频和目标视频的某些局部姿势可能无法完全匹配,导致换脸结果出现时间上的不连贯性。其次,观察到前景和背景颜色(照明、色调、饱和度和对比度)之间存在差异。这意味着生成的换脸视频可能在颜色方面与目标视频不一致,缺乏真实感。为了解决这些问题,文中提到训练网络以在训练过程中复现这些错误。这意味着在训练期间,网络会学习如何产生模拟源视频和目标视频之间的局部姿势差异和颜色差异,从而在生成的换脸视频中更好地模拟这些差异。

再现训练中的推理错误

我们假设在S和T中由N表示的帧数相等。给定两个帧,si∈S和ti∈T使得i=1…N,我们分别将fsi∈Fs和bti∈Bt表示为si和ti的前景和背景。给定Fs和Bt作为输入,网络修复了以下问题:
(1)首先,网络遇到fsi和bti之间的局部姿态差异。这种姿态差可以使用仿射变换函数固定:δ(fsi,bti)=m(rfsi+d)+m(rbti+d),其中m、r和d表示缩放、旋转和平移。

(2)在人脸换脸的情景中,由于面部具有非刚性的特性,简单的仿射变换无法完全捕捉到面部形状的变化。因此,需要引入非线性变换方法来更好地处理面部形状的匹配问题。

一种可学习的非线性变换函数 ω(fsi, bti)。这个非线性变换函数可以被网络用来对输入的图像帧进行变换,只要两个人脸相互适应。为了保证生成的帧具有空间上的一致性并且是有意义的,可以通过距离损失来约束这些变换。距离损失可以促使变换后的帧与目标帧保持空间上的一致性,使得生成的帧更加合理。

(3)时间上的一致性,将变换约束为ω(fsi,bti,fsk,btk),其中k=1…N,使得k̸=i。这里,当前帧上的变换由视频中所有其他帧上的转换约束。

(4)网络遇到了 fsi 和 bti 之间的颜色差异,这个差异可以表示为 c(fsi, bti)。

对于每个帧 si ∈ S,首先从 si 中提取前景 fsi ∈ Fs(作为源图像)和背景 bti ∈ Bt(作为目标图像)。接下来,我们对 fsi 应用随机的旋转、平移、缩放、颜色和畸变(如桶形畸变、胡子等)错误。
在这里插入图片描述
Ω 是一个可学习的函数,J 是网络要最小化的总体损失,P 是一个感知指标(在我们的情况下是 LPIPS),k = 1 . . . N,其中 k ≠ i。

三、实验

实验细节

(1)身份结果(2)表情结果(3)效率
定量指标:1、SPIDis计算人脸图像之间的身份差异。它被计算为使用dlib的人脸检测模块生成的人脸嵌入之间的欧几里得距离。2、Fréchet视频距离(FVD)计算生成的视频输出中的时间相干性。3、地标距离(LMD):评估源和交换输出的整体面结构和表情。为了计算LMD,对源和交换的面部地标进行归一化:首先对面部进行居中处理,然后绕x轴旋转,以便眼睛坐标之间的质心和角度对齐平均图像。接下来,将人脸缩放到平均图像。归一化交换的和源视频地标之间的欧几里得距离给出了LMD。我们计算源和输出人脸表情之间的LMD(不考虑面部轮廓的特征点)。4、“Temporally Locally (TL-ID) and Temporally Globally (TG-ID) Identity Preservation” 是在文献[28]中提出的方法。

【TL-ID,将时间序列数据划分为较短的局部窗口,并且每个窗口内的身份信息被认为是保持一致的。通过建立窗口之间的关联,可以在局部范围内保持身份一致性。这种方法在时间序列数据中的身份变化较小或相邻帧之间具有较高的相关性时往往有效。
TG-ID更加全局地保持身份信息。它不仅考虑时间序列数据中的局部窗口,还考虑了整个时间序列的身份变化。这可以通过建立全局特征表示来实现,以捕捉整个时间序列的身份属性。TG-ID适用于时间序列数据中的身份变化较大或者不存在明显的局部相关性的情况。】

在局部和全局级别上评估视频的身份一致性。对于这两个度量,分数为1表示该方法成功地保持了原始视频的身份一致性。
定性指标:(1)交换的输出身份与来源身份的相似程度如何?(2)交换的表情与源表情有多相似?(3)生成的输出是自然的吗?
实验数据集:对V2VFaceSwap数据集进行了基准测试,该数据集由具有许多看不见的身份、背景和照明条件的无约束YouTube视频组成。

换脸结果

在这里插入图片描述
“推断成本”指的是单面交换所花费的时间。FSGAN的推理成本为400×FaceOff,无法完全交换身份。DeepFakes和DeepFaceLabs成功交换了身份,但效率比FaceOff低9000倍。FaceOff完美地交换了源标识和表达式。其他方法都不能交换源表达式。
在这里插入图片描述
V2VFaceSwap数据集上的定量指标。DeepFakes和DeepFaceLabs在单个人脸交换上需要长达24小时的最佳推理;因
此,我们无法与他们进行比较。尽管FSGAN的FVD和Naturaliness(Ntrl.)得分略好,但它未能完全交换身份,这可以从SPIDis、LMD和身份度量中清楚地看出,与FSGAN相比,FaceOff分别提高了22%和28%。此外,FSGAN和FaceOff的FVD差异在感知角度没差,也就是两种方法生成的视频在质量上没有明显的差异。
在这里插入图片描述
在这里插入图片描述
现有的人脸交换方法[17,23,15]使用生成器-鉴别器训练策略。这导致了具有新颖表达式的输出,输出中的表达式(红色框)与输入、源或目标都不匹配。例如,眼睛凝视的方向(第二行)或整体大笑表情(第一行)。FaceOff成功地保留了源表达式(绿色框)。

目标面操纵结果

考虑到源和目标具有相同的身份,将表情从源视频转移到目标视频(面部再现)人们还可以通过识别和量化源表情并使用“面部编辑”网络编辑目标表情来修改目标的表情。
在这里插入图片描述
显示了FaceOff、“面部再现”(FaceVid2Vid)和“面部编辑”(STIT)之间的定性比较。
FaceVid2Vid是一种SOTA人脸再现网络,使用源视频再现目标图像的姿势和表情。FaceOff依赖于确定性的距离损失,因此它可以在输出中保留精确的输入表情。此外,FaceOff保留了时间目标姿态和背景,而Face-Vid2Vid修改了静态帧。
STIT基于输入标签修改面部视频的表情。我们观察源表情,并手动尝试各种强度的“微笑”情绪,从消极到积极。尽管STIT可以改变整体表情,但它需要手动点击和试验来确定确切的表情。它也缺乏个性化的表情(嘴巴张开的程度,细微的眉毛变化)。此外,每一种表情都不能用一个标签来定义

【表情是复杂的,包括多个面部特征的协同作用。因此,仅通过少数几个标签可能无法完全捕捉到某种表情的复杂性。】

而且很难在时间维度上引入情感的变化

【主要关注的是单帧的表情转换,而对于动态的视频序列,其表达能力可能有限】

使用我们提出的方法,可以在视频中加入任何情绪(只要我们可以访问源视频)。

消融实验

在这里插入图片描述
没有时间模块的FaceOff。当我们从一帧跳到另一帧(红框)时,我们可以观察到“摆动效应”:面部结构的显著变化(拉长,然后挤压)。这是因为模型在生成当前帧时不了解相邻帧。
尽管在帧级别上,输出是空间相干的,但当我们在帧之间观察时,我们可以注意到时间上的不相干。
使用时间模块通过相邻帧约束网络使得网络能够学习全局形状拟合问题,从而生成时间相干输出。
在这里插入图片描述
我们删除不同的组件和错误,并评估它们在实现FaceOff方面的贡献。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值