FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning(论文翻译)

FACIAL论文

链接

视频:
https://www.youtube.com/watch?reload=9&app=desktop&v=hl9ek3bUV1E

arvxiv:
https://arxiv.org/abs/2108.07938

摘要

在本文中,我们提出了一种谈话人脸生成方法,该方法以音频信号为输入,以短目标视频剪辑为参考,合成目标人脸的照片逼真视频,具有与输入音频信号同步的自然嘴唇运动、头部姿势和眨眼。我们注意到,合成人脸属性不仅包括与语音高度相关的嘴唇运动等显式属性,还包括与输入音频相关性较弱的头部姿势和眨眼等隐式属性。为了利用输入音频模拟不同人脸属性之间的复杂关系,我们提出了一种人脸隐式属性学习生成对抗网络(face-GAN),该网络集成了语音感知、上下文感知和身份感知信息,以合成具有嘴唇、头部姿势和眨眼。然后,我们的渲染到视频网络将渲染的人脸图像和眨眼的注意力贴图作为输入来生成照片真实感的输出视频帧。实验结果和用户研究表明,我们的方法不仅可以生成具有同步嘴唇运动、自然头部运动和眨眼的逼真人脸视频,其质量优于最先进的方法。



FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning(论文翻译)
图1。三个典型框架的说明。a) 显式属性生成:仅考虑说话头部的嘴运动。b) 隐式变形显式生成:仅生成显式口腔运动,并从参考视频中获取隐式属性。c) 我们的内隐属性学习框架:在一个统一的框架中从输入音频生成显式和隐式属性



1. 介绍

由输入音频驱动的动态说话人脸合成已成为计算机视觉、计算机图形学和虚拟现实领域的一项重要技术。研究取得了稳定的进展[4,9,10,16,26,27,31,32,40],但是,生成与真实拍摄视频无法区分的照片逼真的会说话的人脸仍然是非常具有挑战性的,这些人脸不仅包含同步的嘴唇运动,而且还具有个性化和自然的头部移动和眨眼等。

动态对话人脸中包含的信息大致可以分为两个不同的层次:

  1. 需要与输入语音同步,例如,与听觉语音学信号具有强相关性的嘴唇运动;
  2. 与语音信号只有微弱相关性的属性,例如,与语音背景和个性化谈话风格相关的头部运动,以及眨眼,眨眼的频率主要由个人健康状况和外部刺激决定。

这里,我们将第一种类型的属性称为显式属性,第二种类型称为隐式属性。

应该注意的是,关于说话人脸生成的大多数现有工作[9,10,16,26,27,40]只关注显式属性,通过将嘴唇运动与输入音频同步。例如,Zhou等人[40]将音频分解为与主题相关的信息和与语音相关的信息,以生成清晰的唇形,Chen等人的音频转换和视觉生成(ATVG)网络[9]将音频传输到面部标记,并生成以关键点为条件的视频帧。最近只有少数研究 [ 7 , 36 , 41 ] [7,36,41] [7,36,41]探索了头部姿势的隐式属性与输入音频之间的相关性。例如,Chen等人[7]采用多层感知器作为头部姿势学习器来预测每个输入帧的变换矩阵。
然而,尚不清楚的是:
(1)显性和隐性的属性如何可能相互影响?
(2)如何对不仅依赖于语音信号,而且还依赖于语音上下文信息以及个性化谈话风格的隐式属性(如头部姿势和眨眼)建模?

为了应对这些挑战,我们提出了一个人脸隐式属性学习(FACe)框架,用于合成动态对话人脸,如图2所示。
(1) 与之前的工作[7]不同,我们的面部框架使用个体头部姿势学习者预测内隐属性,通过规则化的对抗性学习,共同学习内隐属性和外显属性。我们建议以协作的方式嵌入所有属性,包括眨眼、头部姿势、表情、身份、纹理和照明的动作单元(AU),以便在相同的框架下对它们潜在的对话人脸生成交互进行建模。
(2) 我们在这个框架中设计了一个特殊的人脸识别系统,共同学习语音、上下文和个性化信息。它将一系列帧作为分组输入,并生成一个上下文潜在向量,然后由单个基于帧的生成器将其与每个帧的语音信息一起编码。FACIAL-GAN最初在我们的整个数据集上进行训练(第4节)。给出一个简短的参考视频(2∼ 3分钟)目标对象,Face-GAN将通过此短视频进行微调,以便捕获其中包含的个性化信息。因此,我们的面部表情识别系统可以很好地捕捉所有语音、上下文和个性化的隐性致谢信息,如头部姿势。
(3) 我们的face-GAN还可以预测眨眼的频率,并将其进一步嵌入辅助眼睛注意图中,以便最终渲染到视频模块,从而在合成的说话人脸中生成逼真的眨眼。

通过显式和隐式属性的联合学习,我们的端到端人脸框架可以生成图1所示的照片逼真的动态对话人脸,优于最新方法产生的结果。本文的贡献有三个方面:
(1)我们提出了一个联合显式和隐式属性学习框架,用于合成具有音频同步嘴唇运动、个性化和自然的头部运动以及真实眨眼的照片真实感对话人脸视频。
(2) 我们设计了一个面部表情模块,用每一帧的语音信息对上下文信息进行编码,对合成自然头部动作所需的隐式属性进行建模。
(3) 我们将人脸生成的眼睛闪烁频率嵌入到渲染人脸的眼睛注意图中,从而在渲染到视频模块生成的视频中实现逼真的眼睛闪烁。

2. 相关工作

音频驱动的对话人脸生成:大多数现有的对话人脸生成方法[4,9,10,16,26,27,31,32,40]侧重于生成与输入音频流同步的视频。Chung等人[10]提出了一种编码器-解码器CNN模型,该模型使用人脸和音频的联合嵌入来生成合成的说话人脸视频帧。Chen等人[9]提出了一种分层结构,首先将音频传输到关键点,然后生成以关键点为条件的视频帧。然而,在通过这些方法生成的对话人脸视频中,头部姿势在演讲过程中几乎是固定的。为了实现头部运动的照片逼真视频,几种技术[28、23、29、34]首先生成与输入音频同步的嘴唇区域,并将其合成为原始视频。Suwajanakorn等人[28]利用巴拉克·奥巴马(Barack Obama)的音频流合成了一段他演讲的逼真视频。然而,由于需要大量的视频片段,该方法适用于其他角色。Thies等人[29]利用潜在的3D模型空间生成可供不同人群使用的对话人脸视频。最近,Chen等人[7]和Yi等人[36]专注于直接从输入音频生成头部运动。Yi等人[36]提出了一种增强记忆的GAN模块,用于生成具有个性化头部姿势的照片逼真视频。然而,由于网络和3D模型的限制,它们生成的面部表情(例如眨眼)和头部运动往往是静止的。相较之下,我们的FACIAL-GAN模块集成语音、上下文和个性化的谈话信息,并将合成尺寸的3D模型与眨眼注意图相结合,生成具有同步嘴唇运动、个性化自然头部姿势和眨眼的照片逼真视频。

视频驱动的对话人脸生成:视频驱动的对话人脸生成方法[20,19,39,37,24,35,30]将人脸表情和轻微的头部运动从给定的源视频帧传输到目标视频帧。Za-kharov等人[37]提出了一个系统,将看不见的人的神经说话头模型的少量和一次性学习作为具有高容量生成器和鉴别器的对抗性训练问题。Kim等人[20]介绍了一种生成性神经网络,用于将源演员的头部姿势、面部表情、眼睛注视和眨眼转换为基于生成的3D模型的肖像视频。然而,由于头部运动和面部表情是由源视频引导的,因此这些方法只能生成与源视频一致的预定谈话头部运动和表情。



FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning(论文翻译)

图2。概述了所提出的内隐属性学习框架。在给定输入音频的情况下,所提出的人脸识别算法旨在生成具有时间相关性和局部语音特征的显式属性(表情)和隐式属性(眨眼AU45、头部姿势)。参考视频通过面部重建操作执行,以提供用于渲染操作的三维模型指导。此外,部分敏感编码将眨眼动作单元作为输入,并用作绘制人脸的眼睛注意图。这些指导被联合起来,以提供给视频网络的渲染。



3. 方法

3.1问题表述

给定输入音频 A \mathcal{A} A 和短路受试者的参考视频 V \mathcal{V} V(2∼3分钟),我们的说话头合成旨在生成与 A \mathcal{A} A 同步的受试者语音视频 S \mathcal{S} S 。生成神经说话头的常规步骤可以表示为:

F l i p = G ( E ( A ) ) S = R ( F l i p , V ) \begin{aligned} \mathcal{F}_{l i p} &=\mathbf{G}(\mathbf{E}(\mathcal{A})) \\ \mathcal{S} &=\mathbf{R}\left(\mathcal{F}_{l i p}, \mathcal{V}\right) \end{aligned} Flip​S​=G(E(A))=R(Flip​,V)​

其中 F l i p \mathcal{F}_{l i p} Flip​ 表示由对抗性生成器合成的显式特征, G . E \mathbf{G} .\mathbf{E} G.E 表示音频特征提取网络, R \mathbf{R} R表示将合成特征转换为输出视频的渲染网络。

如上所述,这种传统的合成方法通常无法捕捉到隐含属性,例如,动态头部姿势 M pose  \mathcal{M}_{\text {pose }} Mpose ​,和眨眼 M eye  \mathcal{M}_{\text {eye }} Meye ​。为此,我们进一步利用语音音频和这些内隐属性之间的内在相互关系,即面部内隐属性学习(FACIAL)。此外,我们还介绍了眼睛区域 $\mathcal{E} $ 的辅助部分注意力图。我们的面部合成过程的形式如下:

{ F l i p , M pose  , M eye  } = G ( E ( A ) ) S = R ( F l i p , M pose  , E ⊙ M eye  , V ) \begin{gathered} \left\{\mathcal{F}_{l i p}, \mathcal{M}_{\text {pose }}, \mathcal{M}_{\text {eye }}\right\}=\mathbf{G}(\mathbf{E}(\mathcal{A})) \\ \mathcal{S}=\mathbf{R}\left(\mathcal{F}_{l i p}, \mathcal{M}_{\text {pose }}, \mathcal{E} \odot \mathcal{M}_{\text {eye }}, \mathcal{V}\right) \end{gathered} {Flip​,Mpose ​,Meye ​}=G(E(A))S=R(Flip​,Mpose ​,E⊙Meye ​,V)​

图2 中的总体框架由两个基本部分组成,即面部生成对抗网络(face-GAN),用于对关节的显式和隐式属性进行编码,以及对视频网络的渲染,用于合成具有同步嘴唇运动、自然头部姿势和真实眨眼的输出对话面部视频。此外,不同的属性需要不同的编码策略,显式属性 F l i p \mathcal{F}_{l i p} Flip​ 与输入音频的音节高度相关,由每个音频帧决定然而,隐式特征 M { eye,pose  } \mathcal{M}_{\{\text {eye,pose }\}} M{eye,pose }​ 在很大程度上依赖于长期信息,例如,下一帧的头部运动由先前的状态决定。因此,我们将在下一小节中详细说明如何将这些属性嵌入到一个统一的框架中。

3.2 FACIAL-GAN



FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning(论文翻译)
图3。提出的人脸识别系统的框架 FACIAL-GAN 。 G t e m G_{tem} Gtem​将整个 T T T 帧序列作为输入来生成时间向量 z z z,而 G l o c G_{loc} Gloc​ 生成每个帧的局部潜在向量 c c c。



为了在一个统一的网络中联合嵌入显式和隐式属性,我们需要

  1. 生成与每一帧的语音特征相对应的显式表达
  2. 在网络中嵌入上下文信息,即时间相关性,以进行内隐属性学习。

我们建议使用FACIAL-GAN作为实现这些目标的解决方案。

该人脸识别系统由三部分组成:时间相关生成器 G t e m G_{tem} Gtem​用于建立上下文关系,局部语音生成器 G l o c G_{loc} Gloc​用于提取每一帧的特征。此外,还利用判别网络 D f D_f Df​ 判断生成属性的真伪。如图3所示,通过 T T T 帧的滑动窗口对输入语音进行采样,并用DeepSpeech[17]预处理以生成特征 a ∈ R 29 × T \mathbf{a} \in \mathbb{R}^{29 \times T} a∈R29×T 。设 f f f 表示面部表情参数, p p p 表示头部姿势特征, e e e 表示眨眼频率,并分别使用 f t f_t ft​、 p t p_t pt​和 e t e_t et​表示第 t t t 帧的特征(详见补充)。

时间相关性生成器:为了提取整个输入序列的时间相关性,我们的关键思想是将 T T T 帧的音频序列 A \mathcal{A} A 馈送到上下文编码器,该编码器生成潜在的全局特征 z z z 。将音频序列作为一个整体,当前特征z的每个单元能够合并来自其他帧的信息。因此,可以通过分割编码特征 z z z 来提取第 t t t 帧的对应特征 z t z_t zt​ 。给定输入音频 A \mathcal{A} A 的DeepSpeech 特征 a [ 0 : T − 1 ] a[0: T-1] a[0:T−1] 及其初始状态 s = { f 0 , p 0 , e 0 } ∈ R 71 \mathbf{s}=\left\{f_{0}, p_{0}, e_{0}\right\} \in \mathbb{R}^{71} s={f0​,p0​,e0​}∈R71 ,我们生成预测的时间属性序列 z t , t ∈ [ 0 , T − 1 ] z_{t}, t \in[0, T-1] zt​,t∈[0,T−1] 用 G t e m G_{tem} Gtem​。引入初始状态 s \mathbf{s} s 是为了确保生成序列之间的时间连续性。

局部语音生成器:时间网络 G t e m G_{tem} Gtem​ 关注整个时域,其中不强调每个帧的语音特征。因此,我们使用本地语音网络 G l o c G_{loc} Gloc​为第 t t t 帧生成局部特征 c t c_t ct​。以第t帧为例, G l o c G_{loc} Gloc​ 接收音频特征 a t = a [ t − 8 : t + 8 ] a_{t}=a[t-8: t+8] at​=a[t−8:t+8] 作为输入,并输出局部特征 c t c_t ct​。现在,我们已经获得了时间步长 t t t 的时间特征 z t z_t zt​和局部特征 c t c_t ct​。用一个全连接层 F C FC FC 将 z t z_t zt​ 和 c t c_t ct​ 映射到预测参数 f ^ t , p ^ t , e ^ t ∈ R 71 \hat{f}_{t}, \hat{p}_{t}, \hat{e}_{t} \in \mathbb{R}^{71} f^​t​,p^​t​,e^t​∈R71 。FACIAL-GAN的编码过程可以表示为:

z t = S ( G t e m ( E ( A ) ∣ s ) , t ) c t = G l o c ( S ( E ( A ) , t ) ) [ f ^ t , p ^ t , e ^ t ] = F C ( z t ⊕ c t ) \begin{aligned} &z_{t}=\mathcal{S}\left(\mathbf{G}^{t e m}(\mathbf{E}(\mathcal{A}) \mid \mathbf{s}), t\right) \\ &c_{t}=\mathbf{G}^{l o c}(\mathcal{S}(\mathbf{E}(\mathcal{A}), t)) \\ &{\left[\hat{f}_{t}, \hat{p}_{t}, \hat{e}_{t}\right]=\mathbf{F C}\left(z_{t} \oplus c_{t}\right)} \end{aligned} ​zt​=S(Gtem(E(A)∣s),t)ct​=Gloc(S(E(A),t))[f^​t​,p^​t​,e^t​]=FC(zt​⊕ct​)​

其中, 函数 S ( X , t ) \mathcal{S}(\mathbf{X}, t) S(X,t) 表示分割和提取特征 X \mathbf{X} X 第 t t t 个特征块, ⊕ \oplus ⊕ 是特征拼接的方式。 E \mathbf{E} E 表示音频特征提取。

学习目标:我们通过以下损失函数监督我们的生成器网络 G t e m G_{tem} Gtem​和 G l o c G_{loc} Gloc​:

L R e g = ω 1 L exp ⁡ + ω 2 L pose  + ω 3 L eye  + ω 4 L s \mathcal{L}_{\mathrm{Reg}}=\omega_{1} \mathcal{L}_{\exp }+\omega_{2} \mathcal{L}_{\text {pose }}+\omega_{3} \mathcal{L}_{\text {eye }}+\omega_{4} \mathcal{L}_{s} LReg​=ω1​Lexp​+ω2​Lpose ​+ω3​Leye ​+ω4​Ls​

其中 ω 1 , ω 2 , ω 3 \omega_{1}, \omega_{2}, \omega_{3} ω1​,ω2​,ω3​, 和 ω 4 \omega_{4} ω4​ 是平衡权重, L s L_s Ls​ 是初始状态值的 L 1 L_1 L1​ 范数损失,这保证了生成的滑动窗口序列之间的连续性:

L s = ∥ f 0 − f ^ 0 ∥ 1 + ∥ p 0 − p ^ 0 ∥ 1 + ∥ e 0 − e ^ 0 ∥ 1 \mathcal{L}_{s}=\left\|f_{0}-\hat{f}_{0}\right\|_{1}+\left\|p_{0}-\hat{p}_{0}\right\|_{1}+\left\|e_{0}-\hat{e}_{0}\right\|_{1} Ls​=∥∥∥​f0​−f^​0​∥∥∥​1​+∥p0​−p^​0​∥1​+∥e0​−e^0​∥1​

L exp  , L pose  \mathcal{L}_{\text {exp }}, \mathcal{L}_{\text {pose }} Lexp ​,Lpose ​, 和 L eye  \mathcal{L}_{\text {eye }} Leye ​ 分别是面部表情、头部姿势和眨眼的 L 2 L_2 L2​ 标准损失。我们还引入了运动损耗 U \mathcal{U} U 来保证帧间的连续性。

L e x p = ∑ t = 0 T − 1 V ( f t , f ^ t ) + ω 5 ∑ t = 1 T − 1 U ( f t − 1 , f t , f ^ t − 1 , f ^ t ) L pose  = ∑ t = 0 T − 1 V ( p t , p ^ t ) + ω 5 ∑ t = 1 T − 1 U ( p t − 1 , p t , p ^ t − 1 , p ^ t ) L eye  = ∑ t = 0 T − 1 V ( e t , e ^ t ) + ω 5 ∑ t = 1 T − 1 U ( e t − 1 , e t , e ^ t − 1 , e ^ t ) \begin{aligned} \mathcal{L}_{e x p} &=\sum_{t=0}^{T-1} \mathcal{V}\left(f_{t}, \hat{f}_{t}\right)+\omega_{5} \sum_{t=1}^{T-1} \mathcal{U}\left(f_{t-1}, f_{t}, \hat{f}_{t-1}, \hat{f}_{t}\right) \\ \mathcal{L}_{\text {pose }} &=\sum_{t=0}^{T-1} \mathcal{V}\left(p_{t}, \hat{p}_{t}\right)+\omega_{5} \sum_{t=1}^{T-1} \mathcal{U}\left(p_{t-1}, p_{t}, \hat{p}_{t-1}, \hat{p}_{t}\right) \\ \mathcal{L}_{\text {eye }} &=\sum_{t=0}^{T-1} \mathcal{V}\left(e_{t}, \hat{e}_{t}\right)+\omega_{5} \sum_{t=1}^{T-1} \mathcal{U}\left(e_{t-1}, e_{t}, \hat{e}_{t-1}, \hat{e}_{t}\right) \end{aligned} Lexp​Lpose ​Leye ​​=t=0∑T−1​V(ft​,f^​t​)+ω5​t=1∑T−1​U(ft−1​,ft​,f^​t−1​,f^​t​)=t=0∑T−1​V(pt​,p^​t​)+ω5​t=1∑T−1​U(pt−1​,pt​,p^​t−1​,p^​t​)=t=0∑T−1​V(et​,e^t​)+ω5​t=1∑T−1​U(et−1​,et​,e^t−1​,e^t​)​

其中 V ( x t , x ^ t ) = ∥ x t − x ^ t ∥ 2 2 \mathcal{V}\left(x_{t}, \hat{x}_{t}\right)=\left\|x_{t}-\hat{x}_{t}\right\|_{2}^{2} V(xt​,x^t​)=∥xt​−x^t​∥22​, U ( x t − 1 , x t , x ^ t − 1 , x ^ t ) = \mathcal{U}\left(x_{t-1}, x_{t}, \hat{x}_{t-1}, \hat{x}_{t}\right)= U(xt−1​,xt​,x^t−1​,x^t​)= ∥ x t − x t − 1 − ( x ^ t − x ^ t − 1 ) ∥ 2 2 \left\|x_{t}-x_{t-1}-\left(\hat{x}_{t}-\hat{x}_{t-1}\right)\right\|_{2}^{2} ∥xt​−xt−1​−(x^t​−x^t−1​)∥22​ 是为了保证相邻帧之间的时间一致性。 ω 5 \omega_{5} ω5​ 平衡这两项的权重. 这里我们用 x x x 来表示预测值 x ^ \hat{x} x^ 的真值。
面部判别器 D f \mathbf{D}^{f} Df 的损失定义为:

L F-GAN  = arg ⁡ min ⁡ G f max ⁡ D f E f , p , e [ log ⁡ D f ( f , p , e ) ] + E a , s [ log ⁡ ( 1 − D f ( G f ( a , s ) ) ] \begin{array}{r} \mathcal{L}_{\text {F-GAN }}=\arg \min _{\mathbf{G}^{f}} \max _{\mathbf{D}^{f}} \mathbb{E}_{\mathbf{f}, \mathbf{p}, \mathbf{e}}\left[\log \mathbf{D}^{f}(\mathbf{f}, \mathbf{p}, \mathbf{e})\right]+ \mathbb{E}_{\mathbf{a}, \mathbf{s}}\left[\log \left(1-\mathbf{D}^{f}\left(\mathbf{G}^{f}(\mathbf{a}, \mathbf{s})\right)\right]\right. \end{array} LF-GAN ​=argminGf​maxDf​Ef,p,e​[logDf(f,p,e)]+Ea,s​[log(1−Df(Gf(a,s))]​

其中生成器 G f \mathbf{G}^{f} Gf包括两个子生成器 G tem  \mathbf{G}^{\text {tem }} Gtem  和 G loc ⁡ \mathbf{G}^{\operatorname{loc}} Gloc, 最小化该目标函数,同时对判别器 D f \mathbf{D}^{f} Df 进行最大化优化。最终损失定义为:

L facial  = ω 6 L F − G A N + L R e g \mathcal{L}_{\text {facial }}=\omega_{6} \mathcal{L}_{\mathrm{F}-\mathrm{GAN}}+\mathcal{L}_{\mathrm{Reg}} Lfacial ​=ω6​LF−GAN​+LReg​

3.3 隐式部分敏感编码



FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning(论文翻译)
图4。隐式敏感编码映射的图示。我们最终生成的编码(e)由两部分组成:c)估计眨眼时间和d)眼睛注意图

结合参考视频中的几何、纹理和照明系数,以及从输入音频中生成的表情和头部姿势系数,我们可以渲染具有个性化头部运动的3D人脸。通过旋转和平移头部,3D模型比2D方法更好地描述头部姿势。然而,3D重建方法很难捕捉面部上部区域的细微运动,尤其是如图4所示的眨眼。我们结合了3D模型和2D动作单元的优点,通过个性化的头部运动和自然的眨眼来生成对话人脸。

直观的解决方案是将闪烁值直接连接到面部图像通道。然而,卷积神经网络不能识别眼睛部分的这个通道。我们建议使用眼睛注意图,首先定位眼睛区域,然后根据闪烁的AU值只改变该区域的像素值

我们首先在3D模型中标记眼睛区域的顶点。顶点通过以下标准从3D可变形模型(3DMM)的平均面几何图形中识别:

( v x − center ⁡ x ) 2 / 4 + ( v y −  center  y ) 2 < t h \left(v_{x}-\operatorname{center}_{x}\right)^{2} / 4+\left(v_{y}-\text { center }_{y}\right)^{2}<t h (vx​−centerx​)2/4+(vy​− center y​)2<th

其中 v x , v y v_{x}, v_{y} vx​,vy​ 是顶点 v v v 的 x x x , y y y 值,, c e n t e r x center_{x} centerx​, c e n t e r y center_{y} centery​ 是每个眼睛关键点中心的x,y值,阈值 t h th th 用于调整眼睛区域的大小。
在3D人脸渲染期间,我们定位与标记区域相关的像素,以生成图4中每个人脸图像的眼睛注意图。最后,我们将标准化的闪烁值应用于眼睛注意图中的像素。

3.4 视频网络渲染

我们采用视频网络渲染技术将渲染图像转化为最终的真实感图像。受Kim等人[20]的启发,我们首先将渲染图像与眼睛注意力图相结合,生成大小为 W × H × 4 W \times H \times 4 W×H×4的训练输入数据 I ^ \hat{I} I^(渲染图像有3个通道,注意力图有1个通道)。为确保时间相干性,我们使用大小为 2 N w 2N_w 2Nw​的窗口,当前帧位于窗口的中心。

通过遵循Chan等人的方法[6],我们将渲染训练为视频网络,该网络由生成器 G r G_r Gr​和多尺度判别器 D r = ( D r 1 , D r 2 , D r 3 D_r=(D_{r1}, D_{r2}, D_{r3} Dr​=(Dr1​,Dr2​,Dr3​) 组成,它们以对抗性方式交替优化。生成器 G r G^r Gr 采用叠加张量 X t = { I ^ t } t − N w t + N w X_{t}=\left\{\hat{I}_{t}\right\}_{t-N_{w}}^{t+N_{w}} Xt​={I^t​}t−Nw​t+Nw​​ 大小为 W × H × 8 N w W \times H \times 8 N_{w} W×H×8Nw​ 作为输入,并输出目标人物的真实照片图像 G r ( X t ) \mathbf{G}^{r}\left(X_{t}\right) Gr(Xt​) 。条件判别器 D r D_r Dr​ 将叠加张量 X t X_{t} Xt​ 和检查帧(真实图像 I I I 或生成的图像 G r ( X t ) \mathbf{G}^{r}\left(X_{t}\right) Gr(Xt​))作为输入,并判别检查帧是否为实。损失函数可以表示为:

L render  = ∑ D i r ∈ D r ( L R − G A N ( G r , D i r ) + λ 1 L F M ( G r , D i r ) ) + λ 2 L V G G ( G r ( X t ) , I ) + λ 3 L 1 ( G r ( X t ) , I ) \begin{aligned} \mathcal{L}_{\text {render }}=& \sum_{\mathbf{D}_{i}^{r} \in \mathbf{D}^{r}}\left(\mathcal{L}_{R-G A N}\left(\mathbf{G}^{r}, \mathbf{D}_{i}^{r}\right)+\lambda_{1} \mathcal{L}_{F M}\left(\mathbf{G}^{r}, \mathbf{D}_{i}^{r}\right)\right) &+\lambda_{2} \mathcal{L}_{V G G}\left(\mathbf{G}^{r}\left(X_{t}\right), I\right)+\lambda_{3} \mathcal{L}_{1}\left(\mathbf{G}^{r}\left(X_{t}\right), I\right) \end{aligned} Lrender ​=​Dir​∈Dr∑​(LR−GAN​(Gr,Dir​)+λ1​LFM​(Gr,Dir​))​+λ2​LVGG​(Gr(Xt​),I)+λ3​L1​(Gr(Xt​),I)​

这里 L R − G A N ( G r , D r ) \mathcal{L}_{R-G A N}\left(\mathbf{G}^{r}, \mathbf{D}^{r}\right) LR−GAN​(Gr,Dr) 是对抗性损失, L F M ( G r , D r ) \mathcal{L}_{F M}\left(\mathbf{G}^{r}, \mathbf{D}^{r}\right) LFM​(Gr,Dr) 表示[33]提出的鉴别器特征匹配损失, L V G G ( G r , I ) \mathcal{L}_{V G G}\left(\mathbf{G}^{r}, I\right) LVGG​(Gr,I) 是语义层面相似性的VGG感知损失[18], L 1 ( G r , I ) \mathcal{L}_{1}\left(\mathbf{G}^{r}, I\right) L1​(Gr,I) 是绝对像素误差损失。

通过求解典型的最小-最大优化,可获得最佳网络参数:

G r ∗ = arg ⁡ min ⁡ G r max ⁡ D r L render  ( G r , D r ) . \mathbf{G}^{r *}=\arg \min _{\mathbf{G}^{r}} \max _{\mathbf{D}^{r}} \mathcal{L}_{\text {render }}\left(\mathbf{G}^{r}, \mathbf{D}^{r}\right) . Gr∗=argGrmin​Drmax​Lrender ​(Gr,Dr).

4. 数据集集合

如上所述,以前流行的数据集大多忽略了显式属性和隐式属性的组合。例如,网格[13]为交谈头部视频提供了固定的头部姿势,而一些其他数据集并不关注某个特定人物的属性,例如,LRW[11]包括不同人物的许多短片段。为了联合使用神经说话头的显式和隐式属性,我们采用了Zhang等人[38]的说话头数据集,该数据集具有丰富的信息,即动态头部姿势、眼球运动、嘴唇同步以及自动采集的每帧3D人脸模型。

音频预处理。我们使用DeepSpeech[17]来提取语音特征。DeepSpeech以每秒50帧(FPS)的速度输出字符的正常化对数概率,每秒钟形成一个大小为 50 × D 50×D 50×D 的数组。这里 D = 29 D=29 D=29 是每帧中语音特征的数量。我们使用线性插值将输出重采样为30 FPS,以匹配数据集中的视频帧,该数据集每秒生成一个大小为 30 × D 30×D 30×D 的数组。
头部姿势和眼球运动场。为了自动采集头部姿势以及检测眼球运动,我们采用OpenFace[2]生成每个视频帧的面部参数。头部姿势 p ∈ R 6 \mathbf{p} \in \mathbb{R}^{6} p∈R6 由欧拉角(pitch θ x \theta_{x} θx​, yaw θ y \theta_{y} θy​, roll θ z \theta_{z} θz​)和 三维平移向量 t ∈ R 3 \mathbf{t} \in \mathbb{R}^{3} t∈R3 表示。为了描述眼球运动,利用动作单位(AUs)[15]来定义眼球区域周围肌肉群的动作强度。

3D人脸重建。为了自动生成3D人脸模型,我们采用Deng等人的方法[14]生成人脸参数 [ F id  , F exp  , F tex  , γ ] \left[F_{\text {id }}, F_{\text {exp }}, F_{\text {tex }}, \gamma\right] [Fid ​,Fexp ​,Ftex ​,γ],,这里 F id  ∈ R 80 F_{\text {id }} \in \mathbb{R}^{80} Fid ​∈R80, F exp ⁡ ∈ R 64 F_{\exp } \in \mathbb{R}^{64} Fexp​∈R64 和 F tex  ∈ R 80 F_{\text {tex }} \in \mathbb{R}^{80} Ftex ​∈R80 是几何、表达式和纹理的系数,分别适用于三维模型(3DMM)[3]。 γ ∈ R 27 \gamma \in \mathbb{R}^{27} γ∈R27是球面har-monics(SH)[25]照明系数。3DMM的参数化人脸模型由一个具有N个顶点的模板三角形网格和一个定义人脸几何 S ∈ R 3 N S \in \mathbb{R}^{3 N} S∈R3N 和纹理 T ∈ R 3 N T \in \mathbb{R}^{3 N} T∈R3N 的仿射模型组成:
S = S ˉ + B i d F i d + B exp ⁡ F e x p T = T ˉ + B t e x F tex  \begin{aligned} &S=\bar{S}+B_{\mathrm{id}} F_{\mathrm{id}}+B_{\exp } F_{\mathrm{exp}} \\ &T=\bar{T}+B_{\mathrm{tex}} F_{\text {tex }} \end{aligned} ​S=Sˉ+Bid​Fid​+Bexp​Fexp​T=Tˉ+Btex​Ftex ​​

这里 S ˉ \bar{S} Sˉ 和 T ˉ ∈ R 3 N \bar{T} \in \mathbb{R}^{3 N} Tˉ∈R3N 分别表示平均的面几何体和纹理。 分别地, B i d , B t e x B_{\mathrm{id}}, B_{\mathrm{tex}} Bid​,Btex​ 和 B exp ⁡ B_{\exp } Bexp​ 是采用巴塞尔面部模型[22]和面部仓库[5]的几何、纹理和表情的PCA基础。

数据集统计。提议的数据集包含450多个视频剪辑的丰富样本,这些视频剪辑是从Agarwal等人使用的视频中收集的。[1]。每个视频剪辑大约持续1分钟。我们将所有视频重新标准化为每秒30帧,总共形成535400帧。我们使用5-1-4的训练-验证测试分割进一步划分数据集。我们数据集中的每个视频剪辑都有一个稳定的固定摄像头和适当的照明,只有一个扬声器用于稳定的人脸生成。

5. 实验

5.1 网络训练

训练。我们的训练方案包括两个步骤:
(1)首先在整个训练数据集的基础上优化人脸表情,主要考虑音频和生成属性之间的一般映射。
(2) 给定参考视频V,我们首先提取音频特征 a a a、3D人脸模型、头部姿势 p p p 和眨眼AU e e e。然后我们对面部表情进行微调,学习个性化的谈话风格。同时,我们优化了渲染损失 L r e n d e r L_{render} Lrender​ ,以学习从具有眼睛注意贴图的渲染人脸到最终视频帧的映射。

测试。在给定输入音频的情况下,我们首先使用经过微调的面部表情来映射音频特征到表情 f f f、头部姿势 p p p 和眨眼AU e e e,这些特征具有参考视频的个性化谈话风格。然后,我们对相应的人脸图像和眼睛注意图进行排序,并将其转换为具有个性化谈话风格的真实感目标视频。

实施细节。所有实验均使用Adam[21]Optimizer在单个NVIDIA 1080 Ti GPU上进行,学习率为0.0001。

我们使用尺寸为 T = 128 T=128 T=128 的滑动窗口提取训练的音频和视频样本,并在相邻样本之间使用5帧的滑动距离。共培训了50个epochs,批量为64个,用于一般培训。对于微调步骤,需要10个阶段,批处理大小为16。对于视频网络的渲染,训练过程需要50个阶段,批次大小为1,最后30个阶段的学习率衰减。在我们的实验中,方程中的参数。(4) ,(6),(8)是ω1=2,ω2=1,ω3=5,ω4=10,ω5=10,ω6=0.1。式(10)中的参数为λ1=2、λ2=10和λ3=50。

5.2. 与最新技术的比较



FACIAL: Synthesizing Dynamic Talking Face with Implicit Attribute Learning(论文翻译)

图5。与ATVG[9]、DAVS[40]、Zhou等人[41]和Yi等人[36]的比较。第一行是具有输入音频的相应视频帧。a) 和c)是生成的视频帧。b) 和d)是多帧中面部标志的对应轨迹图。从轨迹图中,我们可以看到生成的头部运动与源视频高度一致。



如图5所示,我们首先将我们的结果与四种最先进的音频驱动的有声人脸视频生成方法进行比较:ATVG[9]、DAVS[40]、Zhou等人[41]和Yi等人[36]。ATVG和DAV是基于2D的方法,以音频序列和目标图像作为输入。他们生成的视频中的头部姿势和眨眼完全是静态的,这与人类的感觉相矛盾。Zhou等人[41]使用人脸标志作为生成有声人脸视频的中间步骤。然而,使用地标位置来表示它们无法完全捕捉头部姿势动力学。Yi等人[36]利用3D人脸模型生成了照片逼真的谈话视频。然而,其生成的头部姿势显示出细微的运动,如图5中的轨迹图所示,眨眼是完全静止的。相比之下,通过显性和隐性属性的协作学习,我们的方法生成具有个性化头部运动和真实眨眼的真实对话人脸视频。我们还将我们的方法与图6中基于二维GAN的Vougioukas等人[32]和Chen等人[7]的方法进行了比较。比较是在相同的字符上进行的,我们的结果比所有其他方法具有更高的视觉质量。我们进一步将我们的方法与音频驱动的面部再现方法进行比较[28,29],后者首先生成与输入音频同步的嘴唇区域,并将其合成为原始视频。我们展示了基于相同角色的定性结果——巴拉克·奥巴马,面部重现方法可以生成照片逼真的谈话视频,如图7所示。然而,它们生成的隐式属性(例如,头部姿势和眨眼)完全来自原始视频,这意味着生成的视频的长度受参考视频的限制,否则,必须使用特殊的视频连接技术。

6.讨论和未来的工作

在这项工作中,我们专注于自然头部姿势和眨眼的内隐属性学习目标。应该注意的是,人类对话视频仍然具有其他隐含属性,例如凝视运动、身体和手势、微表情等,这些属性由其他信息维度引导,可能需要其他网络组件的特定设计。我们希望我们的面部结构能够成为未来探索内隐属性学习的垫脚石,同时也为这些方向的发展提供帮助。

参考

[1] Shruti Agarwal, Hany Farid, Yuming Gu, Mingming He,Koki Nagano, and Hao Li. Protecting world leaders against deep fakes. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops, pages 38–45, 2019. 6
[2] Brandon Amos, Bartosz Ludwiczuk, and Mahadev Satyanarayanan. Openface: A general-purpose face recognition library with mobile applications. Technical report, 2016. 5
[3] Volker Blanz, Thomas Vetter, et al. A morphable model for the synthesis of 3d faces. In Siggraph, volume 99, pages 187–194, 1999. 6
[4] Christoph Bregler, Michele Covell, and Malcolm Slaney. Video rewrite: Driving visual speech with audio. In Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques, pages 353–360, 1997. 1, 2
[5] Chen Cao, Yanlin Weng, Shun Zhou, Yiying Tong, and Kun Zhou. Facewarehouse: A 3d facial expression database for visual computing. IEEE Transactions on Visualization and
Computer Graphics, 20(3):413–425, 2013. 6
[6] Caroline Chan, Shiry Ginosar, Tinghui Zhou, and Alexei A Efros. Everybody dance now. In IEEE International Conference on Computer Vision (ICCV), pages 5933–5942, 2019.5
[7] Lele Chen, Guofeng Cui, Celong Liu, Zhong Li, Ziyi Kou, Yi Xu, and Chenliang Xu. Talking-head generation with rhythmic head motion. In European Conference on Computer Vision (ECCV), pages 35–51, 2020. 2, 7, 8
[8] Lele Chen, Zhiheng Li, Ross K Maddox, Zhiyao Duan, and Chenliang Xu. Lip movements generation at a glance. In European Conference on Computer Vision (ECCV), pages 520–535, 2018. 7
[9] Lele Chen, Ross K Maddox, Zhiyao Duan, and Chenliang Xu. Hierarchical cross-modal talking face generation with dynamic pixel-wise loss. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pages 7832–7841,2019. 1, 2, 6, 7, 8
[10] Joon Son Chung, Amir Jamaludin, and Andrew Zisserman.You said that? In British Machine Vision Conference (BMVC), 2017. 1, 2
[11] Joon Son Chung and Andrew Zisserman. Lip reading in the wild. In Asian Conference on Computer Vision (ACCV), pages 87–103, 2016. 5
[12] Joon Son Chung and Andrew Zisserman. Out of time: automated lip sync in the wild. In Asian Conference on Computer Vision (ACCV), pages 251–263, 2016. 7
[13] Martin Cooke, Jon Barker, Stuart Cunningham, and Xu Shao. An audio-visual corpus for speech perception and automatic speech recognition. The Journal of the Acoustical
Society of America, 120(5):2421–2424, 2006. 5
[14] Yu Deng, Jiaolong Yang, Sicheng Xu, Dong Chen, Yunde Jia, and Xin Tong. Accurate 3d face reconstruction with weakly-supervised learning: From single image to image set.In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops, pages 0–0, 2019. 6
[15] Paul Ekman and Wallace V Friesen. Manual for the facial action coding system. 1978. 6
[16] Tony Ezzat, Gadi Geiger, and Tomaso Poggio. Train-able videorealistic speech animation. ACM Transactions on Graphics (TOG), 21(3):388–398, 2002. 1, 2
[17] Awni Hannun, Carl Case, Jared Casper, Bryan Catanzaro, Greg Diamos, Erich Elsen, Ryan Prenger, Sanjeev Satheesh, Shubho Sengupta, Adam Coates, et al. Deep speech: Scaling up end-to-end speech recognition. arXiv preprint arXiv:1412.5567, 2014. 4, 5
[18] Justin Johnson, Alexandre Alahi, and Li Fei-Fei. Perceptual losses for real-time style transfer and super-resolution. In European Conference on Computer Vision (ECCV), pages 694–711. Springer, 2016. 5
[19] Hyeongwoo Kim, Mohamed Elgharib, Michael Zollh ̈ofer, Hans-Peter Seidel, Thabo Beeler, Christian Richardt, and Christian Theobalt. Neural style-preserving visual dubbing. ACM Transactions on Graphics (TOG), 38(6):1–13, 2019. 3
[20] Hyeongwoo Kim, Pablo Garrido, Ayush Tewari, Weipeng Xu, Justus Thies, Matthias Niessner, Patrick P ́erez, Christian Richardt, Michael Zollh ̈ofer, and Christian Theobalt. Deep video portraits. ACM Transactions on Graphics (TOG), 37(4):1–14, 2018. 3, 5
[21] Diederik P Kingma and Jimmy Ba. Adam: A method for stochastic optimization. In International Conference on Learning Representations (ICLR), 2015. 6
[22] Pascal Paysan, Reinhard Knothe, Brian Amberg, Sami Romdhani, and Thomas Vetter. A 3d face model for pose and illumination invariant face recognition. In 2009 Sixth IEEE International Conference on Advanced Video and Signal Based Surveillance, pages 296–301, 2009. 6
[23] KR Prajwal, Rudrabha Mukhopadhyay, Vinay P Namboodiri, and CV Jawahar. A lip sync expert is all you need for speech to lip generation in the wild. In Proceedings of the 28th ACM International Conference on Multimedia, pages 484–492, 2020. 2
[24] Albert Pumarola, Antonio Agudo, Aleix M Martinez, Al- berto Sanfeliu, and Francesc Moreno-Noguer. Ganimation: Anatomically-aware facial animation from a single image. In European Conference on Computer Vision (ECCV), pages 818–833, 2018. 3
[25] Ravi Ramamoorthi and Pat Hanrahan. An efficient representation for irradiance environment maps. In Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, pages 497–500, 2001. 6
[26] Sanjana Sinha, Sandika Biswas, and Brojeshwar Bhowmick. Identity-preserving realistic talking face generation. In 2020 International Joint Conference on Neural Networks, (IJCNN), 2020. 1, 2, 7
[27] Yang Song, Jingwen Zhu, Dawei Li, Andy Wang, and Hairong Qi. Talking face generation by conditional recurrent adversarial network. In Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence (IJCAI), pages 919–925, 2019. 1, 2
[28] Supasorn Suwajanakorn, Steven M Seitz, and Ira Kemelmacher-Shlizerman. Synthesizing obama: learning lip sync from audio. ACM Transactions on Graphics (TOG), 36(4):1–13, 2017. 2, 7

上一篇:Found multiple @Inject constructors


下一篇:2021-11-02