感谢网友 刺客 的线索投递!

一张照片、一段声音秒生超逼真视频!南大等提出全新框架,口型动作精准还原-编程知识网

  新智元报道  

编辑:润 好困

【新智元导读】最近,来自南大等机构的研究人员开发了一个通用的框架,用一段音频就能让照片上的头像讲多国语言。不论是头部动作还是嘴型都非常自然,看到很多不错的

一段音频 + 一张照片,瞬间照片里的人就能开始讲话了。

论文地址:https://arxiv.org/ abs / 2312.01841

这个框架是一个由音频到网格生成,和网格到视频生成组成的两阶段框架。

一张照片、一段声音秒生超逼真视频!南大等提出全新框架,口型动作精准还原-编程知识网

在第一阶段,考虑面部运动和 blendshape 分布之间的一对多映射,利用 blendshape 和 3D 顶点作为中间表征,其中 blendshape 提供粗略运动,顶点偏移描述细粒度嘴唇运动。

此外,还采用了基于多分支 Transformer 网络,以充分利用音频上下文来建模与中间表征的关系。

一张照片、一段声音秒生超逼真视频!南大等提出全新框架,口型动作精准还原-编程知识网

为了更合理地从音频中学习刚性头部运动,研究人员将此问题转化为离散有限空间中的代码查询任务,并构建具有重建和映射机制的可学习头部姿势代码本。

之后,学习到的两个运动都应用于参考标识,从而产生驱动网格。

在第二阶段,基于驱动网格和参考图像,渲染内表面和外表面(例如躯干)的投影纹理,从而全面建模运动。

然后设计一种新颖的双分支运动模型来模拟密集运动,将其作为输入发送到生成器,以逐帧方式合成最终视频。

VividTalk 可以生成具有表情丰富的面部表情和自然头部姿势的口型同步头部说话视频。

如下表所示,视觉结果和定量分析都证明了新方法在生成质量和模型泛化方面的优越性。

一张照片、一段声音秒生超逼真视频!南大等提出全新框架,口型动作精准还原-编程知识网

框架实现方法

给定音频序列和参考面部图像作为输入,新方法可以生成具有不同面部表情和自然头部姿势的头部说话视频。

VividTalk 框架由两个阶段组成,分别称为音频到网格生成和网格到视频生成。

音频到网格生成

这一阶段的目标是根据输入音频序列和参考面部图像生成 3D 驱动的网格。

具体来说,首先利用 FaceVerse 来重建参考面部图像。

接下来,从音频中学习非刚性面部表情运动和刚性头部运动来驱动重建的网格。

为此,研究人员提出了多分支 BlendShape 和顶点偏移生成器以及可学习的头部姿势代码本。

BlendShape 和顶点偏移生成器

学习通用模型来生成准确的嘴部动作和具有特定人风格的富有表现力的面部表情在两个方面具有挑战性:

1)第一个挑战是音频运动相关性问题。由于音频信号与嘴部运动最相关,因此很难根据音频对非嘴部运动进行建模。

2)从音频到面部表情动作的映射自然具有一对多的属性,这意味着相同的音频输入可能有不止一种正确的动作模式,从而导致没有个人特征的面部形象。

为了解决音频运动相关性问题,研究人员使用 blendshape 和顶点偏移作为中间表征,其中 blendshape 提供全局粗粒度的面部表情运动,而与嘴唇相关的顶点偏移提供局部细粒度的嘴唇运动。

对于缺乏面部特征的问题,研究人员提出了一种基于多分支 transformer 的生成器来单独建模每个部分的运动,并注入特定于主题的风格以保持个人特征。

可学习的头部姿势密码本

头部姿势是影响头部说话视频真实感的另一个重要因素。然而,直接从音频中学习它并不容易,因为它们之间的关系很弱,这会导致不合理和不连续的结果。

受到之前研究的启发,利用离散码本作为先验,即使在输入降级的情况下也能保证高保真生成。

研究人员建议将此问题转化为离散且有限头部姿势空间中的代码查询任务,并精心设计了两阶段训练机制,第一阶段构建丰富的头部姿势代码本,第二阶段将输入音频映射到码本生成最终结果,如下图所示。

一张照片、一段声音秒生超逼真视频!南大等提出全新框架,口型动作精准还原-编程知识网

网格到视频生成

如下图所示,研究人员提出了双分支 motionvae 来对 2D 密集运动进行建模,该运动将作为生成器的输入来合成最终视频。

一张照片、一段声音秒生超逼真视频!南大等提出全新框架,口型动作精准还原-编程知识网

将 3D 域运动直接转换为 2D 域运动既困难又低效,因为网络需要寻找两个域运动之间的对应关系以更好地建模。

为了提高网络的性能并获得进一步的性能,研究人员借助投影纹理表示在 2D 域中进行这种转换。

如上图所示,在面部分支中,参考投影纹理 P T 和驱动的投影纹理 P Tare 连接并馈入编码器,然后输入 MLP,输出 2D 面部运动图。

为了进一步增强嘴唇运动并更准确地建模,研究人员还选择与嘴唇相关的标志并将其转换为高斯图,这是一种更紧凑、更有效的表示。

然后,沙漏网络将减去的高斯图作为输入并输出 2D 嘴唇运动,该运动将与面部运动连接并解码为密集运动和遮挡图。

最后,研究人员根据之前预测的密集运动图对参考图像进行变形,获得变形图像,该变形图像将与遮挡图一起作为生成器的输入,逐帧合成最终视频。

实验效果

数据集

HDTF 是一个高分辨率视听数据集,包含 346 个主题的超过 16 小时的视频。VoxCeleb 是另一个更大的数据集,涉及超过 10 万个视频和 1000 个身份。

研究人员首先过滤两个数据集以删除无效数据,例如音频和视频不同步的数据。

然后裁剪视频中的人脸区域并将其大小调整为 256×256。

最后,将处理后的视频分为 80%、10%、10%,这将用于用于培训、验证和测试。

实施细节

在实验中,研究人员使用 FaceVerse 这种最先进的单图像重建方法来恢复视频并获得用于监督的地面实况混合形状和网格。

在训练过程中,Audio-To-Mesh 阶段和 Mesh-To-Video 阶段是分开训练的。

具体来说,音频到网格阶段的 BlendShape 和顶点偏移生成器以及可学习头部姿势代码本也分别进行训练。

在推理过程中,研究人员的模型可以通过级联上述两个阶段以端到端的方式工作。

对于优化,使用 Adam 优化器,两个阶段的学习率分别为 1×10 和 1×10。在 8 个 NVIDIA V100 GPU 上的总训练时间为 2 天。

与 SOTA 的比较

一张照片、一段声音秒生超逼真视频!南大等提出全新框架,口型动作精准还原-编程知识网

可以看到,研究人员提出的方法可以生成高质量的头部说话视频,具有精确的唇形同步和富有表现力的面部运动。

相比之下:

  • SadTalker 无法生成准确的细粒度嘴唇运动,并且视频质量更低。

  • TalkLip 产生模糊结果,并将肤色风格改为略黄,在一定程度上丢失了身份信息。

  • MakeItTalk 无法生成准确的嘴形,尤其是在跨身份配音设置中。

  • Wav2Lip 倾向于合成模糊的嘴部区域,并在输入单个参考图像时输出具有静态头部姿势和眼球运动的视频。

  • PC-AVS 需要驱动视频作为输入,并努力保存身份。

定量比较

如下表所示,新方法在图像质量和身份保留方面表现更好,这通过较低的 FID 和较高的 CSIM 指标反映出来。

一张照片、一段声音秒生超逼真视频!南大等提出全新框架,口型动作精准还原-编程知识网

由于新颖的可学习密码本机制,新方法生成的头部姿势也更加多样化和自然。

虽然新方法的 SyncNet 分数低于 Wav2Lip,但可以驱动使用单个音频而不是视频的参考图像并生成更高质量的帧。

参考资料:

  • https://humanaigc.github.io/vivid-talk/

本文来自微信公众号:新智元 (ID:AI_era)