声纹识别(Speaker Recognition),是一项提取说话人声音特征和说话内容信息,自动核验说话人身份的技术。
声纹识别通常分为两类:Speaker Verification (说话人验证)和Speaker identification (说话人识别)。

  • Speaker Verification (说话人验证):使用自己的语音进行验证。如果说话人宣称是某个身份,使用语音对此进行验证。
  • Speaker identification (说话人识别):识别谁正在说话。用于确定某个未知说话人的身份。未知说话人的输入音频与选中的说话人组配对,如果发现存在匹配,即返回说话人的身份。
    在实际应用中,划分为三个阶段:
    (1)开发阶段:训练一个深度网络模型区分不同说话人;
    (2)注册阶段:用训练好的网络创建说话人模型。
    (3)验证阶段:提取测试语句特征,与存储的说话人模型进行比较,验证身份。
    语音预处理:语音降噪、回声消除、语音端点检测等

1、 Deep Speaker:an End-to-End Neural Speaker Embedding System (Baidu 2017)
(1)数据预处理方法:未知
(2)深度网络结构(用于提取声学特征):

采用两种深度神经网络模型作为骨架网络:

  • Deep residual CNN (ResCNN),基于ResNet 改进;
  • Gated recurrent unit (GRU) ,基于RNN 改进。
    (3)损失函数
    使用人脸识别中采用的三元组损失(Triplet Loss), 在训练过程中,选择一个说话者的话语,然后计算一个嵌入(标记为“Anchor”)。再产生两个嵌入,一个来自相同的说话者(标记为“Positive”),一个来自于不同的说话者(标记为“Negative”)。在训练过程中,其目标是让Anchor与positive嵌入之间的余弦相似度高于Anchor与negative嵌入之间的余弦相似度。

损失函数定义为:

(4)数据集
Deep Speaker在三个不同数据集做实验,UIDs,XiaoDu,和Mandarin。UIDs和XiaoDu是普通话数据集,Mturk是英语数据集。UIDs和Mturk是文本独立的数据集,XiaoDu是文本相关的数据集,其基于百度的唤醒字(wake word)。其中UIDs数据集包括大约250000名说话者,是三者中最大的数据集。
注:数据集未公开、预处理方法未知

2、 Generalized End-to-End Loss for Speaker Verification_ICASSP2018 (Google)
(1) 预处理方法:
Voice Activity Detection (VAD),keyword detection,segment
特征提取:每帧提取40维log-mel-filterbank energies
(2) 深度网络结构:
使用3层LSTM网络结构。
(3)损失函数
提出新的损失函数Generalized end-to-end (GE2E) loss,与TE2E loss和Triplet loss相比,它每次更新都和多个人相比,因此号称能使训练时间更短,说话人验证精度更高。
其基本思路如图1所示,挑选 N 个人,每人 M 句话,通过图示的顺序排列组成Batch,接着通过LSTM神经网络提取 N*M 句话的embeddings,然后求取每个embedding和每个人平均embedding的相似度,得到一个相似度矩阵。最后通过最小化GE2E loss使得相似矩阵中有颜色的相似度尽可能大,灰色的相似度尽可能小,即本人的embedding应该和本人每句话的embedding尽可能相近,和其他人的embedding尽可能远离,从而训练LSTM网络。

相似度矩阵定义:

其中eji表示第j人第i句话对应的embedding , w和b是要训练的参数(约束 w>0 ), ck 是第 k 人的embedding,由 M 句话的embeddings求平均得到,即:

有两种损失函数:

  • Softmax Loss:

  • Contrast Loss:

而GE2E Loss定义为以上两种损失函数之和:

  此外,为了训练的稳定性,论文中建议在计算本人和本人某句话相似度的时候,不要让该句话的embedding来参与计算本人的embedding,即实际上:

(4)数据集:未公开

3、Attention-Based Models for Text-Dependent Speaker Verification_ICASSP2018 (Google)
将注意力机制(attention mechanisms)与LSTM网络结构结合,用于文本相关的声纹识别。
(1)预处理方法:未知
(2)网络结构:3层LSTM网络结构
训练结构:

Attention layer:

Shared-parameter non-linear attention(效果最好):

(3)损失函数:triplet loss
(4)数据集:未公开
注:预处理方法未知、数据集未公开

4、End-to-End Text-Independent Speaker Verification with Triplet Loss on Short Utterances_Interspeech2017 (Microsoft)
(1)预处理方法:未知
(2)深度网络结构:
Inception Net with residual block

(3)损失函数:
Triplet loss, 基于欧几里得距离相似度。

(4)数据集:
2800名说话者,每位说话者大约300句。
注:数据集需要购买。

5、TristouNet_ Triplet Loss for Speaker Turn Embedding_ICASSP2017 (LIMSI)
(1)预处理方法:
特征提取:35维声学特征,Mel-Frequency Cepstral Coefficients (MFCC);
说话者改变检测(Speaker change detection);
(2)深度网络结构:
基于Long Short-Term Memory recurrent networks (LSTM),TristouNet网络结构如下:

(3)损失函数:
Triplet loss, 基于欧几里得距离相似度。


(4)数据集
ETAPE 电视广播数据集,总共29个小时,其中训练集18h,开发集5.5h,测试集5.5h。
注:所用数据集为法语数据集,需要购买。

6、Text-Independent Speaker Verification Using 3D Convolutional Neural Networks_arXiv2018
提出3D卷积神经网络结构(3D-CNN),用于文本无关的声纹识别。
(1)预处理方法:
Voice Activity Detection(VAD)
40 MFEC features
(2)深度网络结构:
3D-CNN结构:

(3)损失函数:
交叉熵损失(cross-entropy loss)
(4)数据集
WVU-Multimodal 2013 dataset,有1083个不同的说话者。
注:数据集无法获取

基于深度学习方法的声纹识别(Speaker Recognition)论文综述相关推荐

  1. 基于深度学习的声纹识别

    一.选题 1.1 题目: 基于深度学习的声纹识别 1.2 研究内容: ① 研究用于声纹识别的语音参数以及这些参数对声纹识别性能的影响. ② 研究声纹识别的传统方法及性能. ③ 在研究声纹识别的传统方法 ...

  2. android声纹识别技术,基于Android平台的声纹识别系统的研究与实现

    摘要: 社会的发展越来越快,计算机技术的应用也愈来愈广,已经渗透到生活的各个方面.在快节奏.信息化的时代,需要识别和交互的应用日益广泛,要求验证身份的场合越来越多,迅速判定一个人的身份是一个非常重要的 ...

  3. [深度学习概念]·声纹识别技术简介

    声纹识别技术简介 声纹识别,也称作说话人识别,是一种通过声音判别说话人身份的技术.从直觉上来说,声纹虽然不像人脸.指纹的个体差异那样直观可见,但由于每个人的声道.口腔和鼻腔也具有个体的差异性,因此反映 ...

  4. 基于Pytorch实现的声纹识别模型

    前言 本章介绍如何使用Pytorch实现简单的声纹识别模型,本项目参考了人脸识别项目的做法Pytorch-MobileFaceNet ,使用了ArcFace Loss,ArcFace loss:Add ...

  5. 声纹识别(说话人识别)技术

    说话人识别(Speaker Recognition,SR),又称声纹识别(Voiceprint Recognition,VPR),顾名思义,即通过声音来识别出来"谁在说话",是根据 ...

  6. 声纹识别与声源定位(一)

    针对目前智能计算机及大规模数据的发展,依据大脑处理语音.图像数据方法的deep learning技术应运而生.deep learning技术是应用于音频信号识别,模仿大脑的语音信号学习.识别的模式.在 ...

  7. 干货:NIST评测(SRE19)获胜团队声纹识别技术分析 | CSDN博文精选

    作者 | xjdier 来源 | CSDN博文精选 (*点击阅读原文,查看作者更多精彩文章) 近日,NIST说话人识别技术评测 (Speaker Recognition Evaluation,SRE) ...

  8. 声纹识别技术小结(1):声纹建模技术

    文章目录 1. 概论和流程 概论 流程 2. 核心:声纹建模 2.1 深度学习之前的方法 高斯混合模型(GMM) 高斯混合-通用背景模型(GMM-UBM) 联合因子分析(JFA)+ GMM-UBM i ...

  9. 长虹声纹识别技术推动家电产业向高阶形态发展

    科技的进步推动了家电产业的发展,从主打语音识别功能的全球第一台人工智能电视推出到声纹识别人工智能电视的落地,仅仅用了一年时间. 近日,由长虹研发和生产,搭载着远场语音.声纹识别技术的人工智能电视Q5K ...

最新文章

  1. dmol3给定关键字不在字典中_python中的数据结构与算法(2):字典与集合
  2. Codeforces Round #597 (Div. 2)题解A~D
  3. Android自定义相机详细讲解
  4. 中国医疗AI第一股首位投资人:AI不再高深,正在回归商业本质
  5. 鸟哥的Linux私房菜(基础篇)-第二章、 Linux 如何学习(二.5. 重点回顾)
  6. java 气泡 提示插件_Java气泡提示功能实现
  7. 异步导致UI句柄增加的解决办法
  8. 开源项目怎么变成自己的_将产品变成开源项目的深入指南
  9. c#读蓝牙数据_C#读取BWT901CL蓝牙传感器的数据
  10. 汉王拉开人脸识别产业化大幕 市场应用前景广阔
  11. 计算机组成与系统结构第二版第5章,计算机组成与系统结构第五章答案.pdf
  12. HDU 5950 Recursive sequence(矩阵快速幂)
  13. android:videoView
  14. 【原创】软件团队建设和管理--之我见
  15. jsp单选按钮传值传递jsp_Unity3D与Java后台TomCat服务器传递数据和文件(2)传递文件...
  16. 代码签名工具有哪些?好用的数字签名工具推荐
  17. 重装正版Windows系统
  18. matlab读入三维点云数据斯坦福兔子
  19. comp3411辅导assignment2
  20. 第三次学车-侧位停车

热门文章

  1. java获取中国城市代码 中国城市ID
  2. oracle建库建表基础代码,oracle手工代码建库
  3. C语言实验题――字符逆序
  4. dialogex 与 dialog discardable
  5. applicationScope
  6. 阿克曼结构移动机器人的gazebo仿真(九)
  7. vs + opencv + YOLO-Fastest 目标检测
  8. SVN 解决冲突问题
  9. bt客户端 linux 上传,linux下飞快的BT客户端rtorrent设置
  10. conic-gradient