论文阅读:Talking Face Generation by Adversarially Disentangled Audio-Visual Representation

问题定义

这篇文章着重的是解耦, 通过唇读这个点可以知道视频帧本身有语义信息, 不同的人也肯定有身份信息, 把视频帧的语义和身份信息解耦然后和声音的语义信息拼接, 理论上就可以得到不同的说话人脸视频.

  • 下图中给定身份图片解耦出身份信息, 可以和解耦的声音的语义信息结合生成视频, 也可以和其他的视频提取出的语义信息结合生成视频, 所以在这里的应用是使用音频或者视频驱动图片, 这是最后能达到的效果.

在这里插入图片描述

数据集

  • LRW with 1-of-500 diverse word labels( 这个是有标签的)

  • For each class, there are more than 800 training samples and 50 validation/test samples
    Each sample is a one-second video with the target word spoken

  • MS-Celeb-1M dataset 这个是同一类人然后有不同的照片的数据集, 这里用来训练identity-preserving module, 应该是用在那个person id的判断上

  • 音频是mdcc, 采样率100hz, 应该是取了0.2s, 也就是20个, 输入是12*20

贡献

  1. 通过联合几个监督信息, 可以得到audio-visual 的联合表征
  2. 可以解耦出语义信息和身份信息
  3. 通过利用唇读工作和音画同步工作, 实现了可以从音频或者视频输入驱动图片的方法

想法

  1. 这里并没有语音的身份解耦, 应用的时候没法保证是否正好解耦出语义信息
  2. 但是视频和音频是共用的所以问题不是很大

方法

总览
解耦部分
  • 作者提出的模型叫 Disentangled Audio-Visual System (DAVS), 整个网络可以分成两部分, 一个是 解耦, 一个是最后的生成, 作者的重点在解耦阶段.

  • 下图是总的结构图 , 先注意左边的解耦的部分, 输入是音频与视频, 音频是mfcc, 类似12*20这种维度表示. 解耦时有三个编码器, 对视频有两个编码, 分别对应语义和身份, 音频有一个, 就是语义.

  • 对于视频的语义编码, 想要其只有语义信息, 给定配对的音频帧与视频帧, 它们可以映射到一个公共的空间, 然后通过同一个分类器Cw, 分类器对应的是单词标签, 类似LRW是词构成的数据集, 可以构建一个大的分类器

  • 对于音频的语义编码, 这个部分编码器的权重和视频的语义提取是一致的, 所以可以认为能提取出同样的语义信息而没有身份信息, 因为上面已经对身份信息完成约束了

  • 对于视频的身份编码, 这个是通过一个分类的对抗网络得到的.

  • 总结: 整个架构的流程就是首先从公共表达中分出身份信息和语义信息, 然后可以组合两部分的信息得到新的视频.

  • 对于提取语义信息的部分, 使用了三个监督信息:

  1. 音频和视频的语义信息通过一个权重共享的分类器 C w C_w Cw
  2. 对比损失 L c L_c Lc 让配对的视频和音频更接近
  3. 分类的对抗训练使得视频的语义和身份信息分的更开
  • 对于身份信息, 有两个监督信息:
  1. 一个是一个身份分类器 C p C_p Cp
  2. 一个是分类的对抗训练
生成部分

对于生成使用了两个损失, 一个是 L1损失, 一个是temporal GAN loss L G A N L_{GAN} LGAN

image-20211207151512954.png

  • 首先想要从语音和视频帧这两种模态中提取出同样的语义信息, 它们必须有一个shared的空间,

具体介绍

音视频联合表达

这个部分是想要音频和视频提取的语义信息接近, 实现如下图:

左边的 L w L_w Lw 是一个权重共享的分类器, 同时用对比损失约束提取出的特征(这里的负类应该要自己构建, 也就是音视频不配对的数据对, sync那个同步判别器提到过 输入的语义特征首先需要normalized), 右边是个Domain 分类器, 想要区分出两种语义信息的来源, 然后两个语义encoder尽量不让它分辨出来源.

image-20211207153733307.png

潜在空间的解耦对抗
从身份信息种择干净语义信息
  • 这个部分是从联合表达空间解耦出语义信息和身份信息.
  • 首先是让身份信息把语义信息摘干净. 这个地方是构建了一个分类器, 让视频身份信息作为输入, 然后看看能不能分类出语义信息, 也就是分类出对应的单词. 分类器是 C p w C_p^w Cpw , 输入是 F p v F_p^v Fpv , 输出是 N w N_w Nw 单词类别, 这个部分的分类公式如下:

在这里插入图片描述

这里的训练方式挺重要, 首先固定编码器权重, 然后训练分类器, 分类器然后固定去训练编码器, 最后的目标是让分类出每种单词的可能性相同

这里的问题是上面的分类损失不够好, 因为始终会有梯度存在, 所以这里改进了一下, 变成下面的公式:

  • 因为分类共有 N w N_w Nw 种所以最后的概率是它的倒数就完美了

在这里插入图片描述

从语义信息中择干净身份信息

使用的还是类似的函数类似的对抗训练方法

在这里插入图片描述

训练过程如下图:

在这里插入图片描述

对话人脸视频生成
  • 这里主要用了两个两个损失, 一个是L1, 一个是temporal GAN loss, 其中 f p ( k ) v f_{p(k)}^v fp(k)v 是随意第k帧的身份信息, 然后

在这里插入图片描述

在这里插入图片描述

其中语义信息可以是来自视频的, 也可以是来自音频的, 正好对应开头的任务定义.

后面是一些实验部分

作者给定test audio , 试图在所有test samples中去查找最近的视频帧, , 反过来也可以查找audio帧, R@5,即计算前5个预测结果里面正确结果出现的次数,Median rank(Med r),表示第一次正确检测到关系时的平均排序, 下面是结果

  • 下面还表示了两个任务的准确率, Containing the task of visual recognition (lip reading) and audio recognition (speech recognition)

image-20211207194244514.png

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

live_for_myself

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值