【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

这篇具有很好参考价值的文章主要介绍了【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【论文精读】 SadTalker:Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

论文: 《SadTalker: Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation》
github: https://github.com/Winfredy/SadTalker

摘要 Abstract

通过人脸图像和一段语音音频生成TalkingHead Generation仍然包含许多挑战:不自然的头部运动扭曲的表情和身份变化。 作者认为这些问题主要是因为从耦合的 2D 运动场中学习。 另一方面,使用 3D 信息也存在表情僵硬和视频不连贯的问题。

因此作者提出SadTalker,生成3DMM的三维(头部姿势、表情)系数,利用三维面部渲染器进行视频生成。为了学习逼真的运动场系数,作者建模音频与不同类别运动场系数之间联系。作者提出ExpNet,蒸馏运动场系数与三维渲染人脸学习准确面部表情。对于头部姿势,作者设计PoseVAE生成不同风格头部动画。最终生成的3DMM系数映射至面部渲染器的三维关键点空间进行生成视频。

1. 介绍 Introduction

我这里列出几个我看论文时觉得有趣和重要的点

  • 作者观察到,3D面部模型包含高度解耦的表示,可用于来单独学习每种姿势的运动
  • SadTalker全称实际是:Stylized Audio-Driven Talking-head video generation system through implicit 3D coefficient modulation,作者希望通过3D模型中解耦出来每种姿势的运动来进行学习,这里面就用到了3DMM的运动系数。
  • 作者希望在音频audio中生成逼真的运动系数(例如:头部姿势,嘴唇运动和眨眼),并且单独学习每个运动,这样可以减少不确定性,所以建模音频和运动场系数的关系
  • 对于表情系数的提取,提出一个音频到表情系数网络ExpNet,希望从Wavlip的唇形运动系数和重建渲染的 3D 面部上的感知损失(唇形同步损失、面部关键点损失)中提取系数 。
  • 对于特定姿态的头部姿势来说,提出了PoseVAE,用条件VAE来学习给定姿势的残差来模拟多样性和逼真的头部运动。
  • 在生成了逼真的3DMM运动系数后,再通过一个3D感知面部渲染器来驱动源图像,这个方法借鉴了facevid2vid的想法,建模了3DMM运动系数和面部渲染器的三位关键带你空间之间的关系。

主要的贡献是作者提出了SadTalker,利用ExpNet从音频中蒸馏和提取出真实3DMM的运动系数,利用PoseVAE可以学习特定的头部姿势,最后受facevid2vid的启发,建模了3DMM系数与3D感知面部渲染器中的三维关键点之间的关系,最后可以从源图像生成逼真的视频。

2. 方法 method

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

Figure 2. Main pipeline. Our method uses the coefficients of 3DMM as intermediate motion representation. To this end, we first generate realistic 3D motion coefficients (facial expression β, head pose ρ) from audio, then these coefficients are used to implicitly modulate the 3D-aware face render for final video generation.

整个方法如图2所示,整个系统利用3DMM系数作为中间表示。首先从原始图像中提取出系数,然后从音频中提取出真实的3DMM的系数(面部表情系数β, 头部姿势ρ),最后通过3D感知面部渲染器生成得到最后的视频。

3.1. Preliminary of 3D Face Model

在3DMM中,人脸的shape S 可以被解耦为以下公式

S = S ˉ + α U i d + β U e x p S=\bar{S} + \alpha U_{id}+\beta U_{exp} S=Sˉ+αUid+βUexp

其中 S ‾ \overline{S} S 表示3D人脸平均shape, U i d U_{id} Uid 表示形状正交基, U e x p U_{exp} Uexp 表示表达正交基,α、β为相关系数,其中分别描述的是人的身份和表情。为保留姿态变化,系数r、t分别表示头部旋转及变换;为了使得参数与人体解耦,作者利用音频仅建模参数{β, r, t},其中头部姿势参数 ρ = [ r , t ] ρ=[r,t] ρ=[r,t],这些参数用于调制面部渲染器生成最终视频。

3.2. Motion Coefficients Generation through Audio

**3D运动系数包含头部姿势和表情,其中头部姿势是全局运动,而表情相对是局部的,所以如果一起学习的不确定性会提高。又因为音频与头部姿态弱相关而与嘴唇变换强相关。**因此作者使用PoseVAE生成头部姿态相关系数,ExpNet生成表情相关系数。

ExpNet

通过音频生成准确表情相关参数有两个难点:

  1. 不同人体音频到表情有不同表现,这不是一个一对一的任务;
  2. 表情中有些与音频无关动作,这影响预测准确性;

所以说ExpNet用于降低这些不确定性,而对于个人身份ID问题,可以通过第一帧的表情系数的 β 0 \beta_{0} β0 建立表情和特定人的身份进行关联;为了减少在说话时其他面部成分的表情的权重,就利用预训练的Wav2lip生成的嘴唇运动系数作为target,除此之外,其他的微表情通过额外的关键点损失来约束。
【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

如图3,对于一段音频,首先生成t帧表情系数,其中每个帧的音频特征就是0.2s的梅尔频谱。训练时,利用一个基于ResNet的音频编码器 Φ A Φ_{A} ΦA映射到一个隐空间,然后线性层作为一个映射网络 Φ M Φ_M ΦM解码表情系数,并且还引入参考表情 β 0 \beta_{0} β0用于保持个人特征,在训练时仅仅使用唇部区域作为真值,因此作者还引入了眨眼控制的信号 z b l i n k z_{blink} zblink来形成可控的眨眼,以及对应的眼部关键点的损失用于控制眨眼。

β { 1 , … , t } = Φ M ( Φ A ( a { 1 , … , t } ) , z b l i n k , β 0 ) \beta_{\{1,\dots,t\}}= \Phi_M(\Phi_{A}(a_{\{1,\dots,t\}}),z_{blink},\beta_0 ) β{1,,t}=ΦM(ΦA(a{1,,t}),zblink,β0)

对于损失函数来说,首先使用了 L d i s t i l l L_{distill} Ldistill 来评估 R e ( W a v 2 l i p ( I 0 , a { 1 , … , t } ) ) R_e(Wav2lip(I_0,a_{\{1,\dots,t\}})) Re(Wav2lip(I0,a{1,,t})) 和生成的 β { 1 , … , t } \beta_{\{1,\dots,t\}} β{1,,t}之间的差异, W a v 2 l i p Wav2lip Wav2lip通过第一帧生成唇形同步的视频,这减少了姿势变化和除嘴唇运动之外的其他面部表情的影响,除此之外,还利用一个可微的3D面部渲染器R_d来计算额外的感知损失。计算关键点损失 L l k s L_{lks} Llks用于衡量眨眼范围及整个表情准确率,还利用一个已经预训练好的唇部读取网络 Φ r e a d e r \Phi_{reader} Φreader来读取损失 L r e a d L_{read} Lread来保证唇部的质量。

PoseVAE

如图4,一个基于VAE的模型PoseVAE用于学习逼真的有个人风格的头部运动 ρ ∈ R 6 ρ ∈ R^6 ρR6,PoseVAE是一个编码器解码器结构。在训练时,在固定的n帧进行训练,编码器与解码器输入包括连续的t帧头部姿势,embed为高斯分布,解码器网络根据采样到的分布学习生成t帧姿态。

PoseVAE没有直接生成姿势,而是学习与第一帧姿势 ρ 0 \rho_0 ρ0之间的残差,这使本方法能够在测试阶段中基于第一帧条件下的生成更长、稳定和连续的头部运动。

此外,根据CVAE的想法,还添加了相应的音频特征 a { 1 , … , t } a_{\{1,\dots,t\}} a{1,,t}和风格 z s t y l e z_{style} zstyle作为条件,使得模型更关注节奏及个人风格。其中 L K L L_{KL} LKL用来衡量生成运动的分布, L m s e 和 L G A N L_{mse}和L_{GAN} LmseLGAN确保生成的质量。

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

3.3. 3D-aware Face Render

这一部分是从face-vid2vid得到的灵感,可以隐式地从单个图像中学习 3D 信息,不过face-vid2vid需要真实视频作为驱动信号,而作者提出的面部渲染器利用3DMM参数进行驱动,如图5,作者利用映射网络学习3DMM运动系数与无监督3D关键点之间关系。

这个mappingNet是通过几个一维卷积层构建的,并且中间还利用了PIRenderer进行平滑,但是在后面的消融实验中发现,利用PIRenderer的对齐运动系数会影响到生成视频的运动自然度,只使用表情系数和头部姿势系数会得到更好的结果。

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

训练主要分为两部分:

  1. 以自监督的方式训练face-vid2vid
  2. 冻结frozen外观编码器、关键点估计、图像生成模块参数进行finetuning,而后通过重构的方式训练映射网络,在关键点空间使用 L 1 l o s s L_1 loss L1loss约束。

4. Experiments

与SOTA实验相比

如表1可以看到,与其他实验相比,生成的视频质量更高,并且具有头部姿势多样性。

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

Table 1. Comparison with the state-of-the-art method on HDTF dataset. We evaluate Wav2Lip [28] and PC-AVS [48] in the one-shot settings. Wav2Lip* achieves the best video quality since it only animates the lip region while other regions are the same as the original frame. PC-AVS** is evaluated using the fixed reference pose and fails in some samples.

下图就是上述的一些展示结果,可以看到与其他方法相比,Wav2Lip 产生模糊半脸。 PC-AVS 和 Audio2Head 没能保持身份ID,Audio2Head 只能生成前面说话的脸。此外,MakeItTalk和 Audio2Head 由于 2D 变形而生成扭曲的面部视频,并且SadTalker生成的视频也更加高清。

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

Figure 6. We compare our method with several state-of-the-art methods for single image audio-driven talking head generation. Our method produces much higher quality results in terms of lip synchronization, identity preservation, head motion and image quality. We give the target image above for both lip shape and identity reference. Please refer our supplementary video for better comparison.

User Studies

这里做了一个很有趣的实验,就是让用户来评估一下视频的质量和结果,结果发现用户比较多认为SadTalker生成的视频比较好,作者说可能认为大部分更注重整体的质量和结果,而上述表1所示的结果可能更注重细节了。

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

influence their opinions. User study.

消融实验

ExpNet

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

从表3可以看出,学习所有系数很难得到很好的结果,初始表情 β 0 \beta_0 β0和唇部读取损失 L r e a d L_{read} Lread都是比较重要的,特别是唇部系数,更加重要。

从下图7也可以看出,利用SadTalker的方法,增加了表情多样性和头部姿势的多样性。

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

PoseVAE

这是PoseVAE做的消融实验,可以发现比baseline是好很多的,几乎每一种方法都比baseline的多样性更高。

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

Face Render

作者做了两方面的消融实验的研究:

  • 第一行作者比较了一下PIRender生成的结果(也是利用3DMM系数作为中间表示),可以看出得到了更好的表情重建效果。
  • 第二行作者发现如果使用PIRender使用的面部对齐系数,会生成不真实的头部对齐视频,而本文生成的视频的结果更像真实视频中的轨迹图。

【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)

Limitation

现在SadTalker可以从单张图像和音频生成逼真的视频,但还存在一些限制。由于3DMMs没有眼睛和牙齿的变化,所以Face Render也会在某些情况下无法合成逼真的牙齿,这里面就用GFPGAN来改善这个问题。

除此之外,本文作者仅关注嘴唇及眼睛部分表情,对于情感及视线方向不关心,生成的视频也是固定的Style,从而降低逼真度,他也认为这是未来的工作之一。

5. 结论

作者利用3DMM运动系数作为中间表征,学习其与视频之间关系。利用ExpNet、PoseVAE学习逼真表情及多样头部姿势,3D面部渲染器用于建模3DMM系数与真实视频之间关系,从而可以生成比较逼真的Talking Head Generation的视频。

本文所提方法也可用于其他方向:个性化二维视觉配音,二维卡通动画、三维面部动画、基于NeRF的四维讲话头部生成。文章来源地址https://www.toymoban.com/news/detail-433848.html

到了这里,关于【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 论文阅读:LSeg: LANGUAGE-DRIVEN SEMANTIC SEGMENTATION

    可以直接bryanyzhu的讲解:CLIP 改进工作串讲(上)【论文精读·42】_哔哩哔哩_bilibili 这里是详细的翻译工作 原文链接 https://arxiv.org/pdf/2201.03546.pdf ICLR 2022 我们提出了一种新的语言驱动的 语义图像分割模型LSeg 。LSeg使用一个 文本编码器来计算描述性输入标签 (例如,“草”或“

    2024年02月04日
    浏览(50)
  • 【论文阅读】DiffSpeaker: Speech-Driven 3D Facial Animation with Diffusion Transformer

    DiffSpeaker: 使用扩散Transformer进行语音驱动的3D面部动画 code:GitHub - theEricMa/DiffSpeaker: This is the official repository for DiffSpeaker: Speech-Driven 3D Facial Animation with Diffusion Transformer paper:https://arxiv.org/pdf/2402.05712.pdf 出处:香港理工大学,HKISI CAS,CASIA,2024.2 语音驱动的3D面部动画,可以用

    2024年03月27日
    浏览(101)
  • 【论文阅读】视频理解系列论文精读

    视频理解论文串讲(上)【论文精读】 我们研究了多种扩展CNN在时域上的连接性的方法,以利用局部的时空信息,并建议采用多分辨率、凹陷的架构作为加速训练的一种有希望的方式。 在图像领域积极成果的鼓舞下,我们研究了CNN在大规模视频分类中的表现,在这种情况下

    2023年04月09日
    浏览(38)
  • 【Whisper】《OpenAI Whisper 精读【论文精读】》学习笔记

    Whisper在论文中表示使用单模型(single model)来完成多个语音任务(multitask),李沐教授认为 优点是设计上比较干净 ; 但是他同时也提出了两个疑问: 使用单模型会不会跑得不够快(因为保证多任务的性能需要大参数的模型) 假设同时能做五个任务,假设有一个任务做得比

    2024年02月16日
    浏览(58)
  • 【论文】LearningDepth from Single Monocular Images

    2005 NIPS 文章使用了Markov 随机场(Markov Random Fields, MRF) 从单图像上直接估计出图像的深度信息。 与RGBD输入数据不同的是,文章中采用了YCbCr数据+depth数据。 使用MRF是为了在一张图上融合局部和整体的信息。 作者为了提取出文本信息,使用了15种卷积和应用在YCbCr的Y通道(inte

    2024年02月02日
    浏览(36)
  • 【论文笔记】GeneFace: Generalized and High-FidelityAudio-Driven 3D Talking Face Synthesis

    这项工作泛化能力弱,存在的两个挑战: (1)训练数据规模小。 (2)容易产生“平均脸”。音频到其对应的面部运动是一对多映射,这意味着相同的音频输入可能具有多个正确的运动模式。使用基于回归的模型学习此类映射会导致过度平滑和模糊结果 (1)为了处理弱泛化

    2024年02月04日
    浏览(45)
  • 论文笔记:DCRNN (Diffusion Convolutional Recurrent Neural Network: Data-Driven Traffic Forecasting)

    ICLR 2018 交通预测是一项具有挑战的任务 对道路网络的复杂空间依赖性 随道路条件变化的非线性时间动态 长期预测的固有困难 ——将交通流建模为有向图上的扩散过程 ——引入扩散卷积递归神经网络 (DCRNN) 使用图上的双向随机游走来捕获空间依赖性 使用具有计划采样(sc

    2024年02月01日
    浏览(50)
  • 《论文阅读18》 SSD: Single Shot MultiBox Detector

    研究领域: 2D目标检测 论文:SSD: Single Shot MultiBox Detector ECCV 2016 数据集 论文链接 论文github SSD 网络是作者 Wei Liu 在 ECCV 2016 上发表的论文。对于输入尺寸 300x300 的网络 使用 Nvidia Titan X 在 VOC 2007 测试集上达到 74.3%mAP 以及 59FPS , 对于 512x512   的网络,达到了 76.9%mAP 超越当时

    2024年02月11日
    浏览(37)
  • Transformer模型原理—论文精读

    今天来看一下Transformer模型,由Google团队提出,论文名为《Attention Is All You Need》。论文地址。 正如标题所说的,注意力是你所需要的一切,该模型摒弃了传统的RNN和CNN结构,网络结构几乎由Attention机制构成,该论文的亮点在于提出了 Multi-head attention 机制,其又包含了 self-a

    2024年02月08日
    浏览(59)
  • YOLO系列论文精读

    基本思想: 采用预定义候选区,粗略覆盖图片整个区域,找到粗略候选区,再使用RCNN的边框回归调整到更接近真实的bounding box(one-stage) 基本结构: 【卷积+池化】+【dense+dense】,最后一层输出激活函数使用线性函数(预测bounding box需要数值型) YOLO与RCNN: RCNN需要两步:分

    2024年02月04日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包