Flow-guided One-shot Talking Face Generation with a High-resolution

论文随记|Flow-guided One-shot Talking Face Generation with a High-resolution Audio-visual Dataset 基于高分辨率视听数据集的流引导单镜头说话人脸生成

任务类型:音频驱动图像
本文发表在CVPR2021

引文

贡献:

  • 建立了一个大型的视听数据集,视频分辨率比以前的野外数据集更高,主题/句子比实验室数据集更多;
  • 提出了一种新的特定风格的动画生成器,以产生依赖于参考身份的特定风格动画参数;
  • 第一个利用具有多任务学习功能的动画生成器,在one-shot talking-head生成中同时生成嘴部、眉毛和头部姿势的动画参数;
  • 提出了一个新的流引导(flow-guided)的框架,生成了比基于landmark方法质量更高的视频。
HDTF数据集

建立了一个大型的高分辨率音频视频数据集,命名为高清晰度说话人脸数据集(HDTF),用于talking-face的生成。HDTF数据集由大约362个不同的视频组成,时长为15.8小时。在本文工作中,基于Landmark将其裁剪为512*512。

然后,使用3DMM[1]将裁剪后的人脸解耦为人脸形状参数和人脸动画参数(嘴、眉毛和头部姿态)。3DMM是一个双线性变形模型。经修饰的序列表示为:

image-20231111221849728

其中M(cs,ce)表示3D面部网格点。M0是平均面部网格。{Vs i }60 i=1和{Ve j }33 j=1是面部形状和面部表情的线性基础。CS和CE表示基的系数。{Ve j }33 j=1,基于嘴部的28个,基于眉部的5个。

使用正交缩放投影重建3D面部后,在每段视频中提取人脸形状参数:嘴部、眉部、头部姿势。

方法

image-20231110145758592

基于本文提出的HDTF数据集,提出了一个高质量的one-shot talking-face生成框架如图。该框架由一个音频转动画模块和一个动画转视频模块组成。

Audio-to-animation
特定风格的音频到动画生成器 G a n i G^{ani} Gani

image-20231110153027703

G a n i G^{ani} Gani的结构如图所示。
目标: 将参考图像 I r e f I^{ref } Iref和驱动音频 f a u d i o f^{audio} faudio 转换为与参考面部对应的特定风格的动画参数。
参数: 嘴部、眉毛、头部姿势三个部分。

步骤一(紫色部分): 采用基于CNN的音频特征提取器提取音频特征 f ^ a u d i o \hat f^{audio} f^audio,然后,采用AdaIN操作将 f ^ a u d i o \hat f^{audio} f^audio转换为 f ^ r e f a u d i o \hat f^{audio}_{ref} f^refaudio。具体地,使用预训练的VGG从参考图像 I r e f I^{ref} Iref中提取身份嵌入并输入全连接层以生成AdaIN的尺度和平移参数。
步骤二(橙色部分): 通过三个解码器分支,根据 f ^ r e f a u d i o \hat f^{audio}_{ref} f^refaudio同时生成嘴部、眉毛、头部姿势参数。Mouth分支直接将其解码得到所需参数;在眉毛和头部姿势分支中,首先采用长时间时间解码器来捕获长时间依赖性,长时间解码器基于编码器-解码器网络,具有更快的转发速度,然后再次使用CNN进行解码。

损失函数

嘴部参数损失:

image-20231110155926840

image-20231110155938231

使用L1损失和LSGAN损失来评估,如上方公式。

眉毛和头部姿势损失:

image-20231110161224634

image-20231110161242286

这两个部分具有相同形式的损失,SSIM和LSGAN。SSIM是结构相似性感知,模拟人类视觉感知,具有提取结构信息的优点。其中 µi/ ˆμi 和 σi/ ˆσi 是 pebro/ˆpebro 第 i 维的平均值和标准差。 covi 是协方差。 δ1和δ2是两个小常数。

image-20231110161732048

此模块的损失函数如上。所有的GAN结构都是conditional GAN, D m o u / e b r o / h e d D^{mou/ebro/hed} Dmou/ebro/hed 将 ${f^{audio}, \hat p^{mou/ebro/hed}} $作为输入。

Animation-to-video

在动画转视频模块中,首先通过3DMM将动画参数转换为近似密集运动流 F a p p F^{app} Fapp。然而,受限于3DMM的能力, F a p p F^{app} Fapp不够准确。为了解决上述问题,提出了流引导视频生成器 G v i d G^{vid} Gvid G v i d G^{vid} Gvid可以修改 F a p p F^{app} Fapp并合成高视觉质量的视频。

近似密集运动流 F a p p F^{app} Fapp:

image-20231110211825065

F a p p F^{app} Fapp描述了两帧之间每个像素的大致运动方向。图 5 (a) 以伪彩色显示 F a p p F^{app} Fapp。在 F a p p F^{app} Fapp的生成中,给定一对面部动画参数,3DMM能够在内面部生成精确的密集运动流(图5(b)中的绿色部分)。然而,3DMM 无法描述面部区域之外的运动(图 5 (b) 中的蓝色和橙色部分)。为解决这个问题,我们估计面部区域的近似运动流。
​ 如图5(b)所示,将面部图像裁剪为三个部分:内面部部分(绿色)、上躯干部分(橙色)和头部相关部分(蓝色)。

  • 内面部部分的密集运动流是根据 3DMM 计算的。
  • 假设上躯干随着头部运动,因此取内面部的平均运动作为上躯干部分的运动值。
  • 与头部相关的部分,我们关注头发、耳朵和其他装饰品,并假设它们严格地遵循最近的面部边缘移动。头部相关部分的每个像素的流向与其最近的面部边缘像素相同。

结合三部分的流程,我们得到了最终的 F a p p F^{app} Fapp。但是 F a p p F^{app} Fapp的构建中忽略了背景,背景的流量值是不正确的。此错误将在 G v i d G^{vid} Gvid 中修正。

流引导视频生成器 G v i d G^{vid} Gvid

image-20231110212740639

G v i d G^{vid} Gvid的结构如图6所示。
G v i d G^{vid} Gvid的目的:修改 F a p p F^{app} Fapp,进一步合成高分辨率的说话人脸视频。
G v i d G^{vid} Gvid在网络内部包含两个步骤:第一步(图6中的紫色部分):网络修正 F a p p F^{app} Fapp,并产生精确的密集运动流F、中间抠图图像g和抠图掩模Mm。第二步(图6中的橙色部分):使用F、g和Mm来合成高质量视频。

第一步(图6中的紫色部分):为了修正 F a p p F^{app} Fapp背景中的错误流,本文假设背景是静态的。基于此假设,生成前景mask将 F a p p F^{app} Fapp变换为密集流 F F F,变换过程可用如下公式表示, M f M^{f} Mf在0-1之间:

M f M^{f} Mf将背景修改为静态。为了生成 M f M^{f} Mf,首先使用 F a p p F^{app} Fapp 扭曲参考图像 I r e f I^{ref} Iref 以获得扭曲图像 I w a r p r e f I^{ref}_{warp} Iwarpref 。然后, I r e f I^{ref} Iref F a p p F^{app} Fapp I w a r p r e f I^{ref}_{warp} Iwarpref连接成一个 Hourglass 网络以生成 M f M^{f} Mf。此外,Hourglass网络还输出g和 M m M^{m} Mm用于第二步。

第二步(图6橙色部分):通过结合 I r e f I^{ref} Iref和g(抠图图像)的扭曲版本来合成图像。该组合通过消光mask M m M^{m} Mm 进行平衡。为了减少网络的参数,上述组合在特征图空间中完成,并写为如下公式。 f r e f f^{ref} fref 表示基于 CNN 的编码器对 I r e f I^{ref} Iref 进行编码的特征图。 F ( . ) F(.) F(.) 是与F 的扭曲操作。 f ^ r e f \hat f^{ref} f^ref 是组合结果。最后, f ^ r e f \hat f^{ref} f^ref被输入到基于CNN的解码器中以合成面部图像。

损失函数:

在训练阶段, G v i d G^{vid} Gvid采用了LSGAN损失和特征匹配损失。
GAN损失如下:

image-20231111204623665

感知损失如下:

image-20231111204639940

其中Ni代表了VGG-19中的i层中Wi * Hi * Ci。
特征匹配损失如下公式:

image-20231111204948258

其中Dvidj (.)是 D v i d D^{vid} Dvid第j层。

最终损失如下:

image-20231111205520217

实验与结果
生成结果

image-20231111225028285

image-20231111210319405

图 7 显示了由相同音频驱动的一些高分辨率合成帧。进一步在图8中绘制了三个不同身份的动画参数曲线。图8(a)绘制了控制嘴巴张开的嘴巴参数序列。虽然口腔参数存在轻微的时间偏移和轻微的尺度变化,但不同受试者的序列趋势仍然相似。这意味着嘴型主要取决于讲话内容。

image-20231111225112945

可视化了动画转视频模块的中间结果如图。

与sota方法对比

与sota的方法进行定量和定性比较,在HDTF数据集上对比的结果如下,可以观察到,本文的方法具有很强的竞争力。此外,还可以在嘴唇同步情况较好的情况下,生成分辨率较高的视频。

image-20231111225131887

子模块评估

验证音频到动画模块,与最先进方法进行比较,评估 p m o u p^{mou} pmou,使用了嘴唇Landmark的MSE、SSIM和CCA作为评价指标。

image-20231111211723873

验证动画到视频模块在高分辨率one-shot谈话视频生成方面的优越性。在 HDTF 数据集上重现了之前基于Landmark的作品,并与它们进行定量和定性比较。 PSNR、SSIM 和 CPBD被用作衡量视觉质量的指标。本文的方法也获得了最好的结果。

image-20231111212618560

消融实验

在第一个子模块:(1)删除从 f ^ a u d i o \hat f^{audio} f^audio f ^ r e f a u d i o \hat f^{audio}_{ref} f^refaudio的转换;(2)单独合成动画参数(无多任务训练)。上方表3中展示了实验结果,证明了这两者都有利于动画生成,

在第二子模块:(1)去除 F a p p F^{app} Fapp并使用一个网络(无 F a p p F^{app} Fapp)从内表面的密集流中生成F,该条件放弃了运动从面部流出的假设;(2)去除抠图操作。如表4所示,证明了两种条件的有效性。如果没有 F a p p F^{app} Fapp,网络可能会在面部区域之外生成不准确的密集运动流,从而导致模糊的结果。没有抠图操作,如图11(f)所示,面部区域丢失了一些纹理细节。这表明抠图操作能够细化前景

image-20231111215045306

结论

本文构建了一个大型的高分辨率数据集,命名为HDTF。提出了一个新的流引导的框架,由一个动画生成器和一个流引导的视频生成器构成。优于sota方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值