VoxCeleb2: Deep Speaker Recognition

之前介绍了数据集VoxCeleb1的论文:上一篇链接
本文介绍数据集VoxCeleb2论文。

Abstract

本文创建了VoxCeleb2数据集,它比任何公开的说话人识别数据集都要大好几倍,还开发并比较了CNN模型和训练策略,在VoxCeleb2数据集上的效果性能超过了以前的方法。

1 Introduction

本文创建了一个新的大规模数据集Voxceleb2,是由超过6k个说话人的100多万条utts组成。在本文中,我们提出了一个CNN说话人识别网络,名为VGGVox,训练该系统将语音频谱图映射到一个紧凑的欧氏空间,其中距离直接对应于说话人相似性的度量。
我们在数据集Voxceleb2上训练VGGVox,以便学习Speaker embeddings。我们的系统由三个主要的可变部分组成:
(1)一个底层的深度CNN主干结构,用于提取特征;
(2)一种池化方法,用于聚合给定的每条utts的特征,聚合成一个embedding;
(3)一种基于特征的loss训练方法,以便直接优化映射。
本文使用基于深度CNN主干网络的VGG-M和ResNet两种结构进行了训练。
本文做出了四个贡献:
(1)发布了一个比任何说话人识别数据集规模都要大的Voxceleb2;(第三部分)
(2)提出了输入为频谱图的基于ResNet网络结构;(第四部分)
(3)在数据集VoxCeleb1上的性能比以往任何方法效果都好;(第五部分)
(4)提出并评估了一个新的验证基准测试集;

2 The VoxCeleb2 Dataset

2.1 Description
VoxCeleb2和VoxCeleb1是没有重复交集的两个说话人识别数据集,并且比VoxCeleb1规模更大,详细统计数据如下;
在这里插入图片描述
下图Figure 1第一行显示的是视频中的每段音频均有对应的说话人,下面一行是数据集的utts长度、性别以及国家信息:
在这里插入图片描述
2.2 Collection Pipeline
用于产生VoxCeleb2的流程方法在VoxCeleb1方法的基础上作了一些细节修改,并提高了效率。
Stage 1. Candidate list of Persons of Interest (POIs)
从VGGFace2数据集中的人员列表中来选取,该列表满足种族多样性和职业多样性,包含了9000多个身份(如演员、运动员、政治家等),其中与数据集VoxCeleb1和SITW重叠的人员也被从列表中删除,以避免重复。
Stage 2. Downloading videos
使用YouTube搜索并自动下载每个POIs的前100个视频。在搜索查询中,单词“interview”也被附加到POI的名称后面,以增加视频包含POI说话的可能性(过滤掉体育或者音乐视频)。
Stage 3. Face tracking
采用基于单镜头多盒检测器(SSD)的CNN人脸检测器来检测每帧视频中的人脸外观。与VoxCeleb1数据集所使用的检测器相比有明显的改进,可以检测侧面和极端姿势中的人脸。
Stage 4. Face verification
目标是验证人脸跟踪的结果是否属于POI名单,使用的网络是基于VGG Face2数据集上训练的ResNet-50。
Stage 5. Active speaker verification
这一阶段的目标是确定视频中的嘴部运动和语音之间的音视频同步,以确定哪张(如果有)可见的脸是说话人。这是通过使用“SyncNet"来实现的,这是一种双流CNN,它估计音频轨迹和视频的嘴部运动之间的相关性来确定主动说话者。这种方法能够避免视频剪辑中的配音或者画外音。
Stage 6. Duplicate removal
使用YouTube作为视频来源通常会遇到相同的视频(或视频的一部分)被上传多次的情形。因此,文章设计了重复视频的识别和删除算法,其过程如下:计算同一说话人的所有特征对之间的距离,如果任何两个语音段之间的距离小于一个非常保守的阈值,则认为这两个语音段是相同的,并删除其中一个。这种方法能精确识别所有的重复。(本段参考链接
Stage 7. Obtaining nationality labels
从维基百科中检索数据集中所有名人的国籍标签。除了428名被贴上“未知”标签的发言者外,所有人都获得了国籍标签。研究发现,数据集中的发言者来自145个国家(而Voxceleb1为36个),从而形成了一个更具种族多样性的数据集。并且美国人的百分比是Voxceleb2(29%),比Voxceleb1(64%)相比更小。

3 VGGVox

3.1 Evaluation
使用的训练集是VoxCeleb2数据集,其在训练阶段生成配对;使用的测试集是VoxCeleb1数据集,其本身就含有配对信息。
两个性能指标为:
(1)等错误率EER;
(2)损失函数:在这里插入图片描述

其中 P t a r P_{tar} Ptar代表先验概率,值设置为0.01, C m i s s C_{miss} Cmiss C f a C_{fa} Cfa的权重都设为1.0。

3.2 Trunk architectures
VGG-M: 基于VGG-M的基本结构进行改进,将其fc6的全连接层替换成了两层:一个全连接层(维度9x1)和一个全局平均池化层(1xn),经过这样修改之后的网络与时间位置无关,而与频率有关,这里也是处理语音信号和图像的区别。同时还大大减少了网络参数的数量。
ResNets: 采用了ResNet-34和ResNet-50两种网络架构,为了适应输入层的频谱图对各层稍微做了修改,网络的结构如下表Table 3所示:
在这里插入图片描述

3.3 Training Loss strategies(训练损失策略)
由于对比损失非常难以训练,因此,为了避免在训练早期出现次优局部极小值,本文分为两步进行训练:首先使用softmax损失进行预识别训练,然后使用对比损失进行微调。
预识别训练:
通过SoftMax训练初始化网络的权重。为了评估识别性能,文章从每个人物的单个视频中抽取所有语音片段组成了held-out测试集。
使用对比损失进行微调:
本阶段将预识别训练网络的分类层(5994个分类标签)替换成输出维度为512的全连接层,使用对比损失再次训练该网络。

3.4 Test time augmentation
在测试阶段使用三种方式来评估模型性能:
(1)Baseline:不同的平均池化层;
(2)从每个测试样本抽取10个3秒时长的语音片段,计算其特征的均值;
(3)从每个测试样本抽取10个3秒时长的语音片段,计算两个语音段中可能配对(10x10=100)的距离,使用这100个距离值的均值。该方法稍微提升了性能,如后面的Table 4所示。

3.5 Implementation Details
输入特征: 对输入音频以滑动窗口的形式进行切片,使用宽度为25ms、步长为10ms的汉明窗口,将为3s的语音提供大小为512x300的频谱图,之后对频谱图的每个频率进行均值和方差归一化,用作CNN的输入。(与VoxCeleb 1中的论文一样)
训练: 在训练时,从每个语句随机抽出3秒的语音片段。网络的实现基于深度学习工具MatConvNet。每个网络都在三台Titan X GPUs上迭代30次或直到验证集误差停止减少为止。

4 Results

在三种不同的测试集上测试了说话人识别网络的性能:
(1)Original VoxCeleb1 test set
从下表中可以看出,随着网络深度的增加以及数据集的增大(VoxCeleb1到VoxCeleb2),网络性能逐渐变好。
在这里插入图片描述
(2)从整个VoxCeleb1数据集抽取的581,480个配对(涵盖1251个人物),从而组成了扩展的VoxCeleb1测试集VoxCeleb1-E。
(3)从整个VoxCeleb1数据集中抽取具有相同国籍和性别的数据集作为VoxCeleb1-H数据集。
以上数据集中的实验效果如下表Table 5所示:
在这里插入图片描述

5 Conclusion

本文为说话人验证任务引入了新的体系结构和训练策略,并在VoxCeleb1数据集上演示了最先进的性能。本文还引入了VoxCeleb2数据集,它比任何说话人识别数据集都要大几倍,并对VoxCeleb1数据集进行了重新定位,使它可以作为说话人验证任务的测试集。

参考链接:https://blog.csdn.net/weixin_44532659/article/details/104433770
https://www.cnblogs.com/zy230530/p/13657435.html

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ArcFace是一种用于深度人脸识别的加性角度边界损失函数。它通过将人脸特征向量映射到一个高维球面空间中,来实现对人脸的准确识别。该方法在LFW、CFP和MegaFace等公共数据集上都取得了非常好的效果。 ### 回答2: ARC Face是一种深度人脸识别中用于改善性能的技术。它是一种针对原始Softmax损失函数的改进,旨在提高神经网络的识别度和准确性。 在传统的训练过程中,Softmax交叉熵损失函数用于训练神经网络,以使其对于每个身份有一个相应的输出。然而,这种方法对于复杂的人脸认证任务来说往往无法满足要求,因为它无法有效地区分相似人脸。因此,ARC Face损失函数在Softmax之上引入了一个加法角度间隔,并通过控制不同类别之间的间隔来提高网络的鉴别度和泛化能力。 通过加入额外的角度余弦项,ARC Face能够通过增加类别之间的间隔来增强模型的辨别力。这种损失函数的实现非常简单:对于每个数据点,它计算一个基本的Softmax损失,并在其之上添加一个额外的角度间隔,以确保相似人脸的辨别度足够高。因此,它可以很轻松地集成到任何现有的深度学习框架中。 另外,ARC Face的优点还包括它能够自适应调整当前的角度间隔,以确保其最大化对不同类别的特征表示的区分度。这使得ARC Face能够以更高的准确性从更小的数据集中进行训练,并因此需要更少的数据就能获得更好的性能。 总而言之,ARC Face是一种在深度人脸识别中广泛使用的技术,它通过在Softmax损失函数之上引入额外的角度间隔来增强模型的辨别力和泛化能力。这使得网络能够更好地区分相似人脸,从而提高了对复杂识别任务的性能。 ### 回答3: Arcface是一种深度人脸识别算法,是在原本的softmax分类器上加入了一项angular margin loss。此项损失函数在训练时能够直接优化人脸特征的分类聚合性,能够使得特征向量之间的欧氏距离与余弦相似性更加明显。 首先, Arcface对于标准的softmax分类器进行了改良,其中加入了一个角度边界的约束项。这个约束项可以调整样本的特征分布,以更好地区分不同的个体,从而提升模型的人脸识别精度。其中,角度边界的大小可以通过超参数进行调整。在正常的softmax分类器中,每个样本都被分类到一个特定的人脸类别中,而在Arcface中,每个样本都被分配到一个角度上。 其次,Arcface使用了余弦相似性来刻画不同的人脸特征之间的距离,这种距离度量方式更加适合高维特征向量的表达。余弦相似性一般값介于0和1之间,其值越高说明这两个特征向量越相似,相反,则说明它们越不相似。Arcface算法使用余弦距离来优化分类效果,这对于人脸识别任务来说是非常重要的,尤其是当特征向量非常长时。 最后,Arcface还使用了梯度下降来最小化损失函数,并通过不断调整超参数来优化算法的性能。除此之外,Arcface还采用一些常用的技术来提高算法的性能,比如数据增强以及批处理学习等等。 总之,Arcface采用了一种新的损失函数设计以及有效的余弦相似度度量方法,优化了人脸识别问题,大大提升了特征向量的可表示性,并在现实场景中应用广泛。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值