首页 > 其他分享 >声纹识别概述

声纹识别概述

时间:2022-11-11 17:55:23浏览次数:74  
标签:说话 错误率 算法 概述 语音 声纹识别 识别

转载自https://blog.csdn.net/weixin_44278406/article/details/103787143

声纹识别绪论

前言

指纹信息、人脸信息和声纹(voice-print)信息作为人体固有的生物信息,是智能电子设备私有化部署及辅助辨认个体的媒介。目前,指纹和(3D)人脸作为智能电子设备解锁信息已经成功商用,典型的如智能手机、人脸打卡系统等。声纹因为其变化性较前两者强,如感冒和外界环境声音干扰,商用化步伐不如前两者。据悉,目前声纹满足安全性级别、作为个体生物信息解锁和认证媒介的应用是在金融领域——由中国建设银行、清华大学、得意音通等起草的金融行业标准由中国人民银行正式发布并实施;该标准是我国金融行业第一个生物特征识别技术标准。除金融领域,声纹识别更多地应用于刑侦破案、罪犯跟踪、国防监听等领域。

本系列博文旨在回顾声纹发展历程,介绍声纹识别基本算法,希望为大家提供些许帮助。

声纹识别算法

声纹识别,又称说话人识别(speaker recognition),是从某段语音中识别出说话人身份的过程。与指纹类似,每个人说话过程中蕴含的语音特征和发声习惯等几乎是唯一的。与语音识别不同,语音识别是共性识别,即判定说话内容,说话人识别是个性识别,即判定说话人身份。

1. 分类

说话人识别可根据不同任务可分为两类,

  • 说话人辨识(speaker identification):确定一组已知语音样本中,哪一个与输入语音样本最匹配。
  • 说话人确认(speaker verification):从语音样本中确定某人是否是他所声称的那个人。
    在这里插入图片描述
    对于上述两个任务,根据说话内容语音片段(utterance)又可分为两类,
  • 文本相关(text dependent):语音片段只能是特定语句,如iPhone 手机的唤醒词“Hey Siri”。
  • 文本无关(text independent):语音片段的内容不限。

一般来说,文本相关的说话人识别会有较高的识别率,这就是为什么许多手机厂商使用固定的唤醒词做声纹识别。

2. 性能评价标准

  • 对于说话人辨识(SI)系统,其性能的评价标准主要是正确识别率及及前 N 正确率(Top N Correctness)作为评价系统性能的指标。
  • 对于说话人确认(SV)系统,其最重要的两个指标是错误拒绝率(False Reject Rate,FRR)与错误接受率(False Acceptation Rate, FAR),前者是拒绝真实的说话人,又称“拒真率”,后者是接受冒认者而造成的错误,又称“认假率”,两者均与阈值的设定相关。这两种错误率很难都为零且在实际运用情况下,这两种指标是相关的,当FRR降低时,FAR就会升高,安全性就会降低;当FAR降低时,FRR就会升高,用户使用体验就会降低。两种错误率是个跷跷板,实际应用时常常在这两种情况下取一个折衷。

DET(Detection Error Trade-offs Curve)曲线能够较好的反映这两类错误率之间的关系:对声纹(一个特定的生物特征)识别系统,以FAR为横坐标轴,以FRR为纵坐标轴,通过调整其参数得到的FAR与FRR之间关系的曲线图,就是DET曲线。显然DET曲线离原点越近,系统性能越好。在当前的技术不能使得两类错误率同时降为最低的情况下,我们根据具体应用的需要,调节阈值使得两类错误率可以满足实际应用需求。通常,研究者常用等错误率(Equal Error Rate,简称EER)来描述总体性能,等错误率就是在DET曲线上两类错误率相等时所对应的错误率取值,是衡量系统性能的重要参数。DET曲线与EER的取值如下图所例示。
在这里插入图片描述
DET曲线来源于如下过程,
在这里插入图片描述
不同的阈值对应不同的FAR和FRR,实际上要做的事情是根据实际应用场景设定合适的阈值。

3. 说话人识别特征

说话人识别(或确认)经历的特征描述方式是与算法息息相关的,如i-vector代表着i-vector/PLDA算法体系下的特征,d-vector,x-vector代表着深度神经网络算法体系下的特征。

  • 帧级别(Frame-level):一般情况下采用语音识别中的MFCCs(Mel Frequency Cepstral Coefficient) 特征或者其他特征。
  • 语音片段级别(Utterance/speaker-level): 由于我们需要直接判定语音片段,需要片段级别的特征,如GMM supervectors,i-vectors,DNN embeddings(d-vectors,x-vectors)

4. 算法归纳

类型主要算法
文本无关 GMM-UBM (D.A. Reynolds, 2000)
GMM-SVM (W.M. Campbell, 2006)
JFA(联合因子分析, P. Kenny, 2007)
i-vector/PLDA (N. Dehak, 2011)
DNN i-vector (Y. Lei, 2014)
Deep Embedding (2017)
x-vectors (Snyder et al, 2018)
GE2E(2017-2019)
文本相关 GMM-UBM
HMM-UBM
TMM-UBM (TMM - Tied Mixture Model)
i-vector
DNN-ivector

表格中展现的说话人识别算法包含传统的统计学习方法和深度学习算法,后续篇幅中着重介绍GMM-UBM,i-vector/PLDA和GE2E,因为这三个算法分别代表着统计学分类,声道和信道抽象建模及DNN embedding。

Reference

  1. The University of Edinburgh, Automatic Speech Recognition(ASR)2018-19: Lectures 17
  2. 洪青阳,智能语音技术机器应用(2018春季)- 声纹识别
  3. J Hansen and T Hasan (2015), Speaker Recognition by Machines and Humans: A tutorial review, IEEE Signal Processing Magazine, 32(6): 74-99.
  4. 郑方,李蓝天等,声纹识别技术及其应用现状
  5. Roger Jang (張智星),Audio Signal Processing and Recognition (音訊處理與辨識)-Speaker Recognition

标签:说话,错误率,算法,概述,语音,声纹识别,识别
From: https://www.cnblogs.com/wcxia1985/p/16881316.html

相关文章

  • Kafka概述
    1Kafka是什么在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。1)ApacheKafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消......
  • nextjs概述
    前言:nextjs是昨天真正开始了解,之前都是打酱油,原来这个框架是react,路由,参数传递,页面复用,服务端渲染等做得很好。 next.js作为一款轻量级的应用框架,主要用于构建静态网站......
  • 【重识云原生】第四章云网络4.8.2.1节——OpenFlow概述
    1OpenFlow背景        转发和控制分离是SDN网络的本质特点之一。在SDN网络架构中,控制平面与转发平面分离,网络的管理和状态在逻辑上集中到一起,底层的网络基础......
  • 01-研发效能概述
    研发效能的定义、目标以及解决的问题研发效能既要关注有效性(做正确的事),也要关注效率(正确的做事并追求速度);既要关注投入,也要关注产出在组织层面,研发效能就是更高效、更高......
  • WPF概述
    1.WPF简介WPF:WPF即WindowsPresentationFoundation,翻译为中文“Windows呈现基础”,是微软推出的基于WindowsVista的用户界面框架,属于.NETFramework3.0的一部分。它提供......
  • 图嵌入概述:节点、边和图嵌入方法及Python实现
    近年来基于图的机器学习有了很大的发展。基于图的方法在数据科学中的许多常见问题中都有应用,例如链接预测、社群发现、节点分类等。根据如何组织问题和所拥有的数据,有许多......
  • 第2-2-1章 常见组件与中台化-中台概述
    目录1.中台概述1.1.中台概念1.2.中台背景1.3中台分类1.3.1业务中台1.3.2技术中台1.3.3研发中台1.3.4数据中台1.中台概述1.1.中台概念随着互联网公司的崛起,“......
  • 1.drf概述
    1.前后端不分离特点:用户访问URL执行对应的视图函数,进行业务处理视图函数通过render函数进行渲染,返回给客户端开发流程:前端:HTML+CSS+JS后端:完成业务处理,将数据嵌......
  • SpringMVC概述
    1.SpringMVC是一种基于Java实现MVC模型的轻量级Web框架优点:使用简单,开发便捷(相比于Servlet)灵活性强2.SpringMVC是一种表现层框架技术,用于进行表现层功能开发3. Java......
  • 关于Docker的一些事--Docker概述
    为什么会出现docker?背景以一个食品工厂为例子,有一款食品产品,从研发到包装,需要分别两套生产线,虽然感觉说很好,符合SOP,但是吧,产能很慢,这是为什么呢?研发:食品搭配、颜色搭配......