论文分享 VoxCeleb2:Deep Speaker Recognition

论文分享

作者:刘忠雨

编辑整理:萝卜兔

本周我们来看看一篇来自 VGG 组的声纹识别的相关论文,本文首先贡献了一份声纹识别的大数据集,其次基于 CNN 训练了一个声纹识别的模型,相比之前的工作,效果提高不少。数据和模型都已开源,秉承了 VGG 组的一贯良心表现。

VoxCeleb2数据集

尽管深度学习的兴起使得语音识别的任务有了长足的进步,但是在声纹识别领域,囿于开源数据集的场景受限,数据量少的原因,开源模型在日常使用环境中效果依旧不太理想。本文基于一个自动化的数据采集、清洗、标注的 pipeline,作者收集了大量的声纹数据,并取名为VoxCeleb2,相比作者之前开源的VoxCeleb1,数据表现上要丰富了许多。

数据描述

VoxCeleb2包括从YouTube上提取的超过6000位名人,一百万段语音的片段utterances。

说话者覆盖到了不同年龄、性别、口音。语音的场景也非常丰富,包括红毯走秀、室外场馆、室内录影棚等;声音采集设备包括专业与手持端,背景噪声有交谈声、笑声以及不同的场景效应。总的来说,VoxCeleb2 数据表现十分丰富。

下图给出了一些基本的统计:

从时长、性别、国籍等分布上都有比较好的覆盖。下图与 VoxCeleb1的比较:

可以看到,数据集的体量已经大了许多倍。

Collection Pipeline

这一部分,作者详述了自己自动化采集整个数据集的流程,包括:

Stage1.Candidate list of Persons of Interest (POIs)这一步作者确定了超过9000位名人名单,覆盖演员、运动员、政客等职业。

Stage2.Downloading videos从YouTube上下载各个名人排名前100的视频,搜索关键字包括“interview”。

Stage3.Face tracking基于SSD模型对视频里面的每一帧进行人脸检测。

Stage4.Face verification对上面检测出来的人脸,由人脸识别模型来确定连续帧之间的人脸是否为同一个人,如果是,就构成一个 POI Person of Interest。

Stage5.Active speaker verification这一步是为了确定相关语音是否来自于视频上的人物主体,避免配音或旁白等情况出现。这里作者使用了一个叫 “SyncNet”的模型,通过判断嘴唇的移动来规避上述情况。

Stage6.Duplicate removal YouTube上面的视频经常会有内容重复的情况,作者通过将每一段语音编码成1024维向量,通过距离远近来去掉内容一样的视频。

Stage7.Obtaining nationality labels标注说话者国别。

VGGVox

这一部分作者介绍了如何基于上面采集的数据集进行声纹识别的模型训练。

输入数据

有别于之前很多方法基于MFCC特征的数据预处理方式,CNN模型可以直接通过频谱特征对语音数据进行端对端的学习。具体地,作者随机抽取3s的语音片段,以25ms宽,步进10ms的滑窗对原始数据提取频谱特征,这样得到了512x300维度的输入数据。

模型结构

借鉴Resnet 的思路,作者设计了Res-34和Res-50两种结构:

训练技巧

先用softmax对模型进行多分类训练,之后基于Metric Learning的contrastive loss 对模型进行微调,在contrastive loss的训练阶段,作者也使用了 hard negative mining 的训练技巧。

测试表现

总结

作者开源了数据集和模型,希望这项工作能成为声纹识别领域新的起点吧,有需要的朋友请关注项目主页:

http://www.robots.ox.ac.uk/~vgg/data/voxceleb/

论文链接:

https://arxiv.org/abs/1806.05622

>

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181009A0C2QZ00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券