一种会议场景小样本条件下的声纹识别方法与流程
2021-01-28 12:01:12|315|起点商标网
[0001]
本发明属于智能会议领域,具体涉及一种基于会议场景小样本条件下的声纹识别方法。
背景技术:
[0002]
在会议场景下,由于会议安排时间大都非常紧凑,留给采集音频的时间很有限。其次,说话人主观上也不太愿意花费很长时间在采集音频上;再者,被采集语音的说话人也无法在短期时间内,将自己的声纹特征全都展现出来,因此很难在会议场景下采集到足够的训练样本。大多数情况下,采集到的语音大都是同
--
种腔调,无法完全展示说话人的声纹特征,无法完全囊括不同条件下说话人自身的差异特征。不仅在会议场景下,在其他场景下也是如此,根本无法完成采集足够样本的需求,这将直接导致了声纹识别系统中只能使用小样本完成模型的训练。
[0003]
在声纹识别系统中采用小样本训练模型,将带来很多难以预想的问题:首先,样本点少,无法完全覆盖用户的声纹个性特征,从而,小样本下提取的特征将很难区分出不同的说话人,这将直接导致识别准确率低的问题;再者,小样本训练时,样本缺失将导致模型很难收敛,无法达到训练出能完整描述声纹特征分布模型的目标;此外,小样本条件下训练出的模型会偏离正确的声纹特征分布,无法达到最优的处理结果,还有可能带来非常严重的过拟合现象;除此之外,样本点少,将严重限制声纹识别技术的作用领域,由于样本点的不足,在多人声纹识别领域,系统所能区分的总人数非常有限,这将严重降低用户对声纹识别系统的使用体验。
[0004]
目前,语音识别系统常采用高斯混合模型-通用背景模型(gmm-ubm),应用话者声道信息并通过全局背景模型解决训练样本少的问题。此外随着人工智能网络(ann)、支持向量机(svm)等机器学习方法的不断成熟,也出现类似gmm-svm的融合算法。而ann是一个高度非线性的大型网络,需要大量的训练样本才能得到效果较好的模型,导致其难以应用于实际。
技术实现要素:
[0005]
发明目的:为克服以上技术问题本发明提出一种会议场景小样本条件下的声纹识别方法,大幅降低了识别算法的错误接收概率和错误拒绝概率。
[0006]
发明内容:本发明提供一种会议场景小样本条件下的声纹识别方法,具体包括以下步骤:
[0007]
(1)对采集到的说话人语音进行预处理,提取梅尔频率倒谱系数及其一阶差分系数和高斯频率倒谱系数及其一阶差分系数共振峰;
[0008]
(2)利用hmm-ubm对语音信号进行时序建模,使用rvm学习得到每位说话人语音的分类信息;
[0009]
(3)通过对待识别人建立hmm模型,并将rvm作为分类器进行判决决策得到分类结
果。
[0010]
进一步地,所述步骤(1)包括以下步骤:
[0011]
(11)对语音信息进行采样量化、dft操作后通过mel频率滤波器组,然后取对数,dct求倒谱得到mfcc参数,并求得其一阶差分倒谱系数;
[0012]
(12)对语音信号进行快速傅里叶变换,取绝对值后通过gammatone滤波器组,取对数后进行离散傅里叶变换求得gfcc参数,并求得其一阶差分倒谱系数;
[0013]
(13)混合特征参数,将mfcc、δmfcc、gfcc、δgfcc作为混合特征参数;
[0014]
(14)采用线性判别分析lda进行特征转换,实现数据降维,使新特征更具区分性。
[0015]
进一步地,步骤(2)所述的时序建模过程如下:
[0016]
采用hmm来对相关性进行建模,同时采用全局高斯混合模型作为ubm表达说话人声道特征在训练样本中的分布概率,并自适应时更新该参数,更新过程如下:
[0017]
设注册话者的输入特征矢量为{x
i
|i=1,2,...,t},计算其在所有训练样本中的概率分布,若话者对应第i个训练样本,则其概率分布为:
[0018][0019]
其中,p
i
(x
i
)为第i个训练样本的密度函数,ω
i
为第i个训练样本的权重系数,p
r
(i|x
i
)为第i个训练样本的后验概率,表示在测试语音的特征矢量为x
i
的条件下,测试语音对应第i个训练语音的概率;
[0020]
利用p
r
(i|x
i
)和均值向量进行从分统计,统计公式为:
[0021][0022]
通过所有训练数据产生新的均值统计量,更新ubm第i个混合分量的均值矢量得到第i个分量的hmm-ubm模型,如下所示:
[0023][0024]
其中,为第i个分量的hmm-ubm模型,e
i
(x)为第i个训练语音的统计公式。
[0025]
进一步地,所述步骤(2)包括以下步骤:
[0026]
(21)作为输入序列,训练得到hmm-ubm模型后计算每位注册说话人语音与训练语音的匹配得分,归一化后组合成一个特征向量;每条注册语音对其他语音的匹配得分,计算公式如下:
[0027]
o
t0-ik
(x
t0
)=log(x
t0
|λ
ik
)-log(x
t0
|λ
ubm
)
[0028]
其中,x
t0
为训练样本中第t位说话人注册语音的hmm特征序列,λ
ik
为训练样本中的第i位说话人第k条语音的hmm-ubm特征序列,λ
ubm
为背景模型的特征序列;对匹配得分进行归一化:
[0029][0030]
将每条注册语音归一化的数据组成向量v,对第t位说话人,其注册语音的特征向
量为v
t0
={score
t0-00
,score
t0-01
,
…
,score
t0-n9
};
[0031]
(22)将每位注册说话人的特征向量提供给rvm训练,得到语音分类信息,即rvm分类器。
[0032]
有益效果:与现有技术相比,本发明的有益效果:本文方法与gmm ubm和gmm svm识别算法相比,大幅降低了识别算法的错误接收概率和错误拒绝概率,识别准确率提升了约5.8%;针对说话人样本文本相关这一特性,采用具有时序建模能力的隐马尔科夫模型通背景模型,该模型可反映声纹的文本信息及话者的声道信息,相比之下,gmm模型的gmm ubm算法和gmm svm算法将说话人的其他语音识别为其注册语音,从而导致错误接收概率较大,影响用户信息安全;同时,本文方法在hmm-ubm模型基础上采用rvm作为分类器,回避了该模型分类决策能力弱的问题。
附图说明
[0033]
图1为本发明的流程图;
[0034]
图2为mfcc参数提取过程示意图;
[0035]
图3为gfcc参数提取过程示意图。
具体实施方式
[0036]
下面结合附图对发明作进一步详细说明。
[0037]
本发明提出一种会议场景小样本条件下的声纹识别方法,如图1所示,具体包括以下步骤:
[0038]
步骤1:对采集到的说话人语音进行预处理,提取梅尔频率倒谱系数及其一阶差分系数和共振峰。
[0039]
首先,对语音信息进行采样量化、dft操作后通过mel频率滤波器组,然后取对数,dct求倒谱得到mfcc参数,并求得其一阶差分倒谱系数。
[0040]
原始语音信号在经过采样量化后需经过预加重处理以提高信号的高频部分的幅度,进而增加语音的高频分辨率,一般通过预加重数字滤波器对其加以滤波,该滤波器的传递函数为:
[0041][0042]
其中,为预加重系数且这里取z表示z变换。
[0043]
根据语音信号短时平稳的特性,通过分帧操作提取语音短时特性便于建模,通常取帧长30ms,此时帧移10ms。为了平滑信号以减少每帧信号两端的预检测误差,一般采用加窗的方法。本文采用加汉明窗,如下:
[0044][0045]
其中,n表示某个采样点,n表示采样点总数。
[0046]
端点检测是声纹识别中的一个重要环节,有效的端点检测方法不仅可以减少数据的存储量和处理时间,而且可以排除无声段的噪声干扰使声纹识别更为准确。
[0047]
原始语音信号s(n)经过采样、量化、预加重、分帧、加窗、端点检测等处理,得到每
个语音帧的时域信号x(n)。将时域信号x(n)后补若干0以形成长为n(一般取n=512)的序列,然后经过离散傅里叶变换(dft)后得到线性频谱x(k),变换公式为:
[0048][0049]
其中k表示频域采样点。将得到的线性频谱x(k)通过mel频率滤波器组得到mel频谱,mel频率滤波器组为在语音的频谱范围内设置的若千个具有三角滤波特性的带通滤波器,其设计如下:
[0050]
h
p
(k)=0(k<f(p-1))
[0051][0052][0053]
h
p
(k)=0(k>f(p+1))
[0054]
其中,0≤p<p,p为滤波器的个数。
[0055]
所得到的mel频谱通过对数能量的处理,得到对数频谱s(p),总传递函数为:
[0056][0057]
将得到的对数频谱s(p)经过离散余弦变换(dct)到倒谱域,即可得到mfcc参数c(n):
[0058][0059]
在实际的声纹识别应用中,并不是取全部维数的mfcc系数,一般最前若干维以及最后若干维的mfcc系数对语音的区分性能较大,在这取前12维的mfcc系数。
[0060]
其次,对语音信号进行快速傅里叶变换,取绝对值后通过gammatone滤波器组,取对数后进行离散傅里叶变换求得gfcc参数,并求得其一阶差分倒谱系数。
[0061]
gammatone滤波器是一种基于标准耳蜗结构的滤波器,其时域表达式如下:
[0062][0063]
式中,a为滤波器的增益;;f
i
为滤波器的中心频率;u(t)为阶跃函数;φ
i
为偏移相位,而人耳对相位偏移不敏感,因此为了简化模型,本文取为n为滤波器的阶数;n为滤波器数目;b
i
为滤波器的衰减因子,它将决定当前滤波器对脉冲响应的衰减速度,与中心频率的对应关系如下:
[0064]
b
i
=1.019b
ebr
(f
i
)
[0065]
式中,b
ebr
(f
i
)为等效矩形带宽,与中心频率f
i
的关系如下公式所示。gfcc参数提取的步骤如图2所示。
[0066]
[0067]
gfcc特征参数的提取过程与mfcc基本相似,如图3所示,本发明根据选用滤波阶数n=4,滤波器数目n=64,经过上面的提取过程得到特征参数g
n
。同样地,为了显示语音的动态特性,本文对gfcc的一阶差分δgfcc进行二次特征提取。通过计算当前帧前后两帧变化得到特征参数δg
n
。
[0068]
然后,对语音信号进行快速傅里叶变换,取绝对值后通过gammatone滤波器组,取对数后进行离散傅里叶变换求得gfcc参数,并求得其一阶差分倒谱系数。
[0069]
mel滤波器是根据人耳听觉特征设计的,gammatone滤波器主要是根据基底膜上的频率感应而设计的。只要少量的几个参数就能拟合出抗干扰性强的特征参数,因此为了提高特征参数的抗噪性,本文将mfcc、mfcc的一阶差分参数δmfcc、gfcc和gfcc的一阶差分参数δgfcc作为混合特征参数,如下式所示:
[0070]
m
mix
=[(c
1
,c
2
,
…
,c
m
),(δc
1
,δc
2
…
,δc
m
),(g
1
,g
2
,
…
,g
n
),(δg
1
,δg
2
,
…
,δg
n
)]
[0071]
式中,m和n分别为mfcc、gfcc的特征参数阶数。
[0072]
最后,采用采用线性判别分析lda进行特征转换,实现数据降维,使新特征更具区分性。lda转换公式为:
[0073][0074]
其中w
l
是d
×
q阶的lda转换矩阵。这个矩阵的每一列对应的是的特征向量,s
w
为类内散度矩阵,s
b
是类间散度矩阵,s
w
的计算公式如下:
[0075][0076]
其中,是第j个类的第i个向量,n
j
是第j个类的向量总数。s
b
的计算公式如下:
[0077][0078]
步骤2:利用hmm-ubm对语音信号进行时序建模,使用rvm学习得到每位说话人语音的分类信息。
[0079]
作为输入序列,训练得到hmm-ubm模型后计算每位注册说话人语音与训练语音的匹配得分,归一化后组合成一个特征向量。将每位注册说话人的特征向量提供给rvm训练,得到语音分类信息,即rvm分类器。
[0080]
本方法采用hmm来对相关性进行建模,同时采用全局高斯混合模型作为ubm来表达说话人声道特征在训练样本中的分布概率,由于ubm均值矢量利用率较高,因此自适应时更新该参数,更新过程如下:
[0081]
设注册话者的输入特征矢量为{x
i
|i=1,2,...,t},计算其在所有训练样本中的概率分布,若话者对应第i个训练样本,则其概率分布为:
[0082][0083]
其中,p
i
(x
i
)为第i个训练样本的密度函数,ω
i
为第i个训练样本的权重系数,p
r
(i|x
i
)为第i个训练样本的后验概率,表示在测试语音的特征矢量为x
i
的条件下,测试语音对
应第i个训练语音的概率。
[0084]
利用p
r
(i|x
i
)和均值向量进行从分统计,统计公式为:
[0085][0086]
通过所有训练数据产生新的均值统计量,更新ubm第i个混合分量的均值矢量得到第i个分量的hmm-ubm模型,如下所示:
[0087][0088]
其中,为第i个分量的hmm-ubm模型,e
i
(x)为第i个训练语音的统计公式,为系数。
[0089]
rvm是一种基于贝叶斯稀疏核的分类算法。与svm相比,rvm可以计算出样本输出的后验概分布,更适用于多分类问题,并且其核函数不需要限定为对称正定核,从而可以得到更加稀疏的解。因此,本文选用其作为分类器,进行最后的决策,得到更加准确的识别结果。
[0090]
rvm是建立在贝叶斯理论基础上,通过最大化参数概率分布的后验概率得到最优参数值的模型。设给定的训练样本集为{x
i
,t
i
|i=1,2,
…
,n},x∈r
d
为输入矢量序列,t∈{0,1}代表类别号,则目标t
i
可以采用如下公式的回归模型来获得。
[0091]
t
i
=y(x
i
)+ε
n
[0092]
其中,ε
n
是均值为0,方差为σ
2
的噪声,y(x)为rvm的分类模型,其定义为:
[0093][0094]
其中,k(x,x
i
)为核函数。本文采用高斯核函数ω
i
为模型的权重,ω
0
为偏差。
[0095]
设目标{t|t=t
1
,t
2
,
…
,t
n
}独立同分布,则整个训练样本的似然函数可以表示为:
[0096][0097]
其中,t=(t
1
,t
2
,
…
,t
n
)
t
,ω=(ω
0
,ω
1
,
…
,ω
n
)
t
,为n
×
(n+1)矩阵。为了避免过学习的问题,rvm对每个权重参数加上先决条件:使其几率是分布在0周围的正态分布,如下所示:
[0098][0099]
其中,α为n+1超维向量。
[0100]
根据贝叶斯公式直接求得参数ω的后验分布:
[0101][0102]
其中,∑为协方差,a=diag(α
0
,α
1
,
…
,α
n
),
[0103]
对于一个给定样本x,最终其输出的概率分布为:
[0104][0105]
上述公式中的未知量为超参数α和β,则求解概率输出问题转化为求解超参数α和β,本方法通过最大化法来求解参数,如下所示:
[0106]
p(t|x,α,β)=∫p(t|x,β)p(ω|α)dω
[0107]
通过最大化,来更新α和β的值:
[0108][0109][0110]
经过多次学习,大部分超参数α
i
会趋于无穷,而对应的权重向量ω
i
=0,少部分权重向量不为0的训练样本x
i
即为相关向量,通过相关向量得到其分类模型作为最优分类超平面,以对输入的测试样本进行识别。
[0111]
在进行完参数提取,特征转换,以及为说话人建立hmm-ubm模型后计算训练样本中每条注册语音对其他语音的匹配得分,计算公式如下:
[0112]
o
t0-ik
(x
t0
)=log(x
t0
|λ
ik
)-log(x
t0
|λ
ubm
)
[0113]
其中,x
t0
为训练样本中第t位说话人注册语音的hmm特征序列,λ
ik
为训练样本中的第i位说话人第k条语音的hmm-ubm特征序列,λ
ubm
为背景模型的特征序列。
[0114]
接下来对匹配得分进行归一化:
[0115][0116]
将每条注册语音归一化的数据组成向量v,例如,对第t位说话人,其注册语音的特征向量为v
t0
={score
t0-00
,score
t0-01,
…
,score
t0-n9
}。
[0117]
将得分矢量输入到rvm进行学习,直到rvm迭代次数达到预设次数为止,本发明将预设次数设置为200。至此完成rvm分类器的训练阶段,得到n
×
(n-1)/2个二分类的子rvm分类器。对待识别的输入语音进行训练,得到hmm模型,计算其得分,归一化后组成待识别语音特征向量。将待识别语音的特征向量v
vp
,v
vp
={score
vp1
,score
vp2
,
…
,score
vpn
},并将其输入训练好的rvm模型进行分类决策,并最终取得分类结果。
[0118]
步骤3:通过对待识别人建立hmm模型,并将rvm作为分类器进行判决决策得到分类结果。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除
热门咨询
tips