声纹识别可靠评测

news2025/1/17 0:12:52

分享嘉宾 | 李蓝天

文稿整理 | William


1 Introduction

声纹识别的发展,非常迅猛,在一些基准上取得了不错的效果,但如果将其部署到一个实际的应用系统里面, 从应用方的反馈来看,纹识别在很多场景里的鲁棒性并不理想。针对这样的问题,发现原因在于多种多样,比如基于深度学习的方法会带来很多的不可解释性,还有现在的评测可能也存在一些问题。

看一下近两年比较有代表性的声纹识别的评测活动,第一个是NIST SER,2021年的,它是用电话信道的对话语音和,从视频里面提取音频,进行最后的评测。那第二个是FFSVC,2022年的,它是面向真实场景的评测。还有一个是VoxSRC,同是2022年,它是依附于walk celebrate数据集,这几年衍生出来的一系列的评测活动。

对于声纹识别评测来说,基本上有三个主要的成分,第一个部分是data,即需要准备一些数据,第二部分是评测列表,即声纹识别的对象匹配,让系统去判定是不是来自同一个人。第三个是metric,即对测评列表进行打分,判定系统的好坏。

回到之前讲主流的半mark评测和实际应用的部署之间存在性能上的鸿沟,来具体看看哪些原因。首先是看data,对于主流Benchmark的数据采集,其实在很多情况下很受限。比如A和B两人对话,都知道要采集数据,所以他们说话的时候肯定不会很自然。还有采的数据是在录音室里面,只考虑远近的关系。此外是采访的对话数据,很容易使得模型存在一些偏差。 总的说,数据的采集设计缺乏了真实世界的复杂性。第二看测试列表的设计,比较常用的方案就是全交叉的方式,可能会产生分布偏差的问题,导致最后得到的结果过于优越。第三个是metric,去评价一个系统的时候,只用了一组训练数据,而测试数据是固定的,似乎并不能很好的去衡量一个系统在面向各种各样场景的性能表现。

如何解决这两者之间的性能差异,第一个是构建一个能够尽可能描述或满足真实世界复杂性的数据集。第二是测试列表的设计,应该尽可能的找出真正有价值的trial。第三个是metric,希望去塑造一个新的工具,得到比较全面的系统描述。基于这三个方向,提出了Reliable Speaker Recognition Evaluation,即可靠的声纹识别评测。

2 Data Theme — CN-Celeb

目前声纹识别均在追寻更加真实性的数据,去进入实际应用中。面对众多的变化性,可以考虑采用Deep-Learning的方式去解决一些问题,也存在对应的数据集。接下来面临的挑战是采用什么样的技术去构造更好的data,即识别说话人在真实的世界里各种条件下的复杂变动性。

复杂变动性通常包括两类,一是内在的变动性,即人本身说话的状态。二是外在的,即背景噪声、录音设备质量等外在因素。

对于如何得到描述复杂变动性的数据,这里假设是多题材和多场景才最接近于复杂变动性,不过多场景才是当前说话识别挑战的问题。第一个方案是拿一个自动的工具,去试图把它做的更智能化,来得到一个初筛的结果,然后第二步是进行人工检查,整体收集流程如图1所示。

图1 收集流程

首先,得到一个中文的明星列表,查找每一位明星图片及视频。这里借用了人脸识别的技术对目标人进行检测,然后进行人脸追踪,找出对应人脸的帧。可能视频里存在旁白,这里采用synchronization,即口唇一致性检测,如果是目标人真的在说话,进行抓取出来。由于场景复杂,口唇一致性检测会把整个视频片段切的很零碎,这里做了一个speak diarization,即将把说话人进行分割聚类,之后将这些数据让人工进行检查约两轮质检,保证正确率在90%以上。 

数据集会采集来自于11种不同的题材场景,且来自于不同的媒体源。基于此数据集,进行测试,如表1所示。可以看到错误率自有5%左右,但是CNC-E数据集上比较糟糕,达到了17%。

表1 性能对比

 

总的来看,数据集的出发点是当前的评测数据在很多程度上并不能描述真实世界的复杂性,所以希望去构造一个能够描述复杂性的数据集。基于这个数据集,做了一些basic test,发现性能并不理想,均大于10%。

3 Trial Theme — Hard Trials

希望从一堆的Trial里面把对评测有价值的trial抓取出来,然后用这些trial去做最后的评价。首先想一下测试列表会存在自测,称为Target trial;还有是人与人交叉的测试,称为Nontarget trial。这种方案的特点是Nontarget trial个数肯定远多于Target trial,第二是Nontarget trial里面存在大量简单的列表。第三个是Target trial的时候,如果来自于同一个场景,则对系统来说是太容易了,意义不大。总之,Target trial和Nontarget trial中都有大量的简单列表,会使得最后EER结果是过于理想。

所以这里做了一个simulation study,看一下是不是加入简单的trials对系统性能会产生很大的影响。构造了两个系统,如图2所示。系统一的target是蓝色的高斯分布线,对应橘色线是Nontarget的高斯分布。系统二的target还是蓝色,对应绿色线是Nontarget的高斯分布。可以看出系统二的性能要比系统一好,因为中间重叠的部分更小。与此同时,构造了两个easy trials ,Target的紫色线在右边,与左边没有一点交叠。另外一部分是红色的nontarget部分,其实是分数非常低的这部分。

 图2 simulation study

接下来看一下两个系统的等错误率以及两个系统之间相对等错率的变动,如图3所示。在不断往里面添加简单试验时,两个系统的性能表现会越来越低。而且还会影响相对EER值,这就意味着在不同系统上测试的辨别力可能存在许多简单试验。

 图3 等错误率及相对等错误率变化关系

所以大量的Easy trials其实影响到了系统的比较,那所以,目标是希望关注在hard trials,这样使得不会有偏差,能够真正的描述系统的性能。但现在存在两个问题,如何拿到hard trials,第二是在这以后,现在的模型效果如何。

拿到hard trials的思路比较简单,这里采用了margin的方案,即只存在negative和positive两类样本,然后找最大的margin,如图4右边所示。对于红色点来说,它的hard trials是margin面上的点,即一些混调度比较高的点,称为hard trials。

 图4 SVM的margin理论

如何得到hard trials,采用了ensemble+SVM的方式,即首先去构造八个基线系统,不需要特别高的成本就可拿到。然后用八个基线系统对不同的trials打分,用这个向量作为feature,然后去训练SVM模型,那训练完成后,得到模型里面的support vectos认为是hard trials。然后进行了一些测试,结果如表2所示。

表2 测试结果对比

 基于得到的hard trials去做了一些测试,对比如表3所示。原始数据集在Vox1-O上可以达到1.5%左右,但它对应hard trials的性能就比较糟糕,错误率在11%左右,说明了这里面存在大量的简单情况,使得最后得到的结果过于的良好。SITW-E.C结果同理。

表3 full trial与shard trials性能对比

 

4 Metric Theme — C-P Map

如何比较或评价一个系统更加全面的性能,提出来了C-P Map。评价基于trials set系统的性能,往往是DT曲线。但是没法描述一个系统在不同条件下的性能表现,所以这里首先给一个定义,如图5所示。

 图5 Concept of Trial config

U代表全集,A表示所有的trials,B表示其中的一个子集。要想对描述一个声纹识别系统的性能,测试在不同B下的性能,然后计算等错误率。那这样,可以得到一个系统相对比较全面的性能评价。具体去呈现,以X轴为方向,目标测试的分数从左往右分数逐渐递增,Y轴是nontargets的分数从下到上逐渐递减。这样的一个二维图,它每一个坐标的位置XY就代表了target和nontargets分数的组合,如图6所示。红绿星星之间的性能差距解释了基准部署的差距。

 图6 C-P Map的ASV系统

5 总结

由模型结果与实际评测结果存在较大的差距出发,提出了Reliable speak recognition概念,希望设计一个可靠的评测方案,能够去解释这个现象。最后落在了三个主题上面,首先是data,构造更具有复杂性的描述真实世界变动性的data。第二个是trial,希望更关注于hard trials。第三个是metric,希望能够更好的、更系统性的去描述系统的性能,然后比较系统的性能,所以,延伸出来C-P map。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

聚观早报 | 亚马逊将裁员17000人;苹果砍单MacBook等产品线架构

今日要闻:亚马逊将裁员17000人;苹果砍单MacBook等产品线;京东科技调整组织架构;小米x徕卡团队获技术大奖;必应搜索或将纳入ChatGPT亚马逊将裁员17000人 1 月 5 日消息,知情人士称,亚马逊新一轮裁…

正版授权|FastStone Capture 专业屏幕截图录屏工具软件 商业版,支持商业用途。

现在截图对每个人来说都是一个必不可少的功能。QQ软件截图、360游览器截图等都是相对简单快速的途径。但是如果你对截图有更多的要求,那么这里推荐一款截图软件,它就是FastStone Capture。这个对于商城老用户来说,几乎是接近人手一份。强大的…

【VUE3】保姆级基础讲解(六)Axios库

目录 Axios介绍与原生的差异 发送常见的请求和配置选项 1、发送request请求 baseURL : 2、发送get请求 3、发送post请求 axios.all Axios创建新的实例 请求和响应拦截 请求拦截 响应拦截 Axios介绍与原生的差异 Axios其实就是一个网络请求库 与原生的差异&…

勇夺中国市场豪华品牌第一名后,特斯拉S3XY全系售价调整

比你优秀的人比你更努力,用这句话形容特斯拉最贴切不过。 刚刚过去的2022年,特斯拉在海内外市场交出了亮眼答卷:全球共计交付产品超131万辆,同比增长40%;乘联会给出的数据显示,上海超级工厂全年交付71.1万辆…

不止IVAS,微软Azure也在布局这些军事模拟场景

一提起微软在军事领域的应用,我们第一印象可能是美军以220亿美元采购HoloLens 2 AR头显的项目,这个项目后期由于AR光学和设计方面受限,正式应用的日期一直再推迟。实际上,微软除了向美军提供HoloLens外,还提供了基于云…

Unity 3D GUI 简介||OnGUI Button 控件

游戏开发过程中,开发人员往往会通过制作大量的图形用户界面( Graphical User Interface,GUI )来增强游戏与玩家的交互性。 Unity 3D 中的图形系统分为 OnGUI、NGUI、UGUI等,这些类型的图形系统内容十分丰富&#xff0…

第05章 数组、排序和查找

数组 基本介绍 数组可以存放多个同一类型的数据,数组也是一种数据类型,是引用类型。 即:数组就是一组数据。 数组的使用 1、数组的定义 方法一: 数据类型[] 数组名 new 数据类型[大小] 说明:int[] a new int[5…

【C++ Primer】阅读笔记(5):vector|迭代器|数组

目录 简介参考结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖…已保研 学习经验:…

数图互通高校房产管理——CAD图形管理

数图互通房产管理系统在这方面做得比较全面; 支持通过建筑物的楼层CAD图查看房间属性和使用信息,实现图数结合、以图管房、图数互查、数图互通、图文一体化。 1.1支持客户端和AutoCAD无缝集成 支持客户端和AutoCAD无缝集成,实现在客户端/Aut…

Acwing---796.子矩阵的和

子矩阵的和1.题目2.基本思想3.代码实现1.题目 输入一个n行m列的整数矩阵,再输入q个询问,每个询问包含四个整数1,y1,2,y2,表示一个子矩阵的左上角坐标和右下角坐标。 对于每个询问输出子矩阵中所有数的和。…

质性分析软件nvivo的学习(三)

0、前言: 这部分内容是,质性分析软件nvivo的学习(二)的衔接内容,建议看完:质性分析软件nvivo的学习(一)(二)再看这部分内容。这里的笔记都是以nvivo12作为学…

高成长、高潜力、高社区影响,达坦科技入选 2022 中国新锐技术先锋企业

2023 年 1 月 4日,中国技术先锋年度评选 | 2022 中国新锐技术先锋企业榜单正式发布。作为中国领先的新一代开发者社区,SegmentFault 思否依托数百万开发者的用户数据分析,各科技企业在国内技术领域的行为及影响力指标,最终评选出 …

【学习】网络压缩:知识蒸馏、参数量化、动态计算,PPO

文章目录一、知识蒸馏Knowledge Distillation二、参数量化结构设计:深度方向可分卷积Depthwise Separable Convolution1、Depthwise Convolution三、动态计算Dynamic Computation四、From on-policy to off-policy(PPO)一、知识蒸馏Knowledge Distillati…

Python蓝桥杯训练:数组和字符串 Ⅳ

Python蓝桥杯训练:数组和字符串 Ⅳ 文章目录Python蓝桥杯训练:数组和字符串 Ⅳ一、买卖股票的最佳时机二、删除排序数组中的重复项三、找出字符串中第一个匹配项的下标四、将整数转换为两个无零整数的和一、买卖股票的最佳时机 给定一个数组 prices &…

k8s 实战1:WordPress搭建

文章目录第一步:部署MariaDB第二步:部署WordPress第三步:映射WordPress Pod 端口号,让它在集群外可见第四步:创建反向代理的 Nginx,让我们的网站对外提供服务WordPress架构图第一步:部署MariaDB…

如何使用LightningChart JS创建高性能可视化的HTML图表?

LightningChart JS是一款高性能的JavaScript图标库,专注于实时数据可视化,以“快如闪电”享誉全球,是Microsoft Visual Studio数据展示速度最快的2D和3D图表制图组件,可实时呈现超过10亿数据点的海量数据。 LightningChart .JS |…

Redis基础篇——Redis常见命令及数据类型详解

文章目录1. Redis常见命令2. Redis数据结构介绍3. 通用命令KEYSDELEXISTSEXPIRETTL4. Redis 命令类型4.1 String 类型String 类型常见命令key的层级格式4.2 Hash 类型Hash 类型常用命令4.3 List 类型List 类型的常见命令4.4 Set 类型Set 类型的常见命令4.5 SortSet 类型SortedS…

全局描述符表

文章目录段描述符全局描述符表GDT段选择子进入保护模式步骤在开始介绍全局描述符之前,先了解一下段描述符。 段描述符 内存段是一片内存区域,访问内存就要提供段基址(段基址属性)以及段界限属性(约束段大小&#xff…

美团前端一面必会react面试题

state 和 props 触发更新的生命周期分别有什么区别? state 更新流程: 这个过程当中涉及的函数: shouldComponentUpdate: 当组件的 state 或 props 发生改变时,都会首先触发这个生命周期函数。它会接收两个参数:nextP…

分布式存储综述与方案选型

文章目录引言基本诉求存储选型考虑的要素分布式存储的野蛮生长史主要开源选型GFS(Google File System)HDFS (Hadoop Distributed File System)miniocephTFSSwiftfastDFSGridFSMooseFSGlusterFSMogileFS一些国产的xFS阿里腾讯百度京东网易字节跳动美团滴滴结论数据库选型分布式存…