声纹识别之i-vector/plda
文章目录
- gmm-ubm
- i-vector
- plda
- Reference
最近做声纹识别的项目,要用到i-vector/plad,通过查阅各种资料,大概弄清楚了整个过程的来龙去脉,在此记录一下。
整个过程为gmm-ubm -> i-vector -> plda
gmm-ubm
Steps:
- 背景数据 -> UBM -> ubm’s mean super-vector
- UBM -> 说话人多条注册语音 -> MAP Adaptation -> 说话人相关GMM
- 说话人相关GMM -> GMM super-vector(均值超矢量)
Usage:
说话人测试语音 -> 说话人相关GMM score -> 阈值判断
i-vector
给定说话人一段语音, 与之对应的高斯均值超矢量定义为:
s=m+Tωs = m + T\omegas=m+Tω
其中:
- s (super-vector)
- 给定说话人语音的高斯均值超矢量(用户相关GMM获得)
- m (ubm’s mean super-vector)
- 通用背景模型(UBM)的高斯均值超矢量(与具体说话人及信道无关)
- T (total-vavriability matrix)
- 全局差异空间矩阵
- ω\omegaω (i-vector)
- 全局差异空间因子
求解过程:
- 全局差异空间矩阵T的估计
- 假设每一段语音都来自不同的说话人
- 计算训练数据库中每个说话人对应的Baum-Welcn统计量
- EM算法迭代估计T矩阵(大概10次)
- i-vector提取
- 计算数据库中每个目标说话人对应的Baum-Welch统计量
- 带入全局差异空间矩阵T
- 计算ω\omegaω的后验均值即为i-vector
plda
i-vector包含说话人和信道的信息, 可以使用lda/plda减弱信道的影响
Xij=μ+Fhi+Gwij+ϵijX_{ij} = \mu + Fh_{i} + Gw_{ij} + \epsilon_{ij}Xij=μ+Fhi+Gwij+ϵij
其中:
- μ+Fhi\mu + Fh_{i}μ+Fhi 信号部分, 描述说话人之间的差异(类间差异)
- μ\muμ 全体训练数据的均值
- F 身份空间, 包含用来表示各种说话人的信息
- hih_{i}hi 具体的一个说话人的身份(说话人在身份空间中的位置)
- Gwij+ϵijGw_{ij} + \epsilon_{ij}Gwij+ϵij 噪音部分, 描述同一说话人的不同语音之间的差异(类内差异)
- G 误差空间, 包含可以用来表示同一说话人不同语音变化的信息
- wijw_{ij}wij 表示说话人的某一条语音在G空间中的位置
- ϵij\epsilon_{ij}ϵij 最后的残留噪声项, 表示尚未解释的东西
用两个假象变量(θ\thetaθ, Σ\SigmaΣ)描述一个语音的数据结构:
θ=[μ,F,G,Σ]\theta = [\mu, F, G, \Sigma]θ=[μ,F,G,Σ]
plda模型训练
目标就是输入一堆数据XijX_{ij}Xij(多个说话人多条语音), 使用EM迭代求解
- 均值处理
- 计算所有训练数据XijX_{ij}Xij的均值μ\muμ, 从训练数据中减去该均值Xij=Xij−μX_{ij} = X_{ij} - \muXij=Xij−μ
- 根据训练数据中的人数N, 计算N个人的均值NμN_{\mu}Nμ
- 初始化
- 噪声空间G, 随机初始化
- 身份空间F, 对每个人的均值数据NμN_{\mu}Nμ进行PCA降维, 赋值给F
- 方差Σ\SigmaΣ初始化为常量
- EM迭代优化
简化版plda
Xij=μ+Fhi+ϵijX_{ij} = \mu + Fh{i} + \epsilon_{ij}Xij=μ+Fhi+ϵij
Reference
- SIDEKIT库-Run an i-vector system
- I-Vector的推导详解
- 声纹识别之I-Vector
- 声纹识别之PLDA
- PLDA的原理和em训练
声纹识别之i-vector/plda相关推荐
- 声纹识别PLDA模型的理解
PLDA算法解释 概念理解 在声纹识别领域中,我们假设训练数据语音由I个说话人的语音组成,其中每个说话人有J段自己不同的语音.那么,我们定义第i个说话人的第j条语音为Xij.然后,根据因子分析,我们定 ...
- 深度学习声纹识别_声纹识别:你的声音是这样被“破译”的!
节目中的比赛规则是这样的:从21位性别相同.年龄相仿.声线极为相似的专业合唱团中,选出三位每个人读一句话,加密后成为断断续续的声音样本再交给小度和人类选手,要求他们从合唱声音中识别出三名线人的声音.( ...
- [深度学习概念]·声纹识别技术简介
声纹识别技术简介 声纹识别,也称作说话人识别,是一种通过声音判别说话人身份的技术.从直觉上来说,声纹虽然不像人脸.指纹的个体差异那样直观可见,但由于每个人的声道.口腔和鼻腔也具有个体的差异性,因此反映 ...
- 声纹识别(说话人识别)技术
说话人识别(Speaker Recognition,SR),又称声纹识别(Voiceprint Recognition,VPR),顾名思义,即通过声音来识别出来"谁在说话",是根据 ...
- 声纹识别概述(2)声纹识别原理和过程
文章目录 宏观理解 技术细节 声纹识别发展流程 传统方法 深度学习的方法 多看:声纹识别技术简介--化繁为简的艺术,深入浅出了解声纹识别. 宏观理解 1.困难在哪? 不同的人说话语音波形不同,但是相同 ...
- 说话人识别(声纹识别)发展史简单总结——(阶段学习总结,GMM,GMM-UBM,GMM-SVM理解)
本文的创新点与关键点之一:GMM,GMM-UBM,GMM-SVM的理解 大概是从10月20号开始由于项目需要开始接触说话人识别这一研究方向,这一个多月的时间主要是看论文中文英文,尤其是综述文章,当然也 ...
- 干货:NIST评测(SRE19)获胜团队声纹识别技术分析 | CSDN博文精选
作者 | xjdier 来源 | CSDN博文精选 (*点击阅读原文,查看作者更多精彩文章) 近日,NIST说话人识别技术评测 (Speaker Recognition Evaluation,SRE) ...
- 全球权威声纹识别竞赛斩获双料冠军 网易AI Lab智能技术领先国际
允中 发自 凹非寺 量子位 报道 | 公众号 QbitAI 中国力量,又双叒夺冠了. 这一次,是在全球规模最大.最全面的语音顶会INTERSPEECH 2020上. 挑战比拼内容,则是当前语音研究领域 ...
- 深度学习声纹识别_kaldi/语音识别ASR/声纹识别SRE/资源汇总
化 按时间顺序降序排列,最新内容在最上面 最下方有一些我通过各方渠道偶然得知的技术交流qq群,感兴趣可以加入 刘斌总结的学习资源,中科院自动化所博士生,研究方向为鲁棒性声学建模. [语音识别]从入门到 ...
最新文章
- python 删除字符串中重复的元素
- Android学习笔记之ProgressDialog
- MySQL事务的读脏
- 华为交换机忘了密码如何恢复
- 厉害了,Servlet3的异步处理机制
- beoplay耳机序列号查询_BOSE耳机序列号如何查询?
- Python爬取你好李焕英豆瓣短评并利用stylecloud制作更酷炫的词云图
- python中的列表推导与生成器
- MyEclipse 8.6VSS1.6.2 插件安装
- 艾宾浩斯遗忘曲线.pdf百日计划表.pdf考研时间计划表.pdf每日打卡.pdf每日复习计划表.pdf详细日计划.pdf月计划表.pdf周计划.pdf
- 实现GB28181流媒体服务解决方案如何实现海康、大华等安防摄像头、NVR、平台接入EasyGBS国标流媒体平台
- 小学数学题生成器java_JAVA小学四则运算生成器(聂适涵,邱品)
- 响铃:金蝶的SaaS第一能保持多久?
- Anaconda, Spyder更新导致Spyder环境奔溃
- 第四章第六题(圆上的随机点)(Random points on a circle)
- 牛客小白月赛37 E.紫妹永不服输(构造)
- TDD-FDD语音分层
- 青少年初学哪门语言类编程比较好?
- 手机APP开发之MIT Appinventor详细实战教程(十),标准登陆界面的逻辑设计和数据库的有效使用
- KISSY基础篇乄KISSY之IO前奏