[提取特定人音频的方法]一种基于多尺度通道分离卷积特征提取的说话人聚类方法
1.本发明涉及声纹识别技术领域,尤其是一种基于多尺度通道分离卷积特征提取的说话人聚类方法。
背景技术:
2.随着现代科技的进步,以人工智能为核心的类人智慧不断吸引科研工作者的研究和探讨。说话人日志,也叫说话人分割聚类,是其中语音信号处理的一种非常重要的研究方向,它主要的任务就是在含有多个说话人的音频中分割并聚类提取各自说话人的信息,并识别说话人的边界和身份,将相同的说话人被单独标记成一类。说话人日志领域应用非常广泛,例如可以利用说话人聚类技术对音频文件进行特定人音频检索,为构建和索引说话人音频档案提供有用信息,对语音库中的录制语音进行自动切分标注和建立索引;可以为长时间的会议音频提供日志,方便以后的查证和学习;也可以提高智能音响等一些电子智能设备在分离说话人方面的性能。说话人分割聚类是声纹识别的一个必要的前端处理,对提高声纹识别率有很大的帮助。而降低分割聚类的错误率,说话人的嵌入式向量起着关键性的作用。
3.在声纹领域,关于声纹特征提取方面,传统的统计模型和机器学习方法依然占很大比重。通过传统方法提取到的低维特征参数,如梅尔频率倒谱系数(melfrequencycepstrumcoefficient,mfcc)、线性预测倒谱系数(linearpredictivecepstralcoefficient,lpcc)、线性预测分析(linearpredictioncoefficients,lpc)等,然后传统的概率模型对这些低维特征参数进行识别,如隐马尔可夫模型(hiddenmarkovmodel,hmm)、高斯混合模型(gaussianmixturemodel,gmm)、高斯混合模型-通用背景模型(gaussianmixturemodel—universalbackgroundmodel,ubm)等。虽然这些特征参数可以表示一些基本的特征,但是都是低维特征,而且都是以概率模型去估计特性信息,当数据集非常大时,就会出现严重的误差。但随着大数据和互联网的飞速发展,在声纹领域对深度学习的研究引起科研人员的关注。同时,在说话人的任务中,基于卷积神经网络的技术方法也在一定程度上逐渐超过了传统的因子分析框架。
4.目前有许多基于深度学习的卷积神经网络用于音频嵌入式向量的提取,其中ecapa-tdnn神经网络框架是一种主流的特征提取模型之一,因为其不仅仅可以利用卷积对局部和全局的特征进行提取,同时也可以利用上下文的信息,训练速度快。但是通过在卷积神经网络中增加层数的深度和宽度并不能更深层次地进行特征提取,而res2net和hs-net都是引入另外一个维度:多尺度,从通道切分拼接再卷积的角度对特征提取,由于对非相邻通道间并没有做关联操作,可能会存在信息丢失的风险。
技术实现要素:
5.本发明需要解决的技术问题是提供一种基于多尺度通道分离卷积特征提取的说话人聚类方法,通过建立多尺度通道之间的分离卷积,能够提取到具有判别性的声纹特征,
并在谱聚类算法上取得良好的效果,以相对较小的参数量为代价取得了更低的分割聚类错误率。
6.为解决上述技术问题,本发明所采用的技术方案是:
7.一种基于多尺度通道分离卷积特征提取的说话人聚类方法,包括以下步骤:
8.步骤1:将voxceleb和ami数据集切分为训练集、验证集和测试集;
9.步骤2:对voxceleb和ami数据进行预处理;
10.步骤3:在ecapa-tdnn网络框架的基础上搭建多尺度通道分离卷积模块,对ecapa-tdnn网络框架中的res2net多尺度特征提取模块进行改进;
11.步骤4:选用aam-softmax损失函数对模型进行多次训练得到最优模型;
12.步骤5:利用多尺度通道分离卷积模型对ami会议数据提取特征,并运用谱聚类进行聚类分析;
13.步骤6:使用标准的分割聚类错误率der对聚类结果打分。
14.本发明技术方案的进一步改进在于:步骤2中,对用于模型评估的 voxceleb数据集和说话人聚类的ami数据集进行预加重、分帧、加窗、快速傅里叶变换、mel三角滤波、计算对数能量和离散余弦变换,具体包括以下步骤:
15.步骤2.1:对输入的语音信号进行预加重,通过一阶高通滤波器来实现,所述一阶滤波器的传递函数模型表示为:
16.h(z)=1-tz-1
17.其中,h(z)为预加重函数,z表示变换域变量,t为预加重系数,并且0.9《t《1.0;
18.步骤2.2:对预加重后的语音信号进行分帧,设置在相邻的两帧之间有一部分重叠,应用汉明窗模型,所述汉明窗模型的表达方式为:
[0019][0020]
其中w(n)是汉明窗函数,n是每帧的样本数,n为时域离散刻度;
[0021]
步骤2.3:对处理好的每一帧时域信号x(n)通过离散傅里叶变换或快速傅里叶变换得到语音的频谱,表示为:
[0022][0023]
其中,x(n)为每一帧时域采样信号,x(k)为语音的频谱,n为离散傅里叶变换区间长度,k为频域离散刻度,n为时域离散刻度;
[0024]
步骤2.4:对步骤2.3中得到的频谱信号平滑化,并消除谐波,进行mel 三角滤波,所述的三角滤波器的频率响应表示为:
[0025][0026]
其中,hm(k)是三角滤波后的频率响应,m表示第m个滤波器,f(m)表示第m个滤波器
输出的频率大小;
[0027]
步骤2.5:对三角滤波后的频域信号计算对数能量,表示为:
[0028][0029]
其中,s(m)为滤波后的对数能量;
[0030]
步骤2.6:对数能量经过离散余弦变换(dct)得到最后的80维mfcc 系数,离散余弦变换的表达公式为:
[0031][0032]
其中,m是三角滤波器的个数,l为mfcc系数的阶数。
[0033]
本发明技术方案的进一步改进在于:步骤3中,具体包括以下步骤:
[0034]
步骤3.1:搭建单个多尺度通道分离卷积特征提取基本块,在第一个tdnn 卷积层后将通道分为8份,每一份都经历一个卷积,然后将卷积后的特征按照通道拼接,再通过一个tdnn卷积层进行特征融合;
[0035]
步骤3.2:搭建多尺度通道分离卷积特征提取模块,将预处理后得到的80 维mfcc特征经过1x1的卷积后,接入3个连续的多尺度通道分离卷积特征提取基本块,然后将每一个块得到的输出进行通道拼接,最后经过1x1卷积完成特征融合;
[0036]
步骤3.3:将得到的多尺度通道分离卷积特征提取模块接入一个统计池化层,获得全局和局部的均值和方差,通过一个softmax激活函数和两个线性全连接层得到最后的嵌入式特征向量。
[0037]
本发明技术方案的进一步改进在于:步骤4中,利用aam-softmax损失函数对说话人语音段的正样本和负样本求特征差值角度θ并计算损失更新网络结构中权重系数,具体包括以下步骤:
[0038]
步骤4.1:对网络最后提取到的嵌入式特征向量和其对应的权重系数进行归一化操作,如下公式所示:
[0039][0040][0041]
步骤4.2:接着用余弦相似度求两个语音段嵌入式特征向量的距离,如下公式所示:
[0042][0043]
根据以上的公式可求得对应的aam-softmax损失函数设定为概率的负对数,表示为以下公式:
[0044][0045]
其中边缘系数q设为0.2,s为缩放因子,设为30;
[0046]
步骤4.3:利用aam-softmax损失函数,设定epcho为10,每个epcho训练的minibatch设置为16,每个minibatch包含400个语音对儿,对网络进行训练。
[0047]
本发明技术方案的进一步改进在于:步骤5中,由得到的多尺度通道分离卷积模型提取指定维度为192的嵌入式特征向量,构建特征样本的相似矩阵和度矩阵,通过二者计算出归一化拉普拉斯矩阵的前k个特征值和其对应特征向量,最后通过k-means完成对所属语音片段的聚类分析,具体包括以下步骤:
[0048]
步骤5.1:由嵌入式向量特征提取模型对预处理后的数据进行提取特征,得到指定维度为192的频谱特征;
[0049]
步骤5.2:根据余弦相似度计算所有样本特征的相似程度,得到数值为0 到1的相似矩阵w,计算公式如下:
[0050][0051]
其中,xi,xj表示样本空间中两个不同的数据点,指定参数σ为0.01;
[0052]
步骤5.3:由相似矩阵计算度矩阵d,计算公式如下:
[0053][0054]
其中,度矩阵d是将相似矩阵w的每行元素w
ij
相加,度矩阵d中每个数值di表示每个样本数据的度,得到的数值放在对角线上构成的对角矩阵;
[0055]
步骤5.4:由度矩阵和相似矩阵计算归一化的拉普拉斯矩阵:
[0056][0057]
并计算拉普拉斯矩阵l前k个最小特征值所对应的特征向量p1,p2,...pk,令
[0058]
步骤5.5:作变换
[0059]
步骤5.6:对于每一个i=1,...,n,令为h矩阵的第i行;
[0060]
步骤5.7:通过k-means算法将点聚成c1,...,ck。
[0061]
本发明技术方案的进一步改进在于:步骤6中,考虑现实条件下说话人数量已知和说话人数量未知的两种情况,并按照验证集和测试集对聚类的结果进行评估分析。
[0062]
由于采用了上述技术方案,本发明取得的技术进步是:
[0063]
1、相较于目前主流的嵌入式特征向量提取模型res2net,本发明采用在 ecapa-tdnn网络框架上改进的全连接hs-res2net,以一种更加细粒化的工作方式,通过将声纹特征按通道多尺度分离,建立多尺度通道之间的连接卷积,经过通道分离、卷积、通道拼接和特征融合,提取到具有判别性的声纹特征。
[0064]
2、原ecapa-tdnn模型文件的大小是21m,而本发明训练得到的模型文件大小为24.5m,在参数量只增加0.16倍的情况下,获得了更多的感受野组合和更多尺度的特征表达,由谱聚类对这种细粒化声纹特征进行聚类分析,明显降低了分割聚类错误率。
附图说明
[0065]
图1是本发明的方法流程图;
[0066]
图2是本发明的多尺度通道分离卷积特征提取模块结构图;
[0067]
图3是本发明的ecapa-tdnn总体网络结构图。
具体实施方式
[0068]
下面结合附图及实施例对本发明做进一步详细说明:
[0069]
如图1所示,一种基于多尺度通道分离卷积特征提取的说话人聚类方法,首先通过预加重、分帧、加窗、快速傅里叶变换、mel三角滤波、计算对数能量和离散余弦变换(dct),对voxceleb和ami数据集进行预处理操作,将得到的80维低维特征mfcc送入到多尺度通道分离卷积特征提取模块,经过对通道的切分、卷积、密集连接、拼接再卷积特征融合操作,更加深层次地提取特征信息,将每一个多尺度通道分离卷积特征提取基本块最后的输出再进行通道拼接和特征融合,经过一个通道和上下文相关的统计池化层,得到全局和局部信息的均值,最后通过softmax激活函数和全连接层得到192维的多尺度特征,用谱聚类算法对提取到的特征进行聚类分析。在voxceleb和ami数据集的实验结果表明,本发明提高了ecapa-tdnn模型的特征表达,解决了现有的基于卷积神经网络特征提取方法存在的特征提取不充分、特征冗余等问题。
[0070]
一种基于多尺度通道分离卷积特征提取的说话人聚类方法,包括以下步骤:
[0071]
步骤1:将voxceleb和ami数据集切分为训练集、开发集和测试集;
[0072]
考虑到voxceleb数据集是一个最大规模的说话人识别语料集,主要是用来对模型进行训练,因此将其中的voxceleb2数据集作为模型的训练集,而voxceleb1作为测试集用来对模型的测试;考虑ami数据集是由4人组成的会议数据集,将其分为验证和测试集用于对谱聚类结果的分析和评估。
[0073]
步骤2:对voxceleb和ami数据的预处理;
[0074]
对模型评估的voxceleb和说话人聚类用到的ami数据集进行预加重、分帧、加窗、快速傅里叶变换、mel三角滤波、计算对数能量和离散余弦变换(dct);
[0075]
预处理过程具体包括以下步骤:
[0076]
步骤2.1:对输入的语音信号进行预加重,通过一阶高通滤波器来实现,所述一阶滤波器的传递函数模型表示为:
[0077]
h(z)=1-tz-1
[0078]
其中,h(z)为预加重函数,z表示变换域变量,t为预加重系数,并且0.9《t《1.0;
[0079]
步骤2.2:对预加重后的语音信号进行分帧,设置在相邻的两帧之间有一部分重叠,应用汉明窗模型,所述汉明窗模型的表达方式为:
[0080]
[0081]
其中w(n)是汉明窗函数,n是每帧的样本数,n为时域离散刻度;
[0082]
步骤2.3:对处理好的每一帧时域信号x(n)通过离散傅里叶变换或快速傅里叶变换得到语音的频谱,表示为:
[0083][0084]
其中,x(n)为每一帧时域采样信号,x(k)为语音的频谱,n为离散傅里叶变换区间长度,k为频域离散刻度,n为时域离散刻度;
[0085]
步骤2.4:对步骤2.3中得到的频谱信号平滑化,并消除谐波,进行mel 三角滤波,所述的三角滤波器的频率响应表示为:
[0086][0087]
其中,hm(k)是三角滤波后的频率响应,m表示第m个滤波器,f(m)表示第m个滤波器输出的频率大小;
[0088]
步骤2.5:对三角滤波后的频域信号计算对数能量,表示为:
[0089][0090]
其中,s(m)为滤波后的对数能量;
[0091]
步骤2.6:对数能量经过离散余弦变换(dct)得到最后的80维mfcc 系数,离散余弦变换的表达公式为:
[0092][0093]
其中,m是三角滤波器的个数,l为mfcc系数的阶数;
[0094]
步骤3:在ecapa-tdnn网络框架的基础上搭建多尺度通道分离卷积模块;对ecapa-tdnn网络框架中的res2net多尺度特征提取模块进行改进;
[0095]
基于ecapa-tdnn网络而搭建多尺度通道分离卷积模块具体包括以下步骤:
[0096]
步骤3.1:搭建单个多尺度通道分离卷积特征提取基本块,对应图2中的模块x1,由上一步1x1卷积得到的通道数为1024的特征图,按照通道数切分成为8份,通道维度都为128,其中第一份不做任何操作,作为原始保留特征,记作y1;模块x2选用大小为1的卷积核,设置步长为1,空洞率为1,输出维度为128,然后进行通道切分为y21和y22,其中y21作为保留特征;模块3 首先将模块x2的y22与当前的特征进行通道拼接,然后卷积选用大小为1的卷积核,设置步长为1,空洞率为1,输出维度为128,然后进行通道切分为 y31和32,其中y31作为保留特征;模块4首先将模块x2的y22、模块x3的 y31和当前的特征进行通道拼接,然后卷积与上相同的操作,将卷积后的特征进行通道切分为y41和y42,其中y41作为保留特征,以此类推,最后将y1、 y21、y31、y41、y51、y61、y71和y8在特征维度上进行拼接得到高维的语义特征,最后通过1x1的卷积模块6完成特征融合得到最后的输出;
[0097]
步骤3.2:搭建多尺度通道分离卷积特征提取模块,利用步骤3.1中提到的单个多尺度特征提取模块,设计整体多尺度特征提取模块详述如下:首先将预处理后得到的80维mfcc特征经过1x1卷积、relu和bn层,指定输出维度维512;接着接入三个连续的多尺度通道分离卷积特征提取模块,其中空洞卷积率分别设置为为2,3,4,多尺度s为8,指定输出维度为512;接着将3 个多尺度通道分离卷积特征提取模块最后的输出进行通道拼接,拼接完后的维度为2048;最后通过一个1x1的卷积、relu和bn层对拼接后的特征进行特征融合,指定最后的输出维度为1536;
[0098]
步骤3.3:利用步骤3.2中提到的整体多尺度特征提取模块,设计整个网络的总体架构:
[0099]
步骤3.2所述的特征提取层后,接入一个通道和上下文相关的统计池化层,即计算整体多尺度特征提取模块输出的方差和均值,将三者拼接在一起,再次计算一次均值,指定维度为1536,然后如图3所示,引入一个残差模块,其中经过要给线性层降维到128,经过一个tanh激活函数和一个线性层维度变回原来的1536,再经过一个softmax激活函数得到的结果用为在之前的均值上,组后指定的输出维度为3072;最后接入一个线性层降维到192,得到最后的嵌入式特征向量。
[0100]
步骤4:选用aam-softmax损失函数对模型进行多次训练得到最优模型;
[0101]
利用aam-softmax损失函数对说话人语音段的正样本和负样本求特征差值角度θ并计算损失更新网络结构中权重系数,该损失函数主要作用在于对分类器输出的每个说话人标签与真实的标签进行打分,即测试集中如果一个说话人对儿的两个语音片段是来自同一个说话人,那么这两个语音对儿的标签为1,否者为0。因此网络的输出是当前判断两个语音段是否来自同一个说话人的概率。
[0102]
计算aam-softmax损失具体包括以下步骤:
[0103]
步骤4.1:对网络最后提取到的嵌入式特征向量和其对应的权重系数进行归一化操作,如下公式所示:
[0104][0105][0106]
步骤4.2:接着用余弦相似度求两个语音段嵌入式特征向量的距离,如下公式所示:
[0107][0108]
根据以上的公式可求得对应的aam-softmax损失函数设定为概率的负对数,表示为以下公式:
[0109]
[0110]
其中边缘系数q设为0.2,s为缩放因子,设为30;
[0111]
步骤4.3:利用aam-softmax损失函数,设定epcho为10,每个epcho训练的minibatch设置为16,每个minibatch包含400个语音对儿,对网络进行训练;
[0112]
全连接hs-res2net网络结构参数如表1所示:
[0113]
表1全连接hs-res2net网络结构参数
[0114][0115][0116]
步骤5:利用多尺度通道分离卷积模型对ami会议数据提取特征,并运用谱聚类进行聚类分析;
[0117]
由得到的多尺度通道分离卷积模型提取指定维度为192的嵌入式特征向量,构建特征样本的相似矩阵和度矩阵,通过二者计算出拉普拉斯矩阵的前k个特征值和特征向量,最后通过k-means完成对所属语音片段的聚类分析;
[0118]
对ami会议数据提取后的特征进行聚类分析,具体包括以下步骤:
[0119]
步骤5.1:由嵌入式向量特征提取模型对预处理后的数据进行提取特征,得到指定维度为192的频谱特征;
[0120]
步骤5.2:根据余弦相似度计算所有样本特征的相似程度,得到数值为0 到1的相似矩阵w,计算公式如下:
[0121][0122]
其中,xi,xj表示样本空间中两个不同的数据点,指定参数σ为0.01;
[0123]
步骤5.3:由相似矩阵计算度矩阵d,计算公式如下:
[0124][0125]
其中,度矩阵d是将相似矩阵w的每行元素w
ij
相加,度矩阵d中每个数值di表示每个样本数据的度,得到的数值放在对角线上构成的对角矩阵;
[0126]
步骤5.4:由度矩阵和相似矩阵计算归一化的拉普拉斯矩阵:
[0127][0128]
并计算拉普拉斯矩阵l前k个最小特征值所对应的特征向量p1,p2,...pk,令
[0129]
步骤5.5:作变换
[0130]
步骤5.6:对于每一个i=1,...,n,令为h矩阵的第i行;
[0131]
步骤5.7:通过k-means算法将点聚成c1,...,ck。
[0132]
步骤6:使用标准的分割聚类错误率对聚类结果打分;
[0133]
考虑现实条件下说话人数量已知和说话人数量未知的两种情况,并按照验证集和测试集对聚类的结果进行评估分析;
[0134]
标准的分割聚类错误率如下:
[0135][0136]
其中,t
spk
表示说话人聚类错误的语音时长,t
miss
表示有效语音误判为非语音的时长,t
false
表示非语音误判为有效语音的时长,t
total
为测试集中音频的总时长,这里由于使用的是人工标注语音段,因此和均为0。分割聚类错误率der如表2所示:
[0137]
表2分割聚类错误率der
[0138][0139]
综上所述,本发明在res2net中的第一个1x1卷积之后,通过将通道切分拼接再卷积,每个通道卷积之后的特征一部分作为特征保留,一部分建立与其他通道的特征关联,将
最后得到的特征进行1x1的特征融合,这样可以利用通道之间的特征关系来更加充分地提取嵌入式特征向量,接着将训练好的模型对会议ami数据集特征提取,最后通过谱聚类将说话人的时间间隔进行聚类。