一种基于会议场景小样本条件下的声纹准确识别方法与流程

文档序号:18124618发布日期:2019-07-10 09:49阅读:182来源:国知局
一种基于会议场景小样本条件下的声纹准确识别方法与流程

本发明涉及智能会议领域,具体涉及一种基于会议场景小样本条件下的声纹准确识别方法。



背景技术:

在会议场景下,由于会议安排时间大都非常紧凑,留给采集音频的时间很有限。其次,说话人主观上也不太愿意花费很长时间在采集音频上;再者,被采集语音的说话人也无法在短期时间内,将自己的声纹特征全都展现出来,因此很难在会议场景下采集到足够的训练样本。大多数情况下,采集到的语音大都是同一种腔调,无法完全展示说话人的声纹特征,无法完全囊括不同条件下说话人自身的差异特征。不仅在会议场景下,在其他场景下也是如此,根本无法完成采集足够样本的需求,这将直接导致了声纹识别系统中只能使用小样本完成模型的训练。

在声纹识别系统中采用小样本训练模型,将带来很多难以预想的问题:首先,样本点少,无法完全覆盖用户的声纹个性特征,从而,小样本下提取的特征将很难区分出不同的说话人,这将直接导致识别准确率低的问题;再者,小样本训练时,样本缺失将导致模型很难收敛,无法达到训练出能完整描述声纹特征分布模型的目标;此外,小样本条件下训练出的模型会偏离正确的声纹特征分布,无法达到最优的处理结果,还有可能带来非常严重的过拟合现象;除此之外,样本点少,将严重限制声纹识别技术的作用领域,由于样本点的不足,在多人声纹识别领域,系统所能区分的总人数非常有限,这将严重降低用户对声纹识别系统的使用体验。



技术实现要素:

本发明的目的是提供一种声纹识别准确率高的基于会议场景小样本条件下的声纹准确识别方法。

为实现上述目的,本发明采用了如下技术方案:一种基于会议场景小样本条件下的声纹准确识别方法,包括以下步骤:

步骤(1):先在训练阶段对基于会议场景小样本执行特征提取操作,具体步骤如下:

步骤(1.1):先对经特征提取后的每个说话人的特征向量矩阵执行差异化特征与样本点操作,将每个说话人对应的特征向量矩阵转化成同时具备行向量间数据差异最大化和列向量间数据差异最大化的特征矩阵;

步骤(1.2):对经差异化特征与样本点操作后的特征矩阵执行独立化特征矩阵操作,将经差异化特征与样本点操作后的特征矩阵转化成矩阵中列向量是不独立的特征矩阵;

步骤(1.3):将得到的每个说话人对应的矩阵中列向量是不独立的特征矩阵按照顺序一一输入进选定的模型里,然后按照模型对特征数据的格式要求转化特征矩阵,再按照模型训练步骤,分别训练出针对每个说话人独特的预判模型并保存预判模型;

步骤(2):在识别阶段对待测语音样本执行特征提取操作,具体步骤如下:

步骤(2.1):筛选特征数据:先将训练阶段每个说话人经特征提取后对应的特征向量样本点均值矩阵结合在一起组成筛选矩阵,然后将待测语音经特征提取后对应的特征向量样本点均值矩阵中的列向量与筛选矩阵中各特征向量样本点均值矩阵中的列向量一一相减,然后根据阈值,将待测语音经特征提取后对应的特征向量样本点均值矩阵中与所有说话人特征向量样本点均值差异度都大或者都小的列向量剔除出去,只保留其余列向量。

步骤(2.2):预判识别结果:将待测语音的特征向量样本点均值矩阵中经筛选剔除后保留的列向量组成特征向量矩阵,再对该特征向量矩阵依次执行差异化特征与样本点操作及独立化特征矩阵操作,得到待测语音对应的矩阵中列向量是不独立的特征矩阵;然后分别计算训练阶段每个说话人对应的矩阵中列向量是不独立的特征矩阵与待测语音对应的矩阵中列向量是不独立的特征矩阵之间的相似度,并按相似度的大小选取训练阶段适当数目的说话人作为预判的结果;

步骤(2.3):识别目标说话人:将待测语音对应的矩阵中列向量是不独立的特征矩阵带入到预判结果中各说话人对应的预判模型里,计算待测语音对应的矩阵中列向量是不独立的特征矩阵在每个预判模型中得到的概率,并选取概率最高的那个预判模型作为识别结果,该识别结果也就是目标说话人。

进一步地,前述的一种基于会议场景小样本条件下的声纹准确识别方法,其中:在步骤(1.1)中,差异化特征与样本点操作,具体方法如下:

假设通过特征提取操作后得到的其中一个目标说话人的特征向量矩阵为xij{0≤i≤m,0≤j≤n},按照公式(1.1)、公式(1.2)分别计算说话人对应的特征间均值矩阵ei与特征向量样本点间均值矩阵fj;

然后根据公式(1.3),计算行向量间数据差异最大化特征矩阵;

其中,xij为矩阵特征向量,ei为特征间均值矩阵,aij为行向量间数据差异最大化特征矩阵;

然后根据公式(1.4),计算列向量间数据差异最大化特征矩阵;

其中,xij为矩阵特征向量,fj为特征向量样本点间均值矩阵,bij为列向量间数据差异最大化特征矩阵;

然后,根据公式(1.5)和公式(1.6)分别行向量间数据差异最大化特征矩阵aij和列向量间数据差异最大化特征矩阵bij执行归一化过程;

其中ajmax是指aij矩阵中第j列中的最大值,ajmin是指aij矩阵中第j列中的最小值,aimax是指aij矩阵中第i行中的最大值,aimin是指aij矩阵中第i行中的最小值,aij为行向量间数据差异最大化特征矩阵,bij为列向量间数据差异最大化特征矩阵;

最后,根据公式(1.7)的操作步骤合并归一化后的矩阵aij′、bij′,得到同时具备行向量间数据差异最大化和列向量间数据差异最大化的特征矩阵wij,

其中,wij为合并后同时具备行向量间数据差异最大化和列向量间数据差异最大化的特征矩阵,aij′为归一化后的行向量间数据差异最大化特征矩阵,bij′为归一化后的列向量间数据差异最大化特征矩阵。

进一步地,前述的一种基于会议场景小样本条件下的声纹准确识别方法,其中:在步骤(1.2)中,独立化特征矩阵操作,具体方法如下:

步骤(1.2.1):计算新特征向量:

假设ga={w1,w2,...,wm},wi是列向量,列数为语音信号的帧数,首先计算wi(1≤i≤n)的均值,得出均值然后计算wi与的差值,新的

步骤(1.2.2):计算协方差:

根据上步计算出的新特征向量可以求出特征的协方差矩阵s,计算过程如公式(1.8)所示:

步骤(1.2.3):计算新特征矩阵:

利用幂法或逆幂法计算协方差矩阵s的特征值和特征向量,得出的特征值为λi∈{λ1,λ2,...,λm},且满足λ1>λ2>...>λm,与特征值对应的特征向量为yi∈{y1,y2,...,ym},其中yi对应的就是执行独立化特征矩阵操作后得到的特征矩阵。

进一步地,前述的一种基于会议场景小样本条件下的声纹准确识别方法,其中:在步骤(2.2)中,将待测语音的特征向量样本点均值矩阵中经筛选剔除后保留的列向量组成特征向量矩阵,并对该特征向量矩阵依次执行差异化特征与样本点操作及独立化特征矩阵操作,得到的特征矩阵为yi′,将训练阶段每个说话人对应的矩阵中列向量是不独立的特征矩阵假设为ai∈{a1,a2,ah},其中ai表示第i个说话人对应的特征矩阵,h表示声纹识别系统中的总人数;假设b为经过上述操作得到的yi′,ai中的数据用aij表示,b中数据用bij表示,每个说话人对应的特征矩阵ai与b矩阵的相似度计算方法,具体包括以下步骤:

步骤(2.2.1):计算矩阵行的匹配程度,计算公式如下:

其中,dij表示矩阵行的匹配程度,(请补充式中其他字母含义);

步骤(2.2.2):从ai矩阵中提取与b中行最匹配的子矩阵,计算公式如下:

ci=mindij(j=1,2,...,n)(1.10)

其中:dij表示矩阵行的匹配程度,ci对应的ai矩阵中那一行就是与b矩阵中第i行最匹配的行,将ci对应的ai矩阵中的行组成一个最近似矩阵d,其中d与b行数相同,列数也相同,并且匹配度最高;

步骤(2.2.3):计算d与b的相似度,计算公式如下:

其中,dij表示d矩阵中的数据,bij表示b矩阵中的数据。

通过上述技术方案的实施,本发明的有益效果是:通过特征提取方法使提取到的数据间差异度最大,使有限的样本也能区分出不同的说话人;使用会议场景下模型训练方法,训练出针对会议场景的非目标说话人通用模型,并使用小样本完成模型建立;再使用再训练的方法,利用识别阶段充足的测试样本进行优化模型,使说话人模型更能表征说话人的特征,从而大大提高了声纹识别系统的识别准确率,增强了用户对声纹识别系统的使用体验。

附图说明

图1为本发明所述的一种基于会议场景小样本条件下的声纹准确识别方法的流程示意图。

具体实施方式

下面结合附图和具体实施例对发明作进一步详细说明。

如图1所示,所述的一种基于会议场景小样本条件下的声纹准确识别方法,包括以下步骤:

步骤(1):先在训练阶段对基于会议场景小样本执行特征提取操作,具体步骤如下:

步骤(1.1):先对经特征提取后的每个说话人的特征向量矩阵执行差异化特征与样本点操作,将每个说话人对应的特征向量矩阵转化成同时具备行向量间数据差异最大化和列向量间数据差异最大化的特征矩阵;

其中,差异化特征与样本点操作的具体方法如下:

假设通过特征提取操作后得到的其中一个目标说话人的特征向量矩阵为xij{0≤i≤m,0≤j≤n},按照公式(1.1)、公式(1.2)分别计算说话人对应的特征间均值矩阵ei与特征向量样本点间均值矩阵fj;

然后根据公式(1.3),首先计算矩阵特征向量xij与特征间均值矩阵ei之间的距离,然后计算以距离为指数以e为底的指数值,最后计算指数值与xij的乘积,得到一个行向量间数据差异最大化特征矩阵aij,与xij相比,aij里的元素在行向量间数据差异达到最大化;之所以选用以e为底的指数函数是考虑到在xij值小于ei,指数为负数时,aij仍然能保持与xij同样的正负性;另外也考虑到相隔同等距离下,以e为底的指数函数会将两个值的差距达到最大化[39],行向量间数据差异最大化特征矩阵计算公式如下;

其中,xij为矩阵特征向量,ei为特征间均值矩阵,aij为行向量间数据差异最大化特征矩阵;

然后根据公式(1.4),首先计算矩阵特征向量xij与样本点间均值矩阵fj之间的距离,然后根据公式计算得出列向量间数据差异最大化特征矩阵bij,与xij相比,bij里的元素在列向量间数据差异达到最大化;

列向量间数据差异最大化特征矩阵计算公式如下;

其中,xij为矩阵特征向量,fj为特征向量样本点间均值矩阵,bij为列向量间数据差异最大化特征矩阵;

然后,根据公式(1.5)和公式(1.6)分别行向量间数据差异最大化特征矩阵aij和列向量间数据差异最大化特征矩阵bij执行归一化过程,通过归一化过程后,减小了差异化后矩阵中值过大或者值过小导致的特征太明显或特征太不明显等问题;

其中ajmax是指aij矩阵中第j列中的最大值,ajmin是指aij矩阵中第j列中的最小值,aimax是指aij矩阵中第i行中的最大值,aimin是指aij矩阵中第i行中的最小值,aij为行向量间数据差异最大化特征矩阵,bij为列向量间数据差异最大化特征矩阵;

最后,根据公式(1.7)的操作步骤合并归一化后的矩阵aij′、bij′,得到同时具备行向量间数据差异最大化和列向量间数据差异最大化的特征矩阵wij,也就是说完成了原特征向量矩阵在不同样本点间以及不同特征间的差异最大化过程;

其中,wij为合并后同时具备行向量间数据差异最大化和列向量间数据差异最大化的特征矩阵,aij′为归一化后的行向量间数据差异最大化特征矩阵,bij′为归一化后的列向量间数据差异最大化特征矩阵;

步骤(1.2):对经差异化特征与样本点操作后的特征矩阵执行独立化特征矩阵操作,将经差异化特征与样本点操作后的特征矩阵转化成矩阵中列向量是不独立的特征矩阵;

由于wij是由矩阵aij′和bij′通过合并公式得到的,但是此时矩阵的列向量是不独立的,不同特征间仍存在相关性,这将削弱特征间的区分度,导致特征矩阵中的值偏小、偏平均;所以非常有必要对特征矩阵执行独立化操作,其中,独立化特征矩阵操作的具体方法如下:

步骤(1.2.1):计算新特征向量:

假设ga={w1,w2,...,wm},wi是列向量,列数为语音信号的帧数,首先计算wi(1≤i≤n)的均值,得出均值然后计算wi与的差值,新的

步骤(1.2.2):计算协方差:

根据上步计算出的新特征向量可以求出特征的协方差矩阵s,计算过程如公式(1.8)所示:

步骤(1.2.3):计算新特征矩阵:

利用幂法或逆幂法计算协方差矩阵s的特征值和特征向量,得出的特征值为λi∈{λ1,λ2,...,λm},且满足λ1>λ2>...>λm,与特征值对应的特征向量为yi∈{y1,y2,...,ym},其中yi对应的就是执行独立化特征矩阵操作后得到的特征矩阵;

步骤(1.3):将得到的每个说话人对应的矩阵中列向量是不独立的特征矩阵按照顺序一一输入进选定的模型里,然后按照模型对特征数据的格式要求转化特征矩阵,再按照模型训练步骤,分别训练出针对每个说话人独特的预判模型并保存预判模型;

步骤(2):在识别阶段对待测语音样本执行特征提取操作,具体步骤如下:

步骤(2.1):筛选特征数据:具体操作是:根据训练阶段每个说话人经特征提取后对应得到的特征间均值矩阵ei与特征向量样本点间均值矩阵fj,将每个说话人的ei矩阵结合在一起组成筛选矩阵ei∈{e1,e2,...,em},同时将每个说话人的fj矩阵也结合在一起组成筛选矩阵fj∈{f1,f2,...,fn};然后,对待测语音执行传统的特征提取操作,提取得到的特征向量矩阵为xij{0≤i≤w,0≤j≤n};然后分别根据公式(1.1)、公式(1.2)计算待测语音的特征间均值矩阵ei′与特征向量样本点间均值矩阵fj′;考虑到ei′与ei不一定拥有相同的行数,所以没法进行直接比较;但是,不管在训练阶段还是识别阶段,特征提取的维数是固定的,所以fj与fj′在维度上是相同的,因此可以将fj′与fj中的列向量一一相减,即:将待测语音经特征提取后对应的特征向量样本点均值矩阵中的列向量与筛选矩阵中各特征向量样本点均值矩阵中的列向量一一相减,从而得到识别阶段与训练阶段在样本点均值上的差异度,并根据阈值,将待测语音经特征提取后对应的特征向量样本点均值矩阵中与所有说话人特征向量样本点均值差异度都大或者都小的列向量剔除出去,只保留其余列向量;

步骤(2.2):预判识别结果:将待测语音的特征向量样本点均值矩阵中经筛选剔除后保留的列向量组成特征向量矩阵,再对该特征向量矩阵依次执行差异化特征与样本点操作及独立化特征矩阵操作,得到待测语音对应的矩阵中列向量是不独立的特征矩阵,得到的特征矩阵为yi′,为了方便描述,我们将训练阶段每个说话人执行上述操作后得到的特征矩阵假设为ai∈{a1,a2,ah},其中ai表示第i个说话人对应的特征矩阵,h表示声纹识别系统中的总人数;假设b为经过上述操作得到的yi′,从上述分析可以得知,ai矩阵与b矩阵在行数上不相同,在列数上保持相同,假设ai中的数据用aij表示,b中数据用bij表示,然后对其进行相似度计算;其中,每个说话人对应的特征矩阵ai与b矩阵的相似度计算方法,具体包括以下步骤:

步骤(2.2.1):计算矩阵行的匹配程度,计算公式如下:

其中,dij表示矩阵行的匹配程度,(请补充式中其他字母含义);

步骤(2.2.2):从ai矩阵中提取与b中行最匹配的子矩阵,计算公式如下:

ci=mindij(j=1,2,...,n)(1.10)

其中:dij表示矩阵行的匹配程度,ci对应的ai矩阵中那一行就是与b矩阵中第i行最匹配的行,将ci对应的ai矩阵中的行组成一个最近似矩阵d,其中d与b行数相同,列数也相同,并且匹配度最高;

步骤(2.2.3):计算d与b的相似度,计算公式如下:

其中,dij表示d矩阵中的数据,bij表示b矩阵中的数据;

按照上述步骤分别计算每个说话人对应的特征矩阵ai与b矩阵的相似度[42],计算结果为si∈{s1,s2,...,sh},其中si表示第i个说话人对应的特征矩阵与b矩阵的相似度,然后对si从大到小排序,排序结果为si′∈{s1′,s2′,...,sh′},其中s1′表示与说话人对应的特征矩阵与b矩阵的相似度的最大值,该相似度所对应的说话人是在相似度上来说最匹配b矩阵的,然后在si′中选取适当数目的元素,这些元素所对应的说话人就是预判的结果;

步骤(2.3):识别目标说话人:将待测语音对应的矩阵中列向量是不独立的特征矩阵带入到预判结果中各说话人对应的预判模型里,计算待测语音对应的矩阵中列向量是不独立的特征矩阵在每个预判模型中得到的概率,并选取概率最高的那个预判模型作为识别结果,该识别结果也就是目标说话人。

本发明的优点是:通过特征提取方法使提取到的数据间差异度最大,使有限的样本也能区分出不同的说话人;使用会议场景下模型训练方法,训练出针对会议场景的非目标说话人通用模型,并使用小样本完成模型建立;再使用再训练的方法,利用识别阶段充足的测试样本进行优化模型,使说话人模型更能表征说话人的特征,从而大大提高了声纹识别系统的识别准确率,增强了用户对声纹识别系统的使用体验。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1