Learning-Lip-Sync-from-Audio

https://github.com/KeitaW/SynthesizingObama
https://github.com/supasorn/synthesizing_obama_network_training

3 AUDIO TO VIDEO

Task

给定巴拉克·奥巴马(Barack Obama)总统讲话的音轨,我们寻求合成相应的音轨。 这个问题可能被认为是学习针对一个特定个体量身定制的从音频到视频的序列到序列映射。

Challenge

映射从较低维(音频)到较高维(视频)信号
人类已高度适应唇部运动,因此有必要避免产生异常谷

To make it easier

为了使问题更容易解决,我们专注于合成与语音最相关的面部部分。

  • 对于总统演说片段,我们发现奥巴马讲话的内容与嘴巴周围的区域(嘴唇,脸颊和下巴)以及头部运动各方面的关联最为密切。
  • 当他暂停讲话时,他的头停止移动(我们通过重定时技术对其进行建模)。

因此,我们专注于合成他嘴巴周围的区域,并从素材库中借用奥巴马的其余部分(眼睛,头部,上身,背景)。

The overall pipeline works

总体流程如下(图2):

  • 给定奥巴马的音频,我们首先提取音频特征,以用作递归神经网络的输入,该神经网络为每个输出视频帧输出稀疏的嘴形(第3.1节)。
  • 从稀疏的嘴巴形状,我们合成嘴巴和脸部下部区域的纹理(第3.2节)。
  • 然后将口部纹理混合到经过修改的视频上,以使最终的头部运动看起来自然并与给定的输入语音相匹配(第3.3节)。
  • 在混合过程中,下巴线会弯曲以匹配新语音的下巴,并且脸部将以原始姿势合成目标帧。(第3.4节)。

Fig. 2. 我们的系统首先将音频输入转换为随时间变化的稀疏嘴形。基于此嘴巴形状,我们生成逼真的嘴巴纹理,将其合成到目标视频的嘴巴区域中。在最终合成之前,先对嘴部纹理序列和目标视频进行匹配并重新计时,以使头部运动看起来自然并适合输入语音。

3.1 Audio to Sparse Mouth Shape

Steps

我们跳过了音素提取容易出错的过程,而是直接从音频映射到稀疏形状特征。将问题分解为两个步骤:
1)从音频特征映射到稀疏的形状系数,
2)从形状映射到嘴部纹理。
在这一步中,我们使用标准的MFCC系数表示音频,并用18个嘴唇基准点表示嘴形,然后按PCA基准排名,如下所述。

Audio Features

对于音频功能,我们使用梅尔频率倒谱系数(MFCC),其计算如下:
(1)给定16KHz单声道音频,我们在ffmpeg中使用基于RMS的归一化对音量进行归一化。
(2)在音频上每隔25ms的滑动窗口上进行离散傅立叶变换,采样间隔为10ms。
(3)在傅立叶功率谱上应用40个三角形梅尔标度滤波器,对输出应用对数
(4)应用离散余弦变换以减小13维矢量的维数。
最终的28维输出特征向量由13维向量加上占体积的对数平均能量及其一阶时间导数组成。

Mouth Shape Features

为了计算嘴形,我们首先使用[Suwajanakorn等人的方法]在每个视频帧中检测并定位奥巴马的脸。
对于每张正面的脸,我们使用[Xiong and De la Torre 2013]检测嘴唇的界标,该界标沿嘴唇的内外轮廓给出18个点。
我们将每个18点的嘴形重塑为一个36维矢量,在所有帧上应用PCA,并通过前20个PCA系数的系数表示每个嘴形; 此步骤既可以减少尺寸,又可以对所得特征集进行解相关。
最后,我们通过线性内插PCA系数在时间上将嘴形从30Hz上采样到100Hz,以匹配音频采样率。 请注意,此升采样仅用于训练; 我们最终生成30Hz的视频。

3.1.1 Recurrent Neural Network

我们试图学习从MFCC音频系数到PCA口形系数的映射,用神经网络对该映射进行建模:考虑一下奥巴马说的“美国”一词。 他从发出声音Uhhh开始,这是口腔合成器提示他应该开始张开嘴巴的提示。 显然,我们的网络需要最新的音频特征作为输入来确定嘴巴的形状。但当前的嘴形还取决于以前的嘴形。 他会继续说几小时,在这段时间内嘴巴会张大,而不是从闭合状态重新张开。这些考虑因素激发了递归神经网络(RNN)。

3.2 Facial Texture Synthesis

在本节中,我们描述了从稀疏的嘴形合成高细节面部纹理的方法。 我们专注于合成下脸区域,即嘴,下巴,脸颊以及鼻子和嘴周围的区域。 图8显示了该蒙版。

我们提出了一种方法,该方法结合了来自牙齿代理的加权中值和高频。给定稀疏的嘴形序列和目标视频,我们将独立处理每个嘴形。 算法概述如下:

  1. 对于每个PCA形状,选择固定数量的最匹配给定形状的目标视频帧;
  2. 对候选对象应用加权中值以合成中值纹理;
  3. 从目标视频中选择牙齿代理帧,并将高频牙齿详细信息从代理传输到媒体纹理的牙齿区域。

3.2.1 Candidate frame selection

3.2.2 Weighted median texture synthesis

3.2.3 Teeth Proxy

3.3 Video Re-timing for Natural Head Motion

我们假设有一个目标视频,我们的合成嘴巴区域将被合成到该视频中。 由于目标视频中的语音与源(输入)语音不同,因此幼稚的合成可能显得笨拙。 尤其是,我们注意到对齐音频和视频暂停很重要; 如果奥巴马暂停讲话,但头部或眉毛不停移动,那看起来是不自然的。 为了解决这个问题,我们使用动态编程对目标视频重新计时。 我们在N个合成口动画帧和M个目标视频帧之间寻找最佳单调映射,从而:

  • 它喜欢在发声时多运动而在安静时少动
  • 任何目标视频帧最多可以重复一次,但绝不会跳过。这将放慢速度限制为最多50%,并且无法加速视频;否则会发生明显的跳跃或冻结。
  • 它更喜欢目标视频中放慢速度最不明显的部分,即在眨眼或快速表情变化期间不会放慢脚步。

Learning-Lip-Sync-from-Audio 算法笔记相关推荐

  1. 论文阅读:Synthesizing Obama: Learning Lip Sync from Audio

    文章目录 音频到landmarks 面部纹理合成 候选帧选择 加权中位数纹理的合成 牙齿proxy (Teeth Proxy) 音频到视频部分出现的术语: stock video footage:th ...

  2. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  3. Deep Learning(深度学习)学习笔记整理系列之(二)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  4. Deep Learning(深度学习)学习笔记整理系列之(八)

     Deep Learning(深度学习)学习笔记整理系列之(八) 分类: Deep Learning 机器学习 Linux驱动2013-04-10 11:4257652人阅读评论(25)收藏举报 ...

  5. Deep Learning(深度学习)学习笔记整理系列三

    Deep Learning(深度学习)学习笔记整理系列 声明: 1)该Deep Learning的学习系列是整理自网上很大牛和机器学习专家所无私奉献的资料的.具体引用的资料请看参考文献.具体的版本声明 ...

  6. Deep Learning(深度学习)学习笔记整理(二)

    本文整理了网上几位大牛的博客,详细地讲解了CNN的基础结构与核心思想,欢迎交流 [1]Deep learning简介 [2]Deep Learning训练过程 [3]Deep Learning模型之: ...

  7. Balanced Multimodal Learning via On-the-fly Gradient Modulation论文笔记

    Balanced Multimodal Learning via On-the-fly Gradient Modulation论文笔记 引言 多输入模态有望提高模型性能,但我们实际上发现即使多模态模型 ...

  8. Deep Learning(深度学习)学习笔记整理系列之常用模型

    Deep Learning(深度学习)学习笔记整理系列之常用模型(四.五.六.七) 九.Deep Learning的常用模型或者方法 9.1.AutoEncoder自动编码器 Deep Learnin ...

  9. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  10. 【转载】Deep Learning(深度学习)学习笔记整理系列

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0  2013-0 ...

最新文章

  1. Pair Project: API设计 by Xiao Li and Yishi Xing
  2. 跟着《架构探险》学轻量级微服务架构 (一)
  3. Tinyalsa之mixer_ctl_set_value(十)
  4. PHP同步淘宝客订单数据
  5. vue-devtools 必备开发工具
  6. 魏俊妮《非人力资源的人力资源管理技术提升》课程大纲
  7. VBA学习笔记之Range.Resize属性
  8. 袁国宝:罗永浩直播之道
  9. Ip以及主机名称配置
  10. oracle 导入报错ORA-39126,ORA-06502,LPX-00230
  11. 大学概率论终极复习攻略
  12. python求三重积分_三重积分的Python数值计算
  13. 2012年10月【美国】自驾游
  14. 网页上显示天气预报信息的代码(将代码拷贝到你的网页上即可,当然,天气预报只能在联网的情况下才能使用)
  15. SOI上的FinFET
  16. 什么是贴片元器件,有哪些优缺点和种类
  17. 勇者斗恶龙服务器没有响应,PC版勇者斗恶龙英雄打不开怎么办?
  18. java 开发微型公众账号应用
  19. 企业网络营销分析报告
  20. 墨云科技登榜《CCSIP 2022中国网络安全产业全景图》

热门文章

  1. 记第一次出差得出的经验
  2. 零基础小白24小时直播搭建教程
  3. Facebook Surround360 学习笔记--(3)硬件设计要点
  4. 1分钟将word文本转换为表格
  5. javascript将页尾悬置在页面底部
  6. oracle数据库 例库,Oracle数据库与实例
  7. mybatis-plus简单使用
  8. 如何将销售效果最大化:从人工智能聊天机器人到即时聊天
  9. Excel 2016:巧用直方图进行频率统计
  10. ecshop怎么写原生php,ecshop模板中直接写php的方法