文章目录

  • 前言
  • 摘要
  • 1 介绍
  • 2 相关工作
    • 说话人脸视频生成
    • 3D 人脸重建
    • GAN网络和记忆网络
  • 3 本文工作
    • 3D人脸重建
    • 从音频中提取表情和姿势
    • 渲染和背景颜色匹配
      • 渲染
      • 背景颜色匹配
      • 记忆Gan网络渲染视频帧
  • 实验
    • 实验步骤
    • 部分环节暂停的效果
    • 和最近研究方法进行比较
      • 与特定人微调后的网络比较
      • 与本文的预训练方法比较
    • 分析头部动作的真实度
  • 结论
  • 附录A
  • 附录 B
  • 计划

前言

近期在做语音驱动人脸视频生成的相关工作,在学习过程中发现了几篇比较好的论文。其中有一篇是清华大学在上个月发布的,并且提供了源码。这篇文章中我将解读一下这篇论文:Audio-driven Talking Face Video Generation with Learning-based Personalized Head Pose,并给出展示效果。
总结论文输入:任意输入一个声音和一个固定的300帧左右某人说话视频,输出某人说话的视频。(声音为任意输入的声音)。

摘要

现实世界中经常说话的脸通常伴随自然的头部运动。但是大多数现有的说话人面部视频生成方法仅考虑具有固定头部姿势的面部动画。在本文中,提出一个深度神经网络模型来解决此问题,该模型将源人的音频信号A和目标人的非常短的视频V作为输入,并输出具有个性化特征的合成高质量说话人脸视频头部姿势(利用V中的视觉信息),表情和嘴唇同步(同时考虑A和V)。我们工作中最具挑战性的问题是,自然的姿势通常会导致面内和面外头部旋转,这使合成的有声面部视频远非现实。为了应对这一挑战,我们重建了3D人脸动画并将其重新渲染为合成帧。为了将这些帧微调为具有平滑背景过渡的逼真的帧,我们提出了一种新颖的内存增强GAN模块。通过首先基于可公开获取的数据集训练通用映射并使用目标人员的输入短视频对映射进行微调,我们开发了一种有效的策略,该策略仅需要少量帧(约300帧)即可学习个性化的谈话行为包括头部姿势。大量的实验和两项用户研究表明,我们的方法可以生成高质量(即,个性化的头部运动,表情和良好的嘴唇同步)说话的面部视频,这些面部视频自然看起来比头部状态更具区别性。艺术方法。通过首先基于可公开获取的数据集训练通用映射并使用目标人员的输入短视频对映射进行微调,我们开发了一种有效的策略,该策略仅需要少量帧(约300帧)即可学习个性化的谈话行为包括头部姿势。大量的实验和两项用户研究表明,我们的方法可以生成高质量(即,个性化的头部运动,表情和良好的嘴唇同步)说话的面部视频,这些面部视频自然看起来比头部状态更具区别性。艺术方法。通过首先基于可公开获取的数据集训练通用映射并使用目标人员的输入短视频对映射进行微调,我们开发了一种有效的策略,该策略仅需要少量帧(约300帧)即可学习个性化的谈话行为包括头部姿势。大量的实验和两项用户研究表明,我们的方法可以生成高质量(即,个性化的头部运动,表情和良好的嘴唇同步)说话的面部视频,这些面部视频自然看起来比头部状态更具区别性。艺术方法。我们开发了一种有效的策略,只需要少量的帧(约300帧)即可学习个性化的谈话行为,包括头部姿势。大量的实验和两项用户研究表明,我们的方法可以生成高质量(即,个性化的头部运动,表情和良好的嘴唇同步)说话的面部视频,这些面部视频自然看起来比头部状态更具区别性。艺术方法。我们开发了一种有效的策略,只需要少量的帧(约300帧)即可学习个性化的谈话行为,包括头部姿势。大量的实验和两项用户研究表明,我们的方法可以生成高质量(即,个性化的头部运动,表情和良好的嘴唇同步)说话的面部视频,这些面部视频自然看起来比固定头部状态视频更具区别性。(ps:翻译原文)

1 介绍

文章介绍部分首先介绍了视觉和声音是两个关联的东西,在虚拟现实和计算机视觉中有很多应用。而这篇论文集中解决人脸说话视频,在之前的相关工作中都是固定人脸位置进行变化,有一定的缺陷。本篇论文可以通过神经网络实现一个高质量的视频并带有头部动作。之前从声音获取头部姿态的相关研究也有,但是仍然具有挑战。由于人脸头部状态会有一些变化,很难从二维空间进行学习,因此这篇论文提出使用3D 人脸动画,再将动画进行渲染成2D,在渲染完成之后匹配背景得到一个模糊的帧,再通过a novel memory-augmented GAN 去实现逼真度的实验。这篇论文是最先解决任意人头部姿态视频生成。之前的相关工作可以生成奥巴马的说话视频但是需要很多数据,且只能是奥巴马。并且论文在调整网络时候只需要很短的视频甚至图片,再加上任意声音片段就可以合成新的某人说话视频。
文章主要工作有三个:

  1. 提出一个网络可以得到高质量的头部嘴部同步视频
  2. 相比较特定人物视频生成,该网络可以实现自定的人物视频。
  3. 在Lip reading in the wild数据中预训练了网络,因此后面只需要300帧视频和语音就可以合成视频。

2 相关工作

说话人脸视频生成

人脸说话视频可以由声音和视频两种信号驱动。其中视频信号驱动14,15,16,17.。。常用方法是将人脸的视频转成3DMM参数,之后通过Gan网络学习,将我们输入的人脸转换成训练人脸的说话视频。类似于下图但是效果应该会更好:

第二种方法是通过语音信号驱动,语音信号驱动又可以分为特定人脸7,21和任意人脸2,4,8,9。在任意人脸中相关工作都是2D的。2D固有的问题就是人脸难以转动,尽管有人在特定的情况下作了姿态变化,但是并没有提供细节部分,因此本文使用了3D中的几何学,实现头部姿态
,表情和嘴部的合成。

3D 人脸重建

3D人脸是从2D图片重建过来。常常使用3DMM表示和PCA参数降维。基于学习的方法[29,[30],[31,[32],[31,[34],35,[36],(37),[38],[39]使用CNN学习人脸图像到3DMM参数的映射。为了解决训练数据不足的问题,一些方法使用合成数据[29,[30,[33,[38],而另一些方法使用无监督或弱监督学习[34],[35,[36],[39]。本文采用[39]方法进行三维人脸重建。

GAN网络和记忆网络

Kim等人使用GAN将渲染后的人脸图像转换为真实的视频帧。虽然这种方法可以取得很好的效果,但它只适用于特定的目标人群,需要经过与该特定人群相关的上千个样本的训练。不适合任意人物转换。而记忆网络因为其可以保存过去的记忆,常用在问答和总结系统,在这篇论文通过GAN和记忆网络结合可以对单个人的视频帧进行微调。

3 本文工作

在本文中,我们解决的问题是生成高质量的说话人脸视频,当给出一个人的语音讲话和一个目标人的短视频(约10秒)。除了学习语音语音到唇动和面部表情的转换,我们的说话面孔生成还考虑了个性化的说话行为(头部姿势)。
为了实现上面的目标进行了两个阶段的实验,整个流程如下图所示:

阶段一:使用LRW数据集从声音中提取人脸表情和头部姿势,之后当我们输入一个声音和短视频,会首先重建3D人脸,并且会微调网络用来适应短视频中的说话行为,这个网络最后会得到3D人脸动画和个人的头部姿势。
阶段二:从三维人脸动画到现实的会说话的人脸视频生成。 我们使用从输入视频中获得的纹理和照明信息将3D面部动画渲染成视频帧… 带着它 有限的信息,图形引擎只能提供一个粗略的渲染效果,通常是不够现实的高质量视频。 把这些合成的框架提炼成现实的 我们提出了一种新的记忆GaN模块。GaN模块可以处理各种身份,并生成高质量的帧,其中包含与从输入视频中提取的人脸身份匹配的真实会话人脸。请注意上述的步骤中每个步骤有两个小步骤:先在公开数据集中训练好,再针对个人进行微调。

3D人脸重建

3D人脸重建采用了最新的方法,该方法使用CNN将人脸转换成3D的参数。它使用CNN将三维人脸几何、纹理和光照参数模型拟合到输入人脸照片I中。最后输的3DMM参数和声音网络提取的特征结合,将3D人脸渲染成2D,再进行一个背景匹配。

从音频中提取表情和姿势

很容易知道声音和嘴唇、下半脸动作有关,但如果忽略上半脸会造成一定的失去真。所以我们提取语音的信息和3D的几何信息从输入数据中心,并且建立一个语音到人脸表达和头部变化的映射关系。虽然我们说同样的话时候人各有差异,但是附录A证明短期语音和pose有一定相关性。具体做法是:语音方面提取mfcc输入到LSTM中去,然后得到表情和pose序列。公式定义如下:

之后描述了损失函数并且使用了L2正则化计算pose和expression梯度。

渲染和背景颜色匹配

渲染

完成语音网络和3D特定人脸映射网络之后,我们得到一个混合参数,其中身份、纹理和光照系数来自目标人物,表情和姿态系数来自音频。将这些3D参数放入一个渲染网络[36]中,完成渲染。在渲染过程中需要计算反照率,如果从得到系数中去计算会光滑,导致无法和真实的照片匹配。因此直接在上一节中得到的3D人脸中计算,效果更好一些。在映射中,使用详细的反照率进行渲染,因为LRW数据集中的视频非常短(大约1秒)。 在个性化映射(即通过输入短视频进行调优)中,w 使用低频反照率来容忍头部姿态的变化,输入视频(约10秒)可以提供更多的目标人的训练数据来微调合成的帧(渲染) 用低频反照率变成现实的。

背景颜色匹配

生成人脸之后需要加头发和背景之类的,而文章说到模板匹配方法很不合适,我们输入的帧已经很小了。本文提出了一种关键帧方法:选择关键帧作为在短时间内一个轴上头部方向最大的帧,例如,最左或最右头部姿态的帧,然后我们只匹配这些关键帧的背景。我们称这些匹配的背景为关键背景。对于相邻关键帧之间的帧,我们使用线性插值来确定它们的背景。每一帧的姿态也被修改以适应背景。最后,通过包含匹配的背景来组装整个渲染框架。如果只输入一个信号人脸图像I而不是一个短视频,我们使用[30]中的人脸仿形方法将I旋转到预测的姿态,从而获得匹配的背景。

记忆Gan网络渲染视频帧

之前使用参考文献36渲染的帧距离真实的视频还有一定的距离,为了让该网络能够生成一个逼真的视频,相比较生成特定一个人的视频方法[14],提出了一个新的Gan网络结构

这个网络挺复杂,需要好好琢磨,关于代码部分我还在看,就不献丑了。

实验

环境是pytorch,gpu使用的titan xp代码公开在:
这里
效果可以从这里查看:效果连接

实验步骤

这一环节介绍了实验步骤和微调的过程,首先呢作者通过训练和预训练发现300帧效果可以达到很好,太少的话会导致图片学习的程度不够。

部分环节暂停的效果

之后作者在实验过程中逐步改进网络,发现头部移动和省份确定网络的重要性。如下图23行所示,第四行中加入制定人的网络会导致网络效果更好一些。

和最近研究方法进行比较

与特定人微调后的网络比较

作者是第一个实现头部动作,之前的方法(2,3,4行)都是固定的,结果如下图所示,在这一节作者对视频效果进行了主观评价测试,发现本文方法比之前的方法提升效果显著。

与本文的预训练方法比较

由于之前相关工作没有考虑到头部,所以为了公平起见,本文不使用特定人物视频进行微调。结果显示如下图,还是可以看出本文的效果要好一些。

分析头部动作的真实度

作者设计了一种方法计算生成头部动作和真实的视频之间的差距,并召集测试志愿者。结果显示该方法生成的头部动作和原视频相关性很好。

结论

总结了本文的工作,主要强调了2D–3D-2D方法可以解决头部姿态问题,并且使用GAN网络可以更接近真实视频。总的来说该方法效果比之前的都要好。

附录A

作者在研究所工作中发现声音mfcc和头部状态是成正相关的。具体的方法是在一个区域内计算变化。详情参照原文。

附录 B

微调的视频长度对结果的影响也很大,从图中可以看出300帧效果刚刚好。

计划

看完论文之后抓紧看懂代码,找到数据集之后再进行扩展。
目前发现参考文献中8,22,9有github源码,但是作者对比试验中参考文献you said that ,ATVG暂时没有搜到源码。
数据集得去申请LRW,想用中文的,但是看有的人说效果不好。
github地址:

https://github.com/yiranran/Audio-driven-TalkingFace-HeadPose

语音生成视频论文:Audio-driven Talking Face Video Generation with Learning-based Personalized Head Pose相关推荐

  1. 【论文解读】DialogBERT: Discourse-Aware Response Generation via Learning to Recover and Rank Utterances

    文章来源:AAAI 2021 文章地址:https://arxiv.org/pdf/2012.01775.pdf 摘要 最近的预训练模型极大的改进了基于神经网络的回复生成.然而现有的方法通常将对话上下 ...

  2. 90行代码轻松实现!结合 Whisper + Stable-diffusion 的语音生成图像任务!

    本项目将 Whisper 与 Stable Diffusion 模型结合,可以直接完成语音生成图像的任务.用户可以语音输入一个短句,Whisper 会自动将语音转化为文本,接着,Stable Diff ...

  3. 结合 Whisper + Stable-diffusion 的语音生成图像任务

    我们都习惯了用 Siri.天猫精灵等智能语音助手来设置闹钟,播报天气,甚至它也会给我们讲一些冷笑话.但是怎样才能更进一步呢?我们怎样才能用自己的声音作为桥梁,和世界以及机器进行更加深入.有趣的交互呢? ...

  4. 合成视频以假乱真新高度!商汤科技、中科院、南洋理工大学联合提出当前最高清的语音驱动视频生成系统...

    点击我爱计算机视觉标星,更快获取CVML新技术 昨天ArXiv新出一篇效果异常赞的语音驱动的人脸视频合成论文,出自商汤科技,视频效果异常好.给定一段15分钟的演讲视频,应用该技术,即可生成一段该人物新 ...

  5. 微信语音技术原理_干货 | 2 分钟论文:语音生成表情包背后的技术原理

    雷锋网AI 科技评论出品系列短视频< 2 分钟论文 >,带大家用碎片时间阅览前沿技术,了解 AI 领域的最新研究成果. 来源 / Two Minute Papers 翻译 / 郭维 校对  ...

  6. python 视频语音转文字_使用Python和百度语音识别生成视频字幕的实现

    从视频中提取音频 安装 moviepy pip install moviepy 相关代码: audio_file = work_path + '\\out.wav' video = VideoFile ...

  7. 文字生成视频,只需一步(附论文下载)

    编者按:随着网络性能的不断提升,视频已经成为越来越多人获取信息.娱乐休闲的主要方式,与此同时也涌现出了不少视频的创作人员,他们将喜欢的人.事.物,以具有创意的视频形式呈现出来,这让和小编一样毫无视频创 ...

  8. 【ChatGPT整活大赏】写论文后自动生成视频

    ChatGPT国内又火了一把,功能很强大,接下来就带大家感受一下它的强大之处,通过ChatGPT写一篇论文并自动生成视频,增加内容的可读性. 话不多说,先上成果: 用ChatGPT写论文后自动生成视频 ...

  9. 【论文笔记】Nonparallel Emotional Speech Conversion Using VAE-GAN 基于VAE-GAN的非平行情感语音生成

    Nonparallel Emotional Speech Conversion Using VAE-GAN from INTERSPEECH 2020 - Ping An Technology 关键字 ...

最新文章

  1. 用Maven插件生成Mybatis代码
  2. 记录两段经典标定代码
  3. 1.1 MySQL 逻辑架构
  4. 根据centos系统启动过程定位故障位置
  5. vue 项目中 自定义过滤器 全局使用 filter
  6. P2604 [ZJOI2010]网络扩容
  7. 用C语言进行完数的判断(for循环和数组思想)
  8. yocto相关class总结
  9. 联想Win10 更新系统后触控板无反应,无效
  10. 互联网集体下沉,PKQ后又一匹下沉黑马出现了
  11. 摄影-曝光口诀(阳光16法则)
  12. veu中时间转换----element-UI上Date-Picker时间控件
  13. 物联网技能竞赛DAY1
  14. hsv(hsb),hsi的区别
  15. 路由 IS-IS NSR
  16. 每日记录 8.28 TP(真阳率) NP(假阳率) FP
  17. 1、IG夺冠,校长送钱
  18. 数字电路11-异步计数器
  19. php对数字字符串加解密
  20. 苏宁全场景融合会员实践分享 | 2021大湾区(深圳)智慧零售大会

热门文章

  1. 一步一动在PVE安装黑群晖
  2. NodeJS使用socket传输大文件
  3. MATLAB【数字图像处理】 实验五:形态学图像处理
  4. java 数据类型
  5. 排序算法(冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、基数排序)
  6. js里分割字符串,数组拼接
  7. 使用Python批量下载哨兵一号(sentinel-1)的精密轨道数据(precise orbit data)
  8. mysql主从复制(一):一主多从
  9. Dynamic Memory Networks DMN+
  10. 《Microduino实战》——1.4 开源硬件