CN110390937A - 一种基于ArcFace loss算法的跨信道声纹识别方法 - Google Patents
一种基于ArcFace loss算法的跨信道声纹识别方法 Download PDFInfo
- Publication number
- CN110390937A CN110390937A CN201910495120.6A CN201910495120A CN110390937A CN 110390937 A CN110390937 A CN 110390937A CN 201910495120 A CN201910495120 A CN 201910495120A CN 110390937 A CN110390937 A CN 110390937A
- Authority
- CN
- China
- Prior art keywords
- audio
- channel
- feature
- lst
- model
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/02—Preprocessing operations, e.g. segment selection; Pattern representation or modelling, e.g. based on linear discriminant analysis [LDA] or principal components; Feature selection or extraction
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/04—Training, enrolment or model building
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification
- G10L17/06—Decision making techniques; Pattern matching strategies
Abstract
本发明公开了一种基于ArcFace loss算法的跨信道声纹识别方法,解决了跨信道声纹识别率较低的问题,其技术方案要点是将多信道的原始音频预处理后,提取fbank特征、fbank的一阶微分特征和fbank的二阶微分特征,将提取的其中一个信道的特征投入insightvoice网络训练,训练基于ArcFace loss算法的损失函数进行,得到单信道模型。然后将多信道的原始音频特征输入到单信道模型进行fine‑tune,得到多信道模型,使用多信道模型进行跨信道声纹识别,识别错误率低,总体效果较好。
Description
技术领域
本公开涉及声纹识别领域,尤其涉及一种基于ArcFace loss算法的跨信道声纹识别方法。
背景技术
目前,声纹识别产品化的过程中,噪声干扰、跨信道是两个主要技术难点,对于噪声干扰,已经研究出了很多算法,传统的谱减法、WebRTC、rnn、mask掩码等,这些方法在很大程度上能够解决噪声干扰问题。而对于跨信道问题,像经典的LDA和PLDA算法,能做到一定程度上的信道补偿。但是,在日新月异的时代里,从电话到手机,从有线到无线,从单一的麦克风到自带降噪处理功能,从低采样到高采样等等因素,信道的差异也就越来越大,跨信道的问题已经成为一个不可避免的挑战和难以逾越的鸿沟,传统的算法已经无法很好的解决这个问题。
在POC现场,跨信道的缺陷问题暴露无遗,已成为声纹的致命伤,要想声纹产品扎扎实实落地,超越同行竞争选手,解决跨信道问题已然是声纹产品化的关键。
发明内容
本公开的目的是提供一种基于ArcFace loss算法的跨信道声纹识别方法,以实现识别率较高的跨信道声纹识别。
为实现上述技术目的,本公开采用以下技术方案:
一种基于ArcFace loss算法的跨信道声纹识别方法,包括:
收集说话人至少在两个不同信道的音频,对所述音频进行预处理并提取音频特征;
将所述音频特征转换为.lst 文件,所述.lst 文件包括音频路径;
将一个信道音频特征的所述.lst 文件投入到insightvoice网络训练单信道模型,所述insightvoice网络通过.lst和音频结合的方式读取音频;
将其他信道音频特征的所述.lst 文件输入到所述单信道模型,基于所述单信道模型做fine-tune得到多信道模型;通过所述多信道模型对不同信道音频进行交叉验证,完成声纹识别;
所述insightvoice网络为ResNet-50网络;所述训练基于ArcFace loss算法的损失函数进行。
作为具体实施例地,所述基于ArcFace loss算法的损失函数为:;其中,k为样本数量,n为类别数,
m为角度余量,,,,,,xi
表示第i个样本的深度特征,属于第yi类,Wj表示最后一个全连接层权重W的第j列。
进一步地,所述角度余量m的值为0.5。
作为具体实施例地,所述音频特征为fbank特征、 fbank的一阶微分特征和fbank的二阶微分特征。
作为具体实施例地,所述音频的预处理、fine-tune和insightvoice网络的训练基于MxNet框架进行。
本公开的有益效果在于提供了一种跨信道声纹识别方法,将多信道的音频预处理后,提取音频特征,并将音频特征转为.lst 文件,将其中一个信道音频特征的.lst 文件投入insightvoice网络训练,训练基于ArcFace loss算法的损失函数进行,得到单信道模型。然后将多信道音频特征的.lst 文件输入到单信道模型进行fine-tune,得到多信道模型,使用多信道模型进行跨信道声纹识别,识别错误率低,总体效果较好。
附图说明
图1是本公开的流程图;
图2为data_train.lst和data_val.lst的文件示意图;
图3为.lst文件样例示意图;
图4为.rec文件样例示意图;
图5为insightvoice网络block结构示意图。
具体实施方式
以下结合附图对本公开作进一步详细说明。
为了提高跨信道声纹识别率,本公开使用insightvoice网络来训练声音识别网络。具体方法过程为:收集说话人在至少两个信道的音频,对音频进行预处理并提取音频特征,将音频特征转为.lst文件,.lst 文件包括音频路径,再将其中一个信道音频特征的.lst文件投入到insightvoice网络训练单信道模型;然后将多信道音频特征的.lst文件基于单信道模型进行fine-tune得到多信道模型;训练基于ArcFace loss算法的损失函数,最后通过多信道模型对不同信道音频进行交叉验证,完成跨信道声纹识别。
本公开的跨信道声纹识别是基于MxNe框架进行的,本公开insightvoice网络训练声音识别模型使用.lst和音频结合的方式读取音频,可参考MxNet框架中insightface图像的读取方式。insightvoice网络同其他深度学习网络的区别在于:投入训练的特征不一样、训练使用的损失函数不一样。
insightvoice网络训练采用特征的获取方法如下:例如音频数据放在/home/audio文件夹下,一共有10个类别,那么在/home/audio文件夹下应有10个子文件夹,每个子文件夹放属于这个类的音频文件,可以用英文、中文或数字等命名这些子文件夹来表达类别,可根据个人使用习惯来进行命名。另外假设要将生成的.lst文件放在/home/lst文件夹下,那么MxNet项目的路径是~/incubator-mxnet,运行下面的命令就可以生成.lst文件:
“python ~/incubator-mxnet/tools/im2rec.py --list True --recursive True --train-ratio 0.9 /home/lst/data /home/audio”
--list参数必须要是True,说明是要生成.lst文件,--recursive参数必须为True,表示要将所有音频路径写进成.lst文件,--train-ratio参数表示将train和val以多少比例划分,默认为1,表示都是train的数据。这样在/home/lst文件夹下就会生成data_train.lst和data_val.lst两个文件,如图2所示。图3为.lst文件样例:第一列是index,第二列是label,第三列是音频路径。
当然有时候可能你的数据音频不是按照一个类别放在一个文件夹这种方式,那么就需要考虑修改这个脚本来生成相同格式的.lst文件才能用于后续生成.rec文件。第一步就是已生成的.lst文件和音频,例如要将生成的.rec文件放在.lst文件相同的/home/lst文件夹下(一般都会这样操作),那么运行下面的命令就可以生成.rec文件:
python ~/incubator-mxnet/tools/im2rec.py --num-thread 4 /home/lst /home/audio
这里倒数第二个参数:/home/lst是.lst文件所放的路径,可以不用指明.lst文件名称,因为代码会自动搜索/home/lst文件夹下所有以.lst结尾的文件。最后一个参数:/home/audio是你的音频所放的路径。–num-thread 4 这个参数是表示用4个线程来执行,当数据量较大的时候,生成.rec的过程会比较慢,使用多线程可以加速。
运行成功后,在/home/rec文件夹下就生成了data_train.rec和data_val.rec文件,如图4所示,然后就可以用mxnet.io.audioRecordIter类来导入.rec文件。第二步制作rec和idx的训练集,使用MxNet的$INSIGHTFACE/src/align对齐码可以对齐并生成lst,然后在property中定义数据集的格式,整体内容例如:1000,224,224 ,其中1000代表声纹的类别数目,音频格式为224x224。
insightvoice的网络结构为ResNet-50网络,由50个block组成,每个block的构成如图5所示,其中卷积层1的卷积核大小为3*3,步宽为1,卷积层2的卷积核大小为3*3,步宽为2。
提取预处理后的音频特征即fbank特征、 fbank的一阶微分特征和fbank的二阶微分特征。fbank特征的提取这里不再赘述,一般为对数梅尔滤波器的输出。特征的维数一般选择为64维。
然后按照上述方法将音频特征转为.lst文件并投入insightvoice网络进行训练,
训练所用的损失函数基于ArcFace loss算法,ArcFace loss算法的损失函数为:;其中,k为样本数量,n为类别数,m
为角度余量,,,,,,
xi表示第i个样本的深度特征,属于第yi类,Wj表示最后一个全连接层权重W的第j列。本公开
选用的角度余量m的值为0.5。
本公开基于12133人数据(包含704589条音频数据)对数据做增强,在音频中加入音乐、回响、说话声、白噪声的噪音,起到数据增强的作用,提高模型的鲁棒性,本公开验证的数据来自两个信道,一是通过APP注册获取的音频,二是通过拨打电话获取的音频。在400人ai_hell_v1数据集上测试,每人识别音频数量20条,20秒APP注册和10秒电话识别分别各10条,文本为自由说方式,总共2872800次交叉验证,本地cpu每次验证耗时2秒,最终测试结果如表1所示:
表1
其中,FAR和FRR是声纹识别性能的评价指标,简单地说,FAR就是“把不应该匹配的声纹当成匹配的声纹”的比例,FRR就是 “把应该相互匹配成功的声纹当成不能匹配的声纹”的比例",ERR是等错误率,是FAR和FRR均值,T-ERR是自己定义的一个性能指标,比较严格,可做参考。
基于上面训练的单信道模型,使用975人双信道数据进行fine-tune,基于25人双信道测试集分别做单信道注册验证和双信道交叉验证,包括电话注册电话识别、APP注册APP识别、电话注册APP识别、APP注册电话识别,注册时长20秒,验证时长10秒,文本内容为自由说方式,测试结果如表2所示:
表2
表2中每两行为一组,一共为四组,每组的第一行参数是当T-ERR最小时取出的参数,第二行是参照FAR和FRR相等时取出的性能参数,以第二行评价指标为主。
因为本地cpu验证每次耗时在2秒左右,故做进一步优化,将验证时长缩短为5秒,提取的fbank特征维度从64降到32,最后测试能将验证耗时缩短为500毫秒左右,但是识别准确率略有下降,测试结果如表3所示:
表3
综上,通过insightvoice网络来进行跨信道声纹识别,最终的识别效果较好。以上为本公开的部分实施例,本公开的保护范围由权利要求书及其等效物限定。
Claims (5)
1.一种基于ArcFace loss算法的跨信道声纹识别方法,其特征在于,包括:
收集说话人至少在两个不同信道的音频,对所述音频进行预处理并提取音频特征;
将所述音频特征转换为.lst 文件,所述.lst 文件包括音频路径;
将一个信道音频特征的所述.lst 文件投入到insightvoice网络训练单信道模型,所述insightvoice网络通过.lst和音频结合的方式读取音频;
将其他信道音频特征的所述.lst 文件输入到所述单信道模型,基于所述单信道模型做fine-tune得到多信道模型;通过所述多信道模型对不同信道音频进行交叉验证,完成声纹识别;
其中,所述insightvoice网络为ResNet-50网络;所述训练基于ArcFace loss算法的损失函数进行。
2.如权利要求1所述的基于ArcFace loss算法的跨信道声纹识别方法,其特征在于,所
述基于ArcFace loss算法的损失函数为:;
其中,K为样本数量,n为类别数,m为角度余量,0.1≤m≤8,,,,,Xi表示第i个样本的深度特征,属于第yi类,wj表示最后一个全连
接层权重w的第j列。
3.如权利要求2所述的基于ArcFace loss算法的跨信道声纹识别方法,其特征在于,所述角度余量m的值为0.5。
4.如权利要求1-3任一所述的基于ArcFace loss算法的跨信道声纹识别方法,其特征在于,所述音频特征为fbank特征、 fbank的一阶微分特征和fbank的二阶微分特征。
5.如权利要求1-3任一所述的基于ArcFace loss算法的跨信道声纹识别方法,其特征在于,所述音频的预处理、fine-tune和insightvoice网络的训练基于MxNet框架进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910495120.6A CN110390937B (zh) | 2019-06-10 | 2019-06-10 | 一种基于ArcFace loss算法的跨信道声纹识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910495120.6A CN110390937B (zh) | 2019-06-10 | 2019-06-10 | 一种基于ArcFace loss算法的跨信道声纹识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110390937A true CN110390937A (zh) | 2019-10-29 |
CN110390937B CN110390937B (zh) | 2021-12-24 |
Family
ID=68285421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910495120.6A Active CN110390937B (zh) | 2019-06-10 | 2019-06-10 | 一种基于ArcFace loss算法的跨信道声纹识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110390937B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111312283A (zh) * | 2020-02-24 | 2020-06-19 | 中国工商银行股份有限公司 | 跨信道声纹处理方法及装置 |
CN111402899A (zh) * | 2020-03-25 | 2020-07-10 | 中国工商银行股份有限公司 | 跨信道声纹识别方法及装置 |
CN111639558A (zh) * | 2020-05-15 | 2020-09-08 | 圣点世纪科技股份有限公司 | 一种基于ArcFace Loss和改进残差网络的指静脉身份验证方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178132A1 (en) * | 2001-03-30 | 2002-11-28 | Rose Ralph E. | Adaptive system for recognition of multi-channel amplitude varying signals |
CN101321387A (zh) * | 2008-07-10 | 2008-12-10 | 中国移动通信集团广东有限公司 | 基于通信系统的声纹识别方法及系统 |
CN108492821A (zh) * | 2018-03-27 | 2018-09-04 | 华南理工大学 | 一种减弱语音识别中说话人影响的方法 |
CN108877809A (zh) * | 2018-06-29 | 2018-11-23 | 北京中科智加科技有限公司 | 一种说话人语音识别方法及装置 |
CN109192216A (zh) * | 2018-08-08 | 2019-01-11 | 联智科技(天津)有限责任公司 | 一种声纹识别用训练数据集仿真获取方法及其获取装置 |
CN109256139A (zh) * | 2018-07-26 | 2019-01-22 | 广东工业大学 | 一种基于Triplet-Loss的说话人识别方法 |
-
2019
- 2019-06-10 CN CN201910495120.6A patent/CN110390937B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020178132A1 (en) * | 2001-03-30 | 2002-11-28 | Rose Ralph E. | Adaptive system for recognition of multi-channel amplitude varying signals |
CN101321387A (zh) * | 2008-07-10 | 2008-12-10 | 中国移动通信集团广东有限公司 | 基于通信系统的声纹识别方法及系统 |
CN108492821A (zh) * | 2018-03-27 | 2018-09-04 | 华南理工大学 | 一种减弱语音识别中说话人影响的方法 |
CN108877809A (zh) * | 2018-06-29 | 2018-11-23 | 北京中科智加科技有限公司 | 一种说话人语音识别方法及装置 |
CN109256139A (zh) * | 2018-07-26 | 2019-01-22 | 广东工业大学 | 一种基于Triplet-Loss的说话人识别方法 |
CN109192216A (zh) * | 2018-08-08 | 2019-01-11 | 联智科技(天津)有限责任公司 | 一种声纹识别用训练数据集仿真获取方法及其获取装置 |
Non-Patent Citations (4)
Title |
---|
CHEN T: ""MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systems"", 《STATISTICS》 * |
JIANKANG DENG: ""ArcFace:additive angular margin loss for deep face recognition"", 《IEEE》 * |
YU Y Q: ""ensemble additive margin softmax for speaker verification"", 《ICASSP 2019》 * |
蒋晔: ""基于短语音和信道变化的说话人识别研究"", 《中国博士学位论文全文数据库信息科技辑》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111312283A (zh) * | 2020-02-24 | 2020-06-19 | 中国工商银行股份有限公司 | 跨信道声纹处理方法及装置 |
CN111312283B (zh) * | 2020-02-24 | 2023-03-21 | 中国工商银行股份有限公司 | 跨信道声纹处理方法及装置 |
CN111402899A (zh) * | 2020-03-25 | 2020-07-10 | 中国工商银行股份有限公司 | 跨信道声纹识别方法及装置 |
CN111402899B (zh) * | 2020-03-25 | 2023-10-13 | 中国工商银行股份有限公司 | 跨信道声纹识别方法及装置 |
CN111639558A (zh) * | 2020-05-15 | 2020-09-08 | 圣点世纪科技股份有限公司 | 一种基于ArcFace Loss和改进残差网络的指静脉身份验证方法 |
CN111639558B (zh) * | 2020-05-15 | 2023-06-20 | 圣点世纪科技股份有限公司 | 一种基于ArcFace Loss和改进残差网络的指静脉身份验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110390937B (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kharitonov et al. | Data augmenting contrastive learning of speech representations in the time domain | |
CN108922518B (zh) | 语音数据扩增方法和系统 | |
US9355642B2 (en) | Speaker recognition method through emotional model synthesis based on neighbors preserving principle | |
CN108564942A (zh) | 一种基于敏感度可调的语音情感识别方法及系统 | |
CN110827801A (zh) | 一种基于人工智能的自动语音识别方法及系统 | |
CN109272988A (zh) | 基于多路卷积神经网络的语音识别方法 | |
CN109036465A (zh) | 语音情感识别方法 | |
CN108711436A (zh) | 基于高频和瓶颈特征的说话人验证系统重放攻击检测方法 | |
CN110457432A (zh) | 面试评分方法、装置、设备及存储介质 | |
CN110111797A (zh) | 基于高斯超矢量和深度神经网络的说话人识别方法 | |
CN110390937A (zh) | 一种基于ArcFace loss算法的跨信道声纹识别方法 | |
Sadjadi et al. | The 2019 NIST Speaker Recognition Evaluation CTS Challenge. | |
CN101261832A (zh) | 汉语语音情感信息的提取及建模方法 | |
CN108922513A (zh) | 语音区分方法、装置、计算机设备及存储介质 | |
CN102411932B (zh) | 结合声门激励和声道调制信息的汉语语音情感提取及建模方法 | |
CN106611604A (zh) | 一种基于深度神经网络的自动语音叠音检测方法 | |
CN110299142A (zh) | 一种基于网络融合的声纹识别方法及装置 | |
CN108198561A (zh) | 一种基于卷积神经网络的翻录语音检测方法 | |
CN110070895A (zh) | 一种基于监督变分编码器因素分解的混合声音事件检测方法 | |
CN102810311A (zh) | 说话人估计方法和说话人估计设备 | |
CN109872720A (zh) | 一种基于卷积神经网络对不同场景鲁棒的重录语音检测算法 | |
CN111400540A (zh) | 一种基于挤压和激励残差网络的歌声检测方法 | |
CN103456302A (zh) | 一种基于情感gmm模型权重合成的情感说话人识别方法 | |
CN108806725A (zh) | 语音区分方法、装置、计算机设备及存储介质 | |
CN106297769B (zh) | 一种应用于语种识别的鉴别性特征提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |