AI根据视频画面自动配音 ,真假难辨 !(附数据集)-阿里云开发者社区

开发者社区> 技术小能手> 正文

AI根据视频画面自动配音 ,真假难辨 !(附数据集)

简介:
+关注继续查看

先来做个“真假美猴王”的游戏。

你将看到两段画面相同的视频,请判断哪段来自视频原声,哪段是AI根据视频画面配上的假声?

57d2bc4ec28e155486ed7b0a4e3eba7e5a38fa33

莫非两个都是真的?不可能,答案文末揭晓。(还有更多真假难辨的视频原声和配音大对比)

真假难辨,简直让人怀疑耳朵。模型合成的假音效,什么时候都这么逼真了?一切还得从这个自动为自然环境下的视频配音的项目说起。

c4cb1aefa55cdfaa6a1476e0567a4e56644a8678

视听关联


看闪电,知雷声。

对人类来说,声音和视觉通常会打包出现传递信息。就像一个孩子看到闪电会下意识捂住耳朵,看到沸腾的水会想起水汽呼呼的声音。

在论文(Visual to Sound: Generating Natural Sound for Videos in the Wild)中,北卡罗来纳大学的博士生Yipin Zhou,其导师Tamara L. Berg联合Adobe公司的Zhaowen Wang、Chen Fang和Trung Bui三人,想做出一个计算模型来学习视觉和声音间的关系,减少繁琐的音频编辑流程。

3a0695007216538409912750f68137a9afe1cfdd
论文一作Yipin Zhou

要做出这样一个模型,那第一步肯定是找出一个合适的数据集来训练。

这个数据集可没有那么好找。

加工数据集

研究人员掐指一算,觉得AudioSet不错。

f967ab7ce05cb46c9cedc5b2336327d0bbf956a4

这是今年3月谷歌开放的一个大规模的音频数据集,包含了632个类别的音频及2084320条人工标记的音频,每段音频长度均为10秒。人与动物、乐器与音乐流派、日常环境的声音均覆盖在数据集内。

数据集代码地址:

https://github.com/audioset/ontology

但由于AudioSet中很多的音频与视频的关联松散,目标声音可能被音乐等其他声音覆盖,这些噪音会干扰模型学习正确的声音和图像间的映射(mapping),因此也不是很理想。研究人员先清理了数据的一个子集,让它们适应生成任务。

研究人员从AudioSet中选择10个类别进行进一步的清理,分别为婴儿啼哭、人打鼾、狗、流水、烟火、铁路运输、打印机、打鼓、直升机和电锯。每个类别中包含1500-3000个随机抽取的视频。

6744f38abe90088d669441d1963dbfa98e485068

其中4个类别的视频帧及相应波形。图像边界颜色与波形上的标记标记一致,表示整个视频中当前帧的位置

之后,研究人员用亚马逊众包平台Mechanical Turk(AMT)清理数据。值得一提的是,李飞飞在建立ImageNet数据集时,也是借助这个可以把任务分发给全世界坐在电脑前的人的平台做起来的。

在这个任务中,研究人员借助AMT上兼职的力量验证在图像和音频形态下,视频片段中关注的物体或动作是否存在。如果在视听两种环境下都存在,则认为它是一个噪音较少的可用视频。为了尽可能保留更多数据,研究人员将每段视频分割成两秒钟的短视频,分别标注标签。

这样一来,图像和音频模式上共标注了132209个片段,每个都被3个兼职做了标记,并从原始数据中删除了34392个片段。研究人员在合并相邻的短片段后,总共得到了28109个筛选后的视频。这些视频平均长度为7秒,总长度为55小时。

下图左表显示了视频数量和每个类别的平均长度,而饼图展示了长度的分布。由图中可见大多数视频的长度超过8秒。

cf30e0fb12a0451fbb1ca1c7c0425e9f4d16ec51

左:每个类别视频数量及平均长度/右:视频长度的分布

研究人员将这个数据集命名为VEGAS(Visually Engaged and Grounded AudioSet ) 。

准备模型

数据集搞定后,研究人员开始了模型研究。

研究人员将任务当成一个条件生成问题,通过训练条件生成模型从一个输入视频合成原始波形样本。条件概率如下:

1f05d88a7c8b5005a1b5dc034e40d360884ded55

在这个概率中,x1,……,Xm为输入视频帧的表示,y1,……,yn为输出的波形值,是0到255之间的整数序列。值得注意的是,m通常远远小于n,因为音频的采样率远高于视频的采样率,因此音频波形序列比同步视频的视频帧序列长得多。

大体来说,这个模型由两部分构成,即声音生成器和视频编码器。

声音生成器

研究人员想直接用生成模型合成波形样本。为了得到音效说得过去的音频,他们选用了16kHz的音频采样频率。这就导致序列相当长,给生成器出了个难题。最后,研究人员选择了Yoshua Bengio团队在去年发表的论文《SampleRNN: An Unconditional End-to-End Neural Audio Generation Model》中提出的SampleRNN来合成声音。

论文地址:
https://arxiv.org/abs/1612.07837

SampleRNN是一种递归神经网络,它由粗到细的结构使模型产生极长的序列,而且每一层的周期性结构都能捕捉到关联不紧密的样本间的依赖关系。

SampleRNN已经应用于语音合成和音乐生成任务。在这个项目中,研究人员用它来为自然条件下的视频生成声音。这意味着变化更大、结构模式更少和比语音或音乐数据更多的噪音。

确实是个挑战。

SampleRNN模型的简化结构如下图所示。

6b022d31dced90625d9ea7e8a8d8d32cc6ea6af1

声音生成器的简化架构

图中将示例结构简化到2层,但在实际操作中可能包含更多层次。该模型由多个层、细层(底层)是一个多层感知器(MLP),它从下一个粗层(上层)和前一个k样本中输出,生成一个新样本。

3种编码视觉信息和系统的变体

之后,研究人员提出了三种类型的编码器-解码器结构,这些信息可以与声音生成网络相结合,形成一个完整的框架。这三种变体分别为帧到帧法(Frame-to-frame method)、序列到序列法(Sequence-to-sequence method)和基于流的方法(Flow-based method)。


原文发布时间为:2017-12-13

本文作者:文婧 

本文来自云栖社区合作伙伴“数据派THU”,了解相关信息可以关注“数据派THU”微信公众号

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
zip 数据压缩
压缩与解压都是针对字节数组来进行的。 内存数据压缩 java.util.zip.DeflaterOutputStream 压缩步骤 1.创建一个ByteArrayOutputStream byteArrayOutputStream; 2.调用DeflaterOutputStream deflaterOutputStream=DeflaterOutputStrea
1006 0
数据同步框架MS Sync Framework [术语、例子、参考资料、Tips]
在现在的应用中,一些临时脱机(Offline)应用,需要和主数据库进行定期的数据同步,采用MS Sync Framework可以快速的实现一个解决方案,而且这个框架本身有很大的扩展性,可以用于数据库(ADO.net兼容的)、文件,Web Feed等同步。
989 0
redis数据结构实现--压缩列表(ziplist)
redis数据结构实现(六) 压缩列表(ziplist)是链表键和哈希键的底层实现之一。当链表键或哈希键只有少量列表项,且列表项中是小整数值或短字符串,则会采用压缩列表作为底层实现。 6.1 压缩列表的实现 压缩列表是为了节约内存而开发的,由一系列特殊编码的连续内存块组成的顺序型数据结构。
2017 0
为什么Spring MVC能自动转换json/xml,你研究过它背后的原理吗?
SpringMVC是目前主流的Web MVC框架之一。本文使用的demo基于maven,是根据入门blog的例子继续写下去的。
752 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
7751 0
前沿分享|数澜科技联合创始人&副总裁 江敏:基于云原生数据仓库AnalyticDB PostgreSQL的最佳实践
本篇内容为2021云栖大会-云原生数据仓库AnalyticDB技术与实践峰会分论坛中,数澜科技联合创始人&副总裁江敏关于“基于云原生数据仓库AnalyticDB PostgreSQL的最佳实践”的分享。
92 0
自动驾驶竟然排名倒数第一?苹果甩PDF否认
2018年7月开始,苹果苹果调整了脱管事件披露标准,开始关注可能导致安全事故以及违反交通规的重要脱管事件。
256 0
spring-自动加载配置文件\使用属性文件注入
在上一篇jsf环境搭建的基础上 , 加入spring框架 , 先看下目录结构 src/main/resources 这个source folder 放置web项目所需的主要配置,打包时,会自动打包到WEB-INF下 首先看下pom.
930 0
+关注
技术小能手
云栖运营小编~
5953
文章
9
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载