专利名称:基于局部能量加权的抗噪声语音识别方法
技术领域:
基于局部能量加权的抗噪声识别方法属于噪声环境中的自动语音识别技术领域。
HMM是个应用广泛的数学模型,因其能很好的用作语音信号的模型,所以成为语音识别的最常用的模型。基于HMM的语音识别框架详述如下。
首先,一段观测到的数字语音信号被分为若干帧,记为向量o1,o2,…。然后对每帧信号提取出相应特征,记为向量x1,x2,…,以供模型训练和识别。其典型做法如下(以下步骤中省略向量的下标,也即帧序号)(1)对每帧离散信号ol(n)做离散傅立叶变换得到频域特征xf(i);(2)应用滤波器组分析xb(k)=Σi=LkHkwkb(i)|xf(i)|]]>,即第k个滤波器输出为频域幅度从Lk到Hk的加权和;(3)将滤波器组输出变换到对数谱域xl(k)=log(xb(k));(4)去相关处理,一般做法是做离散余弦变换(DCT),得到倒谱域的MFCC特征x=DCT(xl)。
得到一串语音信号的特征后,就可以用HMM来描述这串特征的属性和关系。用HMM描述语音信号时,语音分为音素单元(可以是元音辅音的音节,也可以是整个字的发音),每个音素单元(记为一个HMM)又分为若干个串联的状态,记为C1,C2,…。“状态”是HMM中一个基本单元。状态间的关系用马尔可夫(Markov)模型来描述,也即每个状态会以一定概率跳到本状态或者其他某个状态实现一步跳转,比如当前状态是Ci,则下一个状态是Cj的概率为P(Cj|Ci),一段观测到的语音信号的内在表现即为这样的状态跳转。而状态和观测向量之间的关系则由一“输出概率”来描述,比如当前状态为Cj而观测到的特征向量为xi用输出概率P(xi|Cj)来表示。状态间的关系、状态与观测到数据间的关系两者合在一起则为隐含马尔可夫模型HMM。而这两者需要的参数主要就是转移概率P(Cj|Ci)组成的矩阵,和输出概率P(xi|Cj)的表达式中的参数。用标注好的语音来调整训练这些参数,则得到可用于识别的模型参数;反过来有了模型参数,对任给的语音,则可求其属于某一状态序列的概率,并以概率最大的作为识别出的结果。前一过程即为语音识别中的模型训练,后一过程即为识别过程。一般叫语音识别系统中实现后一过程的部分为识别器,而我们的技术主要在识别器中,所以模型训练的具体过程将略去,这里主要叙述识别器的具体流程。
HMM给出了语音信号的数学描述后,语音识别过程则变成一模型匹配问题,即判断给出的一段语音信号的特征x1,x2,...究竟和怎样排列的状态串Ci(1),Ci(2)、...最匹配。假设判定序列(xn)n=1N]]>对应为状态序列(Ci(n))n=1N]]>,求最佳匹配可用公式表示为(Ci(n))n=1N=argmax(Ci(n)){P(Ci(n))P(xN|Ci(N))Πn=1N-1P(xn|Ci(n))P(Ci(n+1)|Ci(n))}....(1)]]>这里,P(Ci(1))为初始状态为Ci(1)的概率,P(Ci(n+1)|Ci(n))为从状态Ci(n)转移到Ci(n+1)的一步转移概率,这两者都是给出的模型参数。而未知语音在公式中的反映即为输出概率P(xn|Ci(n)),所以这里的关键就是求这一输出概率,这一概率也叫似然值,而求似然值的数学表达式叫似然函数。
语音识别系统中,一般用混合正态分布来表示输出概率,也即似然值c的表达式为(公式中省略了下标)c=F(x,C)=ΣmwmN(x,μm,Σm).......(2)]]>=Σmwm·exp(-12(x-μm)TΣm-1(x-μm))(2π)K/2||Σm||]]>这里,x=[x1,...,xK]T表示待处理某一帧语音信号的特征F(x,C)为计算x属于某个状态C的似然值的表达式,即似然函数;N(x,μ,∑)表示均值向量为μ,协方差矩阵为∑的正态分布;下标m表示第m个正态混合分量的参数;wm表示第m个正态混合分量的权重。
有了似然函数,(1)式的最佳状态序列则可解了。当然,如果代入所有可能的状态序列寻找最优序列计算量将无比巨大,所以还需要Viterbi算法来简化运算。
基于HMM的语音识别框架是语音识别历史上的一个里程碑。这一基础技术较成功地解决了安静环境下的语音识别(纯净语音识别),但是当存在环境噪声影响时,也即待识别的语音是带噪语音时,其性能急剧下降。所以抗噪声问题仍然是人们研究的热点。噪声问题集中体现在纯净语音信号和噪声的混合。假设纯净语音受到噪声污染,那么得到的信号是一种混合了噪声和语音的信号,即y(t)=s(t)n(t)(3)这里y(t)表示带噪语音,s(t)表示纯净语音,n(t)表示噪声。运算表示语音信号和噪声的混合,比如,在加性背景噪声情况下,这种混合为加法运算,在通信的信道卷积噪声的情况下,这种混合为卷积运算。
目前的抗噪声技术普遍针对如何抑制噪声。比如,谱减法设法估计出噪声的频谱幅度,然后从带噪语音的频谱幅度中减去噪声的,得到增强的语音然后再做识别,并行模型合并法则设法训练噪声的模型,然后在识别时模型纯净模型和噪声模型的合并再与待识别的带噪语音比较。但实际环境中的噪声千变万化,只有在“平稳”、“慢变”等限制下,或者特定环境中才能得到较好的估计和建模,这很大限制了谱减法等方法的普遍有效性。
另外,Cooke等人提出了数据丢弃(Missing Data)法,该方法强调抛弃带噪语音中语音信号受损较严重的部分而只用受损较轻的部分来识别。但是那些部分是受损严重的呢?他们于是根据带噪语音的局部信噪比来判断语音受损程度,而估计信噪比即估计信号和噪声的比例,于是又回到了噪声估计上。
针对一般的基于HMM语音识别系统在噪声环境中性能急剧下降,我们对语音信号的不同频域子带(比如滤波器组中各个滤波器的输出)做不同的处理。而针对现有处理方法中的噪声或者信噪比难以估计的问题,我们转而根据语音模板的各个频域子带的特性在识别中对其做不同的处理。频域子带的局部能量较大的被认为对识别结果影响较大,或者说该子带对于该状态的判断具有更重要的意思,局部能量较小的被认为对识别结果影响较小,因而在识别中我们根据语音模型的局部能量大小做不同的可靠性加权。所以,本技术的特征为在输出概率(似然函数)中引入了反映局部能量的可靠性因子(比如对数谱域的模型的混合分量均值 )。因为,语音受到噪声干扰时,表现在识别中的主要的受破坏参数为输出概率,即似然函数的表达式。
本发明的特征在于在维特比识别流程中,用更具抗噪声性能的似然函数来计算特征向量对应于各跳转目标状态的似然值,也就是说在下述似然函数中引入基于局部能量的可靠性因子λc'=F(x,C,λ) (4)其中,c'为改进后的x相对于某个状态C的似然函数;x为待处理某一帧语音信号的特征,用x=[x1,…,xK]T表示;C为某个状态。
它视对数谱域的模板的状态参数μm为局部能量的对数,把μm作为加权系数,即可靠性因子直接在对数谱对下述似然函数作加权c=F(x,C)=ΣmwmN(x,μm,Σm)......(5)]]>其中,N(x,μ,∑)表示均值向量为μ、协方差矩阵为∑的正态分布,下标m表示第m个正态混合分量的参数,wm表示第m个正态混合分量的权重。上述加权过程依次含有以下步骤(1)把待识别特征x和若干模板的状态参数μm变换到对数谱域 其中,上标l,表示对数谱域的参数,IDCT表示离散余弦反变换;(2)确定可靠性加权因子它用根据线性加权法则构成的加权矩阵Δm表示λi=aμml+b]]>,i=1,…,K,a、b为常数; (3)加权后再变换回倒谱域求似然值c′=ΣmwmN(DCT(Δmxl),DCT(Δmμml),Σm)......(7)]]>其中,DCT表示离散余弦变换,wm表示第m个正态混合分量的权重。
本方法不需要任何噪声或者信噪比的信息,简单易实现,并能很好的改善识别系统的抗噪声性能。另外,在可以获得可用的噪声估计时,本方法还可以与谱减技术、数据丢弃法等结合起来使用以获得更好的抗噪声性能。
图2基于HMM的语音识别程序框架。程序的输入为一段语音信号;第一个模块对输入的语音信号进行预处理(包括分帧和加窗等),得到一串观测向量接下来进入特征提取模块,比如计算MFCC系数及其差分系数和加速系数,经过这一模块,得到一串特征向量,以供识别或模型训练;如果用作模型训练的话,特征向量序列外加对应的语音单元标准被送入模型训练模块,进行HMM的参数(包括转移概率和输出概率所需的参数)计算和更新;如果要对该段语音进行识别的话,则将特征向量序列和已有的模型参数输入到Viterbi识别器,计算最匹配的状态序列,从而确定出对应的语音内容(字串,或者音节串等)。
图3MFCC特征提取模块的算法流程图。该图为MFCC系数计算的一般流程。
图4Viterbi识别算法流程图。该图为本发明Viterbi识别流程,其中预处理包括语法词法等规则生成和识别器的一些初始化处理。核心部分则是计算一步跳转概率和特征向量对应于各跳转目标状态的似然值,本技术发明的改进点即在于用更具抗噪声性能的似然函数来计算该似然值。
图5实施实例的效果图。其中baseline为基线识别结果,KD为改进后的识别结果,(a)~(d)分别为对地铁噪声、人群噪声、汽车噪声、展览馆噪声的识别结果。图中横轴为全局信噪比(global SNR),纵轴为字误识率(Word Error Rate)。
训练的主要对象为10个英文数字的11种发音(one,two,……,nine;zero,oh),所以我们为这11个发音各训练1个18个状态,每个状态为3阶高斯混合分布的HMM模型。另外,训练了含5个状态,每个状态为6阶高斯混合分布的静音(Silence,sil)模型,和一个捆绑在静音模型第三个状态的短停(Short Pause,sp)模型(该模型只有一个有效状态,且该状态的参数始终和sil模型的第三个状态的参数相同)。(c)识别器测试本实验中,比较了不使用本技术发明的基线识别器和使用本技术发明的改进识别器对测试语料的识别效果,实验结果分别用baseline和KD来代表。基线识别器为HTK软件包提供的标准的Viterbi识别算法,参加前面的介绍。改进识别器则是在基线识别器算法上对似然函数的计算做了改动,本实验中对静态倒谱特征用(5)至(8)式求似然概率(其中(7)式参数取为a=1/30,b=0.4),对差分特征和加速特征仍用原似然函数计算似然概率,然后将这两者相乘(取对数后则为相加)得到某状态下出现该观测特征向量的似然值。识别性能评价标准对于语音识别系统来说,评价系统性能的主要是识别的正确率(Accuracy)或者错误率(Error Rate)。对于WN个要识别的单元,识别系统出现了WS个替代错误,WD个删除错误以及WI个插入错误,正确率定义和错误率的定义分别为 所以,正确率和错误率的度量是等价的。由于本实验的HMM单元为字(Word),所以衡量标准为字正确率或者字错误率。实验结果下表为基线识别器(baseline)和改进识别器(KD)的识别正确率结果(其中N1到N4依次表示地铁、人群、汽车、展览馆四种噪声环境下的识别结果)
为了便于比较,将实验结果的错误率画为折线图,见图5,其中baseline为基线识别结果,KD则为改进后识别器的结果。(a)到(d)分别为对地铁噪声、人群噪声、汽车噪声、展览馆噪声等环境噪声情况下的识别结果。横轴为全局信噪比(global SNR),纵轴则为字误识率结果。
对比基线和改进后的两组识别结果,可见引入本技术发明后,在这四种噪声环境中的平均字正确率分别改进了21.7%,57.0%,36.6%和24.3%,换算成错误率则分别降低了38.3%、47.3%、42.3%、35.3%,可见本技术发明在不同的噪声环境中均能很好地改善识别系统的抗噪声性能。
权利要求
1.基于局部能量加权的抗噪声语音识别方法,含有基于隐含马尔可夫模型(HMM)的语音识别程序,其特征在于在维特比(Viterbi)识别流程中,用更具抗噪声性能的似然函数来计算特征向量对应于各跳转目标状态的似然值,也就是说在下述似然函数中引入基于局部能量的可靠性因子λc'=F(x,C,λ),其中,c'为改进后的x相对于某个状态C的似然函数;x为待处理某一帧语音信号的特征,用x=[x1,…,xK]T。表示;C为某个状态。
2.根据权利要求1所述的基于局部能量加权的抗噪声语音识别方法,其特征在于它视对数谱域的模板的状态参数μm为局部能量的对数,把μm作为加权系数,即可靠性因子直接在对数谱对下述似然函数作加权c=F(x,C)=ΣmwmN(x,μm,Σm),]]>其中,N(x,μ,∑)表示均值向量为μ、协方差矩阵为∑的正态分布,下标m表示第m个正态混合分量的参数,wm表示第m个正态混合分量的权重。上述加权过程依次含有以下步骤(1)把待识别特征x和若干模板的状态参数μm变换到对数谱域 其中,上标l表示对数谱域的参数,IDCT表示离散余弦反变换(2)确定可靠性加权因子它用根据线性加权法则构成的加权矩阵Δm表示λi=aμmil+b,]]>i=1,…,K,a、b为常数; (3)加权后再变换回倒谱域求似然值c′=ΣmwmN(DCT(Δmxl),DCT(Δmμml),Σm),]]>其中,DCT表示离散余弦变换,wm表示第m个正态混合分量的权重。
全文摘要
基于局部能量加权的抗噪声语音识别方法属于抗噪声语音识别领域,其特征在于它是在Viterbi识别器中,用具抗噪性能的似然函数来计算特征向量对应于个跳转目标状态的似然值,即在似然函数中引入基于局部能量的可靠性因子。为简化起见,把对数谱域的模板的状态参数μ
文档编号G10L15/20GK1431650SQ0310487
公开日2003年7月23日 申请日期2003年2月21日 优先权日2003年2月21日
发明者许超, 曹志刚 申请人:清华大学