一次样本音频驱动的说话人脸生成——Real3D-Portrait: One-shot Realistic 3D Talking Portrait论文翻译与代码调试

REAL3D-PORTRAIT原文翻译

封面
Project Page:https://real3dportrait.github.io/
Github:https://github.com/yerfor/Real3DPortrait
Paper:https://arxiv.org/abs/2401.08503

ABSTRACT

  一次样本3D 说话肖像生成旨在从看不见的图像中重建 3D 化身,然后使用参考视频或音频对其进行动画处理以生成说话肖像视频。现有的方法不能同时实现准确的3D化身重建和稳定的说话人脸动画的目标。此外,虽然现有的工作主要集中在合成头部部分,但生成自然躯干和背景片段以获得逼真的说话肖像视频也很重要。为了解决这些限制,我们提出了 Real3D-Potrait,这是一个框架,它 (1) 使用大型图像到图像到平面模型改进了一次样本3D 重建能力,该模型从 3D 人脸生成模型中提取 3D 先验知识; (2) 使用有效的运动适配器促进准确的运动条件动画; (3) 使用头部-躯干-背景超分辨率模型合成具有自然躯干运动和可切换背景的真实视频; (4) 支持具有可泛化音频到运动模型的一次样本音频驱动的说话人脸生成。大量的实验表明,与以前的方法相比,Real3D-Portrait可以很好地推广到看不见的身份,并生成更真实的说话肖像视频。

1 INTRODUCTION

  说话头生成的目的是在给定驾驶条件(运动序列(Wang等人,2021)或驾驶音频(Chung等人,2017;Kim等人,2019;Yi等人,2020;Ye等人,2022)的情况下合成说话肖像视频。它是计算机图形学和计算机视觉中长期存在的跨模态任务,具有多种实际应用(Huang et al., 2022; 2023a),例如视频会议 Huang et al. (2023b) 和视觉聊天机器人 Ye et al. (2023c)。以前的 2D 方法 (Wang et al., 2021; Zhou et al., 2020; Lu et al., 2021) 由于生成对抗网络 (GAN) 的强大功能,可以产生逼真的视频。然而,由于缺乏显式的3D建模,这些2D方法在显著的头部运动下受到扭曲伪影和不切实际的扭曲的挑战。在过去的几年里,基于神经辐射场 (NeRF) 的 3D 方法 (Mildenhall et al., 2020; Guo et al., 2021; Hong et al., 2022b; Shen et al., 2022; Ye et al., 2023b) 一直盛行,因为它们保持了逼真的 3D 几何形状,即使在大的头部姿势下也能保留丰富的纹理细节。然而,在它们中的大多数中,该模型过度拟合一个特定的人,这需要对每个看不见的身份进行昂贵的个人训练。探索一次性 3D 说话人脸生成任务很有希望,即给定一个看不见的人的参考图像,我们的目标是将它提升到 3D 化身并用输入条件对其进行动画处理以获得逼真的 3D 说话人视频。
  随着 3D 生成模型的最新进展,可以学习泛化到各种身份的 3D 三平面表示 (EG3D, Chan et al. (2022)) 的隐藏状态。虽然最近的工作(Li et al., 2023b; Li, 2023)开创了一次性 3D 说话人脸生成,但它们无法同时实现准确的重建和动画。具体来说,一些作品(例如 OTAvatar、Ma 等人(2023))首先生成一个 2D 说话人脸视频,然后通过 3D GAN 反演将其提升到 3D (Yin et al., 2023),它们具有丰富的 3D 先验知识来自 3D GAN,但受到时间抖动和图像失真等动画伪影的挑战。另一项工作(Yu et al., 2023; Li et al., 2023a)学习前馈网络从图像中预测 3D 表示,然后用输入条件变形 3D 模型。然而,由于缺乏视频数据集中的大姿态多视图帧,图像到图像到 3D 重建过程并不稳健,这对于学习 3D 几何至关重要。由于上述挑战,现有的一次性 3D 方法无法生成高质量的说话人脸视频。
  基于这一观察,本文的第一个目标是提高 3D 重建和动画能力:(1)对于重建,我们建议通过从训练有素的 3D 人脸生成模型中提取 3D 先验知识来预训练大型图像到图像 (I2P) 模型。I2P 模型是一个前馈网络,它学习使用单个前向重建输入图像的 3D 表示。我们将 ViT (Dosovitskiy et al., 2020) 和 VGGNet (Simonyan & Zisserman, 2014) 的优势结合起来构建网络架构并扩大模型以更好地存储图像到 3D 映射的知识。(2) 至于动画,我们设计了一个有效的面部运动适配器 (MA) 来在给定输入条件下变形预测的 3D 表示。具体来说,运动适配器以细粒度运动表示、投影归一化坐标代码 (PNCC) (Zhu et al., 2016) 作为输入,然后预测残差运动差异平面,通过元素相加编辑重建的 3D 表示。由于PNCC与外观和姿势很好地分离,我们使用浅SegFormer (Xie et al., 2021)来有效地将输入的表达信息注入到规范空间中。总之,我们预先训练了一个大规模的图像到平面主干,用于广义和高质量的3D重建,然后利用轻量级运动适配器实现高效的面部动画。
  第二个目标是提高合成躯干和背景段的自然度。现有的方法要么只对头部部分进行建模(Hong et al., 2022b),要么对整个头部和躯干进行建模(Li et al., 2023b),忽略了自然躯干和背景获取真实说话肖像视频的必要性。为了处理这个限制,我们建议分别对头部、躯干和背景片段进行建模,并在渲染过程中将它们组合成最终图像。具体来说,我们设计了一个Head-Torso-Background超分辨率(HTB-SR)模型,该模型由一个超分辨率分支组成,用于对低分辨率体绘制的头部图像进行上采样,一个基于翘曲的躯干分支来建模单个躯干运动,以及一个背景分支来实现可切换的背景渲染。通过这些设计,我们可以在给定运动条件下渲染逼真且高保真的 3D 说话肖像视频。为了进一步支持音频驱动应用,我们设计了一个通用的变分音频到运动(A2M)模型,将音频信号转换为运动表示PNCC。我们的音频到运动模型在没有适应的情况下可以很好地推广到看不见的身份,并支持明确的眨眼和嘴巴幅度控制。
  总而言之,在本文中,我们提出了Real3D-Portrait,一种一次性和逼真的3D说话肖像生成方法:(1)利用I2P模型和运动适配器提高3D重建和动画能力;(2)利用HTB-SR模型实现自然躯干运动和可切换的背景渲染;(3)提出了一种通用的A2M模型,因此成为第一个支持音频和视频驱动场景的一次性3D人脸系统。实验表明,我们的方法优于现有的一次性说话人脸系统,并与最先进的特定于人的方法相比实现了相当的性能。消融研究证明了每个组件的有效性。

2 RELATED WORK

  我们的工作侧重于一次性 3D 说话人脸生成任务,它主要与重建和动画两个方面有关,即(1)如何重建输入图像的准确 3D 人脸表示; (2) 如何变形 3D 表示并渲染与驾驶条件(运动或音频)相对应的说话人脸。我们将在以下部分中分别讨论它们。
  3D人脸表示 在说话人脸生成中引入3D人脸表示是提高合成视频自然度的基本技术。最早采用的 3D 表示是 3D 可变形模型 (3DMM) (Blanz & Vetter, 1999),它在人脸渲染过程之前提供了强大的几何形状。然而,由于两个限制,3DMM的精度被认为是不令人满意的:(1)重建的人脸网格保真度较低,缺乏皱纹等细节;(2)只有人脸区域由参数模型建模,无法表示头发、帽子、眼镜等其他区域。然后,出现了一种基于神经辐射场 (NeRF) (Mildenhall et al., 2020) 的 3D 头部表示。早期的基于 NeRF 的 3D 表示通常以低效的每人训练方式提取,这需要数十小时来拟合每个身份。最近,三平面表示 (Chan et al., 2022) 的发明及其在 3D 人脸 GAN 中的使用为高质量和高效的基于 NeRF 的 3D 人脸重建铺平了道路。一些工作 (Sun et al., 2023) 利用 GAN 反演 (Roich et al., 2022) 从预训练的 3D Face GAN 中获得三平面,这存在推理速度慢和时间抖动。相比之下,其他基于预测器的作品 (Trevithick et al., 2023) 探索了学习将图像到平面的映射,该映射直接将输入图像映射到三平面表示,在推理过程中更高效、更稳定。我们的大型图像到图像模型遵循基于预测器的范式。
  2D/3D人脸动画 最早基于2D的人脸动画方法,如(Prajwal等人,2020;Hong等人,2022a)直接采用GAN生成结果,导致训练不稳定和视觉质量差。后来,基于翘曲的方法(Siarohin 等人,2019;Wang 等人,2021;Zhao & Zhang,2022;Pang 等人 2023;Hong & Xu, 2023)旨在在给定从驾驶视频中提取的 3D 感知关键点的情况下,使用密集翘曲场扭曲源图像的像素。它实现了高图像保真度,但由于缺乏严格的3D约束,在大头部姿势的驱动下受到挑战,并且存在扭曲伪影和失真。为了处理 2D 建模引起的伪影,一些工作求助于基于 3D 的方法。
  最早的 3D 说话人脸方法主要基于 3DMM,通常首先对输入图像进行 3D 重建(Deng et al., 2019c; Danˇeˇcek et al., 2022),然后将 3DMM 合并到人脸渲染过程中(Wu et al., 2021)。然而,由于3DMM造成的信息丢失,这些方法无法生成照片般逼真的结果。最近,基于 NeRF 的说话人脸生成盛行,因为它结合了高图像保真度和严格几何约束的优点。然而,大多数成功的都是身份过度拟合的(Guo et al., 2021; Tang et al., 2022; Ye et al., 2023a),这需要对每个看不见的身份进行数十小时的个人训练。最近,一些作品探索了基于 one-shot NeRF 的说话人脸生成与三平面表示,可以分为两类。第一类(Ma et al., 2023; Li, 2023; Trevithick et al., 2023)采用 2D 动画和 3D 提升管道,利用预训练的 2D 说话人脸系统获得 2D 说话人脸视频,然后通过迭代 3D GAN 反演将其提升到 3D(Yin et al., 2023)。这一系列工作可以享受预先训练的3D GAN的鲁棒3D先验知识,但也受到GAN反演不稳定、头部姿态性能下降的挑战。第二类采用 3D 重建和 3D 动画管道 (Li et al., 2023a;b),它学习图像编码器来预测 3D 表示,然后在给定条件的情况下变形重建的 3D 模型。然而,由于视频数据集通常缺乏大视图帧,三维重建的泛化能力并不令人满意。由于空间限制,我们在附录 A 中讨论了我们的方法与以前的方法之间的关系。

3 REAL3D-PORTRAIT

  Real3D-Portrait 旨在实现逼真的一次性视频/音频驱动的 3D 说话人脸生成。如图 1 所示,整体推理管道由大型图像到图像 (I2P) 模型(第 3.1 节)组成,用于重建 3D 头部表示和运动适配器(第 3.2 节)以在给定面部运动的情况下变形 3D 头部。然后,我们可以用体积渲染器在任意相机(头部)姿势渲染头部图像。然后,我们提出了一个头部-背景超分辨率(HTB-SR)模型(第3.3节),以512×512分辨率合成最终图像,分别建模躯干和背景。为了支持音频驱动的应用程序,我们还设计了一个通用的音频到运动(A2M)模型(第3.4节),将原始音频转换为相应的面部运动。四个模型的训练过程是连续的。我们将详细描述设计和训练过程。
图片1
图 1:Real3D-Portrait 的推理管道。以一幅源图像为输入,以视频/音频为驱动条件,合成了具有真实躯干和背景的3D说话化身。

3.1三维人脸重构的图像到图像转换模型

  在第一阶段,我们需要重建源图像I_{src}中目标身份的规范 3D 人脸表示 P c a n o P_{cano} Pcano。具体来说,我们学习了一种前馈网络,它将输入图像直接转换为三平面表示,即图像到图像 (I2P) 模型。
  网络设计 在设计I2P模型的网络结构时,我们注意到网络的两个主要挑战:(1)它应该将输入图像映射到规范的三平面,这需要从像素坐标到世界坐标的坐标变换。(2) 它应该从源图像中提取丰富的外观特征来保证渲染图像的保真度。为此,如图2(a)所示,我们设计了一个由ViT和VGG分支组成的混合网络。ViT分支由一堆SegFormer块组成,它在补丁之间执行注意,并可以有效地处理像素到世界的规范化过程。由于ViT由于补丁嵌入操作不能保持高频纹理,作为补充,我们设计了一个VGG分支,它只是一堆卷积层来提取高频外观特征。两个分支的输出信息通过连接融合,并进一步用浅层卷积层处理以产生最终的三平面表示。请注意,我们删除了 VGG 分支中的所有归一化,以保持所有隐藏层中特定于身份的外观相关偏差。
  预训练过程 说话人脸数据集通常缺乏多视图帧,这对于模型学习 3D 先验知识是必要的。为了提高三维人脸重建的泛化能力,受Trevithick等人(2023)提出的多视图重建任务的启发,我们首先在EG3D (Chan et al., 2022)合成的多视图图像数据集上预训练I2P模型,这是一个用于生成人脸的3D GAN。我们在附录 B.1 中说明了预训练过程。
图2
图2:I2P模型的网络结构、运动适配器和HTB-SR模式

3.2 3D人脸动画的运动自适应

  通过 I2P 模型的预训练过程,我们实现了从源域重建准确的 3D 人脸表示。然后,给定输入运动条件,我们训练一个运动适配器来动画预测的 3D 人脸。
  运动表示 我们使用投影归一化坐标代码 (PNCC) (Zhu et al., 2016; Kim et al., 2018; Li et al., 2023a) 作为运动表示,它是一种姿势/外观不可知的特征图,具有基于 3DMM 人脸的细粒度面部表情信息。具体来说,给定一对身份代码 i 和表达式代码 e,我们可以通过 Z-Buffer (Phong, 1998) 算法和 NCC (Zhu et al., 2016) 作为颜色图,通过在规范姿势处栅格化 3DMM 人脸网格来获得 PNCC。我们在附录 B.2 中提供了计算 PNCC 的详细信息。
   由于3DMM的身份表达分解,我们可以利用PNCC实现身份不可知的运动条件人脸动画。在训练过程中,我们首先拟合训练视频的3DMM参数,得到ground truth PNCC。在推理过程中,我们可以通过以下公式构建驾驶 PNC:
公式1
其中 i s r c i_{src} isrc是源图像的身份系数, e d r v e_{drv} edrv是从驾驶视频中提取或由音频到运动模型预测的表达式系数(第 3.4 节)。
   预测Residual Motion Diff-plane 一旦确定了运动表示,第二个问题是如何将运动条件注入到3D表示中来控制面部表情。我们没有像以前的工作那样选择变形场,因为它通常会导致预测网格的质量较差(Li et al., 2023a)。相反,给定一个训练有素的 I2P 模型来生成具有准确几何/纹理信息的 3D 表示,我们建议学习一个轻量级运动适配器 (MA) 来预测Residual Motion Diff-plane,它只根据不同的运动条件编辑规范三平面 P c a n o P_{cano } Pcano的最小几何形状变化。对于所提出的MA的网络结构,如图2(b)所示,我们采用浅层SegFormer (Xie et al., 2021)享受其高效率和强大的能力,实现注意图斑块上注意带来的交叉坐标变换。具体来说,给定输入运动条件 P N C C d r v PNCC_{drv} PNCCdrv和相机姿势cam,对源图像 I s r c I_{src} Isrc进行动画处理的过程可以表示为:
公式2
  其中VR和SR是香草体渲染器和超分辨率模块,其结构如图5所示;I2P和MA分别是所提出的图像到图像模型和运动适配器; P N C C d r v PNCC_{drv} PNCCdrv是公式1中定义的驱动运动表示。 P N C C s r c PNCC_{src} PNCCsrc是从源图像中提取的PNCC。请注意,MA 的输入是 P N C C s r c PNCC_{src} PNCCsrc P N C C d r v PNCC_{drv} PNCCdrv的串联。这是因为 I2P 模型预测的三平面是源表达式,MA 应该知道源/驱动表达式,以正确地将源表达式的 3D 表示映射到目标表达式。
图5
图 5:预训练阶

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值