一种基于深度学习的轻量化单通道声纹识别方法及系统

未命名 08-02 阅读:196 评论:0


1.本发明涉及单通道语音识别技术领域,尤其涉及一种基于深度学习的轻量化单通道声纹识别方法及系统。


背景技术:

2.当今信息社会在不断的发展,指纹识别、虹膜识别、人脸识别等生物识别技术逐渐占领了我们生活中的一部分,慢慢的改变了人们的生活,而在此时另一种生物识别技术:声纹识别逐渐出现在人们的视野当中;声纹识别技术是指通过对人的声音识别,验证某个人身份的技术,是一种新型的生物识别技术,此技术常常应用于刑侦破案、罪犯跟踪、国防监听、个性化应用、证券交易、银行交易、公安取证、个人电脑声控锁、汽车声控锁、身份证、信用卡的识别等,轻量化单通道声纹识别用于个性化应用、证券交易、银行交易等场景,此类场景需要简单的录音的设备以及更快的运算处理速度进行大量识别计算,轻量化模型在此类型场景凸显优势,神经网络轻量化设计的目标就是在低硬件条件的设备上仍然能保持良好的网络性能,需要保持较好的测试集准确率的前提下,解决储存空间和能耗对于神经网络性能的限制,现在国内与国外的声纹识别大部分追求准确高,轻量化的声纹识别模型目前较少现在国内与国外的声纹识别大部分追求准确高,轻量化的声纹识别模型目前较少,主流的模型有rawnet、sincnet、am-mobilenet和ecapa-tdnn等,这些主流模型参数量巨大,所需要的训练数据量也是非常的巨大。


技术实现要素:

3.为了解决上述技术问题,本发明的目的是提供一种基于深度学习的轻量化单通道声纹识别方法及系统,能够在保持声纹识别模型的识别准确率的同时减少声纹识别模型的参数量,加快模型的识别速度。
4.本发明所采用的第一技术方案是:一种基于深度学习的轻量化单通道声纹识别方法,包括以下步骤:
5.对单通道语音输入数据进行预处理,得到语音梅尔频谱数据;
6.结合se残差模块和cbam注意力机制模块,基于语音梅尔频谱数据对轻量化声纹识别模型进行训练,得到训练后的轻量化声纹识别模型;
7.基于训练后的轻量化声纹识别模型进行单通道语音识别处理,得到识别结果。
8.进一步,所述对单通道语音输入数据进行预处理,得到语音梅尔频谱数据这一步骤,其具体包括:
9.获取预设时长的单通道语音输入数据;
10.根据预设数据比例,对单通道语音输入数据进行加入噪声和回响,得到语音信号数据;
11.根据预设时间间隔对语音信号数据进行采样处理,得到一维语音信号;
12.对一维语音信号进行预加重、分帧、加窗、短时傅里叶变换、取功率谱与取对数处
理,得到语谱图;
13.将语谱图输入mel滤波器组进行相乘,得到语音梅尔频谱数据。
14.进一步,所述结合se残差模块和cbam注意力机制模块,基于语音梅尔频谱数据对轻量化声纹识别模型进行训练,得到训练后的轻量化声纹识别模型这一步骤,其具体包括:
15.将语音梅尔频谱数据输入至轻量化声纹识别模型,所述轻量化声纹识别模型包括卷积层、归一化层、se残差模块、cbam注意力机制模块和线性层;
16.基于卷积层,对语音梅尔频谱数据进行卷积处理,得到语音梅尔频谱特征数据;
17.基于归一化层,对语音梅尔频谱特征数据进行归一化处理,得到归一化后的语音梅尔频谱特征数据;
18.基于se残差模块,对归一化后的语音梅尔频谱特征数据进行残差处理,得到语音梅尔频谱残差数据;
19.基于cbam注意力机制模块,对语音梅尔频谱残差数据进行压缩处理,得到压缩后的语音梅尔频谱残差数据;
20.基于线性层,通过aam损失函数对压缩后的语音梅尔频谱残差数据进行线性处理,输出语音数据嵌入码,并得到训练后的轻量化声纹识别模型。
21.进一步,所述基于se残差模块,对归一化后的语音梅尔频谱特征数据进行残差处理,得到语音梅尔频谱残差数据这一步骤,其具体包括:
22.将归一化后的语音梅尔频谱特征数据输入至se残差模块,首先依次通过第一x通道的二维卷积层进行卷积处理,再通过第一relu激活函数进行激活处理,再进行第一二维批归一化进行归一化处理,得到第一待处理语音数据;
23.所述第一待处理语音数据再通过第二x通道的二维卷积层与第二二维批归一化处理,输出第二待处理语音数据;
24.所述第二待处理语音数据再依次通过二维自适应平均池化、线性层、relu激活函数、线性层和sigmoid激活函数进行处理,得到第三待处理语音数据;
25.将第二待处理语音数据与第三待处理语音数据进行相乘,再与归一化后的语音梅尔频谱特征数据进行相加,得到语音梅尔频谱残差数据。
26.进一步,所述基于cbam注意力机制模块,对语音梅尔频谱残差数据进行压缩处理,得到压缩后的语音梅尔频谱残差数据这一步骤,其具体包括:
27.将语音梅尔频谱残差数据输入至cbam注意力机制模块,所述cbam注意力机制模块包括通道注意力模块和空间注意力模块;
28.首先进入通道注意力模块,所述通道注意力模块包括左分支与右分支,所述左分支为先二维自适应最大池化,再经过线性层,再经过relu激活层,再经过线性层,再经过sigmoid激活层,得到左分支待处理语音数据;
29.右分支为先二维自适应平均池化,再经过线性层,再经过relu激活层,再经过线性层,再经过sigmoid激活层,得到右分支待处理语音数据;
30.将左分支待处理语音数据与右分支待处理语音数据进行相加后经过sigmoid激活层再与语音梅尔频谱残差数据进行相乘,得到通道注意力模块输出数据;
31.将通道注意力模块输出数据输入空间注意力模块,先对第二维度(即[b,c,h,w]对c维度进行操作,结果为[n,h,w])最大和平均,拼接后得到特征图,再经过7
×
7的二维卷积
层,再进过sigmoid激活层,再与语音梅尔频谱残差数据进行相乘,最后得到压缩后的语音梅尔频谱残差数据。
[0032]
进一步,所述aam损失函数的表达式具体如下所示:
[0033][0034]
上式中,l7表示aam损失函数,s表示损失函数的规模值,m表示损失函数的边缘值,表示yi转换成的角度,yi表示第i个y向量,j表示从1开始到n,n表示说话人的总数量。
[0035]
进一步,所述基于训练后的轻量化声纹识别模型进行单通道语音识别处理,得到识别结果这一步骤,其具体包括:
[0036]
获取多个待识别的单通道语音数据;
[0037]
将多个待识别的单通道语音数据输入至训练后的轻量化声纹识别模型,获取对应的语音数据嵌入码;
[0038]
根据语音数据嵌入码进行两两配对计算余弦相似度,根据计算结果判断待识别的单通道语音数据是否为同一说话人,输出识别结果。
[0039]
进一步,所述余弦相似度的计算公式具体如下所示:
[0040][0041]
上式中,ai表示第一待识别的单通道语音数据a的第i个向量单位,bi表示第一待识别的单通道语音数据b的第i个向量单位,i的范围为1~n,a和b都是有n个向量单位。
[0042]
本发明所采用的第二技术方案是:一种基于深度学习的轻量化单通道声纹识别系统,包括:
[0043]
预处理模块,用于对单通道语音输入数据进行预处理,得到语音梅尔频谱数据;
[0044]
训练模块,用于结合se残差模块和cbam注意力机制模块,基于语音梅尔频谱数据对轻量化声纹识别模型进行训练,得到训练后的轻量化声纹识别模型;
[0045]
识别模块,基于训练后的轻量化声纹识别模型进行单通道语音识别处理,得到识别结果。
[0046]
本发明方法及系统的有益效果是:本发明通过对获取到的单通道语音数据信息进行预处理,获取对应的语音梅尔频谱数据,进一步构建声纹识别模型,所述声纹识别模型包括se残差模块和cbam注意力机制,且在se残差模块之间加入了跳连接,se残差模块把语音数据的通道压缩在32通道上和通过cbam注意力机制将语音数据的嵌入码压缩在128维,能够在保持声纹识别模型的识别准确率的同时减少声纹识别模型的参数量,加快模型的识别速度。
附图说明
[0047]
图1是本发明一种基于深度学习的轻量化单通道声纹识别方法的步骤流程图;
[0048]
图2是本发明一种基于深度学习的轻量化单通道声纹识别系统的结构框图;
[0049]
图3是本发明通过声纹识别模型对单通道语音数据的识别流程示意图;
[0050]
图4是本发明获取的单通道语音数据信号图;
[0051]
图5是本发明加入噪声的单通道语音数据信号图;
[0052]
图6是本发明构建的声纹识别模型的结构示意图;
[0053]
图7是本发明se残差模块的结构示意图;
[0054]
图8是本发明cbam注意力机制模块的结构示意图;
[0055]
图9是本发明进行语音识别的流程示意图。
具体实施方式
[0056]
下面结合附图和具体实施例对本发明做进一步的详细说明。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
[0057]
单通道语音:单个麦克风录音为单通道语音,即只有一个麦克风录音;
[0058]
梅尔频谱:梅尔频谱是一种基于发声机制或人耳感知机制提取得到频谱空间的向量表示,是一种声学特征,梅尔频谱包含了语种、信息内容、音色、情感、韵律等多种信息。
[0059]
参照图1和图3,本发明提供了一种基于深度学习的轻量化单通道声纹识别方法,该方法包括以下步骤:
[0060]
s1、对单通道语音输入数据进行预处理,得到语音梅尔频谱数据;
[0061]
具体地,获得时长为五秒的语音输入(若语音输入长度少于五秒时,把语音重复拼接满五秒以获得时长为五秒的语音;若语音输入长度大于五秒时,则在原语音中随机裁剪出连续五秒的语音),本发明使用的语音采样率为16khz,五秒的语音数据长度则为16000*5+240=110250,如图4所示,其物理基本描述单位为振幅(纵轴)和时间(横轴);
[0062]
将一部分五秒的语音输入加入噪声和回响。噪音、回响、原始干净语音的总占比为(1:4:5),如图5所示;
[0063]
语音信号是从传感器中按一定时间间隔对物理声音进行采样,最终得到的一维时间信号,一维的语音信号经过预加重、分帧、加窗等一系列处理,再经过短时傅里叶变换(stft),再取功率谱,取对数后得到语谱图,最后经过一个类似于人类耳蜗的mel频谱滤波器的计算得到梅尔频谱,本发明采用的是40维的梅尔频谱,其尺寸为b*40*502(b为批次数量)。
[0064]
s2、结合se残差模块和cbam注意力机制模块,基于语音梅尔频谱数据对轻量化声纹识别模型进行训练,得到训练后的轻量化声纹识别模型;
[0065]
具体地,参照图6,结合se残差模块和cbam注意力机制模块,图6中曲线箭头代表的是跳连接,构建轻量化声纹识别模型,sebasicblock为残差模块加上se注意力机制,sebasicblock[x]*n代表有n个通道sebasicblock模块重复n次连接;convolutional block attention module(cbam)表示卷积模块的注意力机制模块,是一种结合了空间(spatial)和通道(channel)的注意力机制模块;嵌入码为模型最终输出部分,代表一段说话人语音的高级特征,此模型的嵌入码维度为128;最后输出维度为[b,1211],其中b为批次数量,1211为训练数据的总人数,训练数据用的是voxceleb1,说话人的总数为1211人,用于计算aam损失函数,所述aam损失函数的表达式具体如下所示:
[0066][0067]
上式中,l7表示aam损失函数,s表示损失函数的规模值,m表示损失函数的边缘值,表示yi转换成的角度,yi表示第i个y向量,j表示从1开始到n,n表示说话人的总数量。
[0068]
s21、se残差模块;
[0069]
具体地,参照图7,首先进行x通道的二维卷积层,再进行relu激活函数,再进行二维批归一化,再进行x通道的二维卷积层,再进行二维批归一化,再进行二维自适应平均池化,再进行一个线性层,再进行relu激活函数,再进行一个线性层,再进行sigmoid激活函数,然后和前面的二维批归一化(相乘
×
部分)进行相乘,再和初始的输入(跳连接部分)进行相加,全程的维度都为[b,x,20,502],b为批次大小(默认128),x为通道数(对应为se残差模块[x]中的x),图中的箭头上的
×
为相乘。
[0070]
s22、cbam注意力机制模块。
[0071]
具体地,参照图8,cbam卷积模块的注意力机制模块,里面细分为通道注意力模块和空间注意力模块,首先进入通道注意力模块:左分支为先二维自适应最大池化,再经过线性层,再经过relu激活层,再经过线性层,再经过sigmoid激活层,右分支为先二维自适应平均池化,再经过线性层,再经过relu激活层,再经过线性层,再经过sigmoid激活层,左分支和右分支相加后经过sigmoid激活层再与初始输入(图中相乘
×
部分)进行相乘,再进入空间注意力模块:先对dim=1维度最大和平均,拼接后得到特征图,再经过7
×
7的二维卷积层,再进过sigmoid激活层,再与初始输入(图中相乘
×
部分)进行相乘,最后得到输出,输入的尺寸为[b,32,20,502],通道注意力模块的输出尺寸为[b,32,1,502],空间注意力模块输出的尺寸为[b,32,1,502]。
[0072]
s3、基于训练后的轻量化声纹识别模型进行单通道语音识别处理,得到识别结果。
[0073]
具体地,参照图9,语音活动检测(voiceactivity detection,vad)又称语音端点检测,语音边界检测。目的是从声音信号流里识别和消除长时间的静音期,vad可用工具有很多,这里用的工具为pydub中的audiosegment,此部分的模型为上一步训练得到的最佳模型即训练后的轻量化声纹识别模型,计算两个嵌入码相似程度使用的是余弦相似度(cosine similarity);在多个待识别语音的情况下,需要把每个待识别语音分别通过模型获得各自的嵌入码,然后再把多个嵌入码进行两两配对计算余弦相似度,所述余弦相似度的计算公式具体如下所示:
[0074][0075]
上式中,ai表示第一待识别的单通道语音数据a的第i个向量单位,bi表示第一待识别的单通道语音数据b的第i个向量单位,i的范围为1~n,a和b都是有n个向量单位。
[0076]
本发明的仿真模拟实验具体如下所示:
[0077]
此技术在vctk,timit,cv pt,cv es的测试集效果如下表所示:
[0078][0079]
相对于其他轻量化模型有较低的等错率,在不同的测试集上有较强的泛化性,参数量也较小,在参数量很小的情况下具有很强的识别能力,这是本发明的一处亮点,神经网络轻量化设计的目标就是在低硬件条件的设备上仍然能保持良好的网络性能,需要保持较好的测试集准确率的前提下,解决储存空间和能耗对于神经网络性能的限制,本发明技术在vctk,timit,cv pt,cv es的测试集的等错率分别为7.83%,5.32%,10.13%,5.46%,保持在一个比较低的等错率;
[0080]
本发明提出技术的模型在保持不错的准确率甚至是高于其他主流模型的情况下对模型参数量大量减少,现有主流声纹识别的模型参数为本文提出的模型参数量的5~30倍;
[0081]
本发明提出技术的模型所使用的训练数据比其他主流声纹识别的模型所使用的数据小几倍,泛化性也是比其他主流模型要强。
[0082]
参照图2,一种基于深度学习的轻量化单通道声纹识别系统,包括:
[0083]
预处理模块,用于对单通道语音输入数据进行预处理,得到语音梅尔频谱数据;
[0084]
训练模块,用于结合se残差模块和cbam注意力机制模块,基于语音梅尔频谱数据对轻量化声纹识别模型进行训练,得到训练后的轻量化声纹识别模型;
[0085]
识别模块,基于训练后的轻量化声纹识别模型进行单通道语音识别处理,得到识别结果。
[0086]
上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。
[0087]
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本技术权利要求所限定的范围内。

技术特征:
1.一种基于深度学习的轻量化单通道声纹识别方法,其特征在于,包括以下步骤:对单通道语音输入数据进行预处理,得到语音梅尔频谱数据;结合se残差模块和cbam注意力机制模块,基于语音梅尔频谱数据对轻量化声纹识别模型进行训练,得到训练后的轻量化声纹识别模型;基于训练后的轻量化声纹识别模型进行单通道语音识别处理,得到识别结果。2.根据权利要求1所述一种基于深度学习的轻量化单通道声纹识别方法,其特征在于,所述对单通道语音输入数据进行预处理,得到语音梅尔频谱数据这一步骤,其具体包括:获取预设时长的单通道语音输入数据;根据预设数据比例,对单通道语音输入数据进行加入噪声和回响,得到语音信号数据;根据预设时间间隔对语音信号数据进行采样处理,得到一维语音信号;对一维语音信号进行预加重、分帧、加窗、短时傅里叶变换、取功率谱与取对数处理,得到语谱图;将语谱图输入mel滤波器组进行相乘,得到语音梅尔频谱数据。3.根据权利要求2所述一种基于深度学习的轻量化单通道声纹识别方法,其特征在于,所述结合se残差模块和cbam注意力机制模块,基于语音梅尔频谱数据对轻量化声纹识别模型进行训练,得到训练后的轻量化声纹识别模型这一步骤,其具体包括:将语音梅尔频谱数据输入至轻量化声纹识别模型,所述轻量化声纹识别模型包括卷积层、归一化层、se残差模块、cbam注意力机制模块和线性层;基于卷积层,对语音梅尔频谱数据进行卷积处理,得到语音梅尔频谱特征数据;基于归一化层,对语音梅尔频谱特征数据进行归一化处理,得到归一化后的语音梅尔频谱特征数据;基于se残差模块,对归一化后的语音梅尔频谱特征数据进行残差处理,得到语音梅尔频谱残差数据;基于cbam注意力机制模块,对语音梅尔频谱残差数据进行压缩处理,得到压缩后的语音梅尔频谱残差数据;基于线性层,通过aam损失函数对压缩后的语音梅尔频谱残差数据进行线性处理,输出语音数据嵌入码,并得到训练后的轻量化声纹识别模型。4.根据权利要求3所述一种基于深度学习的轻量化单通道声纹识别方法,其特征在于,所述基于se残差模块,对归一化后的语音梅尔频谱特征数据进行残差处理,得到语音梅尔频谱残差数据这一步骤,其具体包括:将归一化后的语音梅尔频谱特征数据输入至se残差模块,首先依次通过第一x通道的二维卷积层进行卷积处理,再通过第一relu激活函数进行激活处理,再进行第一二维批归一化进行归一化处理,得到第一待处理语音数据;所述第一待处理语音数据再通过第二x通道的二维卷积层与第二二维批归一化处理,输出第二待处理语音数据;所述第二待处理语音数据再依次通过二维自适应平均池化、线性层、relu激活函数、线性层和sigmoid激活函数进行处理,得到第三待处理语音数据;将第二待处理语音数据与第三待处理语音数据进行相乘,再与归一化后的语音梅尔频谱特征数据进行相加,得到语音梅尔频谱残差数据。
5.根据权利要求4所述一种基于深度学习的轻量化单通道声纹识别方法,其特征在于,所述基于cbam注意力机制模块,对语音梅尔频谱残差数据进行压缩处理,得到压缩后的语音梅尔频谱残差数据这一步骤,其具体包括:将语音梅尔频谱残差数据输入至cbam注意力机制模块,所述cbam注意力机制模块包括通道注意力模块和空间注意力模块;首先进入通道注意力模块,所述通道注意力模块包括左分支与右分支,所述左分支为先二维自适应最大池化,再经过线性层,再经过relu激活层,再经过线性层,再经过sigmoid激活层,得到左分支待处理语音数据;右分支为先二维自适应平均池化,再经过线性层,再经过relu激活层,再经过线性层,再经过sigmoid激活层,得到右分支待处理语音数据;将左分支待处理语音数据与右分支待处理语音数据进行相加后经过sigmoid激活层再与语音梅尔频谱残差数据进行相乘,得到通道注意力模块输出数据;将通道注意力模块输出数据输入空间注意力模块,先对第二维度最大和平均,拼接后得到特征图,再经过7
×
7的二维卷积层,再进过sigmoid激活层,再与语音梅尔频谱残差数据进行相乘,最后得到压缩后的语音梅尔频谱残差数据。6.根据权利要求5所述一种基于深度学习的轻量化单通道声纹识别方法,其特征在于,所述aam损失函数的表达式具体如下所示:上式中,l7表示aam损失函数,s表示损失函数的规模值,m表示损失函数的边缘值,表示y
i
转换成的角度,y
i
表示第i个y向量,j表示从1开始到n,n表示说话人的总数量。7.根据权利要求6所述一种基于深度学习的轻量化单通道声纹识别方法,其特征在于,所述基于训练后的轻量化声纹识别模型进行单通道语音识别处理,得到识别结果这一步骤,其具体包括:获取多个待识别的单通道语音数据;将多个待识别的单通道语音数据输入至训练后的轻量化声纹识别模型,获取对应的语音数据嵌入码;根据语音数据嵌入码进行两两配对计算余弦相似度,根据计算结果判断待识别的单通道语音数据是否为同一说话人,输出识别结果。8.根据权利要求7所述一种基于深度学习的轻量化单通道声纹识别方法,其特征在于,所述余弦相似度的计算公式具体如下所示:上式中,a
i
表示第一待识别的单通道语音数据a的第i个向量单位,b
i
表示第一待识别的单通道语音数据b的第i个向量单位,i的范围为1~n,a和b都是有n个向量单位。9.一种基于深度学习的轻量化单通道声纹识别系统,其特征在于,包括以下模块:预处理模块,用于对单通道语音输入数据进行预处理,得到语音梅尔频谱数据;
训练模块,用于结合se残差模块和cbam注意力机制模块,基于语音梅尔频谱数据对轻量化声纹识别模型进行训练,得到训练后的轻量化声纹识别模型;识别模块,基于训练后的轻量化声纹识别模型进行单通道语音识别处理,得到识别结果。

技术总结
本发明公开了一种基于深度学习的轻量化单通道声纹识别方法及系统,该方法包括:对单通道语音输入数据进行预处理,得到语音梅尔频谱数据;结合SE残差模块和CBAM注意力机制模块,基于语音梅尔频谱数据对轻量化声纹识别模型进行训练,得到训练后的轻量化声纹识别模型;基于训练后的轻量化声纹识别模型进行单通道语音识别处理,得到识别结果。该系统包括:预处理模块、训练模块和识别模块。通过使用本发明,能够在保持声纹识别模型的识别准确率的同时减少声纹识别模型的参数量,加快模型的识别速度。本发明作为一种基于深度学习的轻量化单通道声纹识别方法及系统,可广泛应用于单通道语音识别技术领域。语音识别技术领域。语音识别技术领域。


技术研发人员:朱珍 吴靖 朱文博 黎海兵 张忠波 陈建文 王修才
受保护的技术使用者:佛山科学技术学院
技术研发日:2023.02.27
技术公布日:2023/7/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐