[发明专利]基于嵌入式的开集说话人识别方法及其系统无效
申请号: | 200910218160.2 | 申请日: | 2009-12-31 |
公开(公告)号: | CN101770774A | 公开(公告)日: | 2010-07-07 |
发明(设计)人: | 林琳;孙晓颖;陈建;燕学智;胡封晔;温泉;王波;魏小丽 | 申请(专利权)人: | 吉林大学 |
主分类号: | G10L15/02 | 分类号: | G10L15/02;G10L15/06;G10L15/28;G10L17/00 |
代理公司: | 吉林长春新纪元专利代理有限责任公司 22100 | 代理人: | 魏征骥 |
地址: | 130022 吉*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种基于嵌入式的开集说话人识别方法及其系统,涉及语音信号处理领域的说话人识别。包括下列步骤:一、语音信号的预处理和特征提取,二、参考说话人语音模型的训练,三、开集模式匹配,识别系统包括语音信号处理单元分别与语音信号采集单元、数据存储单元、人机接口单元、通信接口单元连接,电源管理模块与语音信号处理单元连接,人机接口单元包括:状态指示模块、键盘模块、显示模块、启动模块。本发明的优点在于能够适应不同的应用场合,同时提高了系统的安全性能。设计嵌入式系统对上述开集说话人识别方法进行嵌入式实现,该系统具有实时性高、识别性能好、低功耗、低成本、便携、通用性强等特点。 | ||
搜索关键词: | 基于 嵌入式 说话 识别 方法 及其 系统 | ||
【主权项】:
1.一种基于嵌入式的开集说话人识别方法,其特征在于包括下列步骤:一、语音信号的预处理和特征提取首先都要将采集到的语音信号进行预处理和特征提取,得到说话人的语音特征参数;语音信号的预处理和特征提取处理的对象是一帧AD采样得到的短时帧信号,为了保证实时性,需要在下一帧语音信号的采样结束之前完成前一帧信号的预处理和特征提取;语音信号的预处理主要包括语音信号的小数据、尖峰及饱和处理、加窗、频域上的语音增强、端点检测;为了防止采样过程中存在的尖峰干扰及过小的采样数据,在进行加窗之前,首先对输入的语音信号进行前端处理,删除小数据、尖峰干扰及饱和帧,具体过程是:当采集一帧语音信号以后,计算该帧语音信号幅度绝对值的均值和最大值,首先将均值与设定阈值比较来判断小数据帧,如果均值小于设定阈值1,则认为该帧信号为小数据帧,舍去,返回等待处理下一帧采样信号;否则,接着判断是否存在尖峰信号,如果最大值与均值的比值大于设定阈值2,则认为该帧采样信号存在尖峰信号,舍去,返回等待处理下一帧采样信号;否则,判断该帧中饱和的点数与该帧信号点数的比值是否大于阈值3,如果大于则认为该帧饱和点数太多,舍去,返回等待处理下一帧采样信号;否则,对语音信号后序的进行预处理; 在对语音信号进行小数据、尖峰及饱和处理后,采用汉明窗对语音信号进行加窗;利用循环维纳滤波的扩展谱相减法对加窗后的语音信号进行频域上的语音增强,去除语音信号中的噪声干扰。具体过程如下;1)计算背景噪声幅度谱的初始平滑估计值|N0(ejw)|;这里假设带噪语音前N_noise帧为纯噪声信号,则可以利用其幅度的统计平均来估计|NN_noise(ejw)|,其递推公式为| N ‾ ′ n ( e jw ) | 2 = ( n - 1 ) * | N ‾ ′ n - 1 ( e jw ) | 2 + | X n ( e jw ) | 2 n ; n = 1 , . . . , N _ noise ]]> 其中|N′n(ejw)|2为背景噪声的第n次统计估计值,|N′0(ejw)|2=0;|Xn(ejw)|2为第n个噪声帧的功率谱;得到初始值|N0(ejw)|=|N′N_noise(ejw)|;2)利用幅度谱相减法计算语音信号的幅度谱初始平滑估计|S0(ejw)|;|S0(ejw)|=‖XN_noise(ejw)|-|N0(ejw)‖其中|XN_noise(ejw)|为第N_noise帧噪声的幅度谱。3)令帧变量n=1;4)计算第n+N_noise帧的维纳滤波器的传递函数:H n ( e jw ) = ( | N ‾ n - 1 ( e jw ) | 2 | N ‾ n - 1 ( e jw ) | 2 + | S ‾ n - 1 ( e jw ) | 2 ) 1 / 2 ]]> 5)对带噪语音信号幅度谱进行滤波,得到当前帧背景噪声幅度谱的估计值![]()
| N ^ n ( e jw ) | = H n ( e jw ) * | X n ( e jw ) | ]]> 6)计算增强后信号的幅度谱![]()
| S ^ n ( e jw ) | = | | X n ( e jw ) | - | N ^ n ( e jw ) | | ]]> 7)利用当前帧噪声幅度谱估计
对背景噪声的平滑估计值|Nn(ejw)|进行更新;| N ‾ n ( e jw ) | = p * | N ‾ n - 1 ( e jw ) | + ( 1 - p ) * | N ^ n ( e jw ) | ]]> 其中p为比例因子,它与时间常数τ之间满足
8)计算信号幅度谱的平滑估计|Sn(ejw)|;|Sn(ejw)|=‖Xn(ejw)|-|Nn(ejw)‖9)帧变量n=n+1;如果n>总帧数N,则结束,得到增强后的语音幅度谱的估计值
作为输出;否则到步骤3)继续执行;在对语音信号进行增强以后,采用平均分段信噪比的方法对语音信号进行端点检测。计算增强后语音的帧平均分段信噪比fnf n = ( Σ i = 1 p | S ^ n i ( e jw ) | 2 Σ i = 1 p | N ‾ n i ( e jw ) | 2 ) / p ]]> 其中p为信号幅度谱的长度。如果fn大于阈值,则认为是该帧信号是语音帧,需要进行特征提取,否则,认为该帧信号是非语音帧,等待处理下一短时帧采样信号;对语音帧信号进行特征提取,提取19维Mel倒谱系数及其19维一阶动态参数、16维线性预测倒谱系数、韵律特征的静态和一阶动态参数,共56维特征参数组合作为说话人语音的特征参数;二、参考说话人语音模型的训练参考说话人输入训练语音经采样、预处理和特征提取后,得到参考说话人训练的语音特征参数X,将X分为两部分X={Xtr,Xsrt},一部分用于参考说话人语音模型的形成,定义为训练模型参数Xtr,另一部分用于训练识别过程,定义为训练识别参数Xsrt;因此,参考说话人语音模型的训练包括两个部分,参考说话人语音模型的形成和参考说话人的训练识别过程;具体过程如下:(1).参考说话人语音模型的形成采用基于模糊核矢量量化的说话人识别算法对参考说话人的语音模型进行训练。模糊核矢量量化器将原始空间通过非线性映射到高维特征空间,利用模糊核聚类算法设计矢量量化器,在高维特征空间中对参考说话人的训练语音特征进行模糊聚类分析,并将得到的每个类中心{vi},i=1,...,c(这里c为聚类数),作为参考说话人的语音模型,即第q个参考说话人的模型可以表示为λ(q)={vi},i=1,...,c,从而完成了第q个参考说话人语音模型的训练;令Xtr={x1,x2,...xN}为训练特征参数,包含N个特征参数,xk是其中的一个特征参数矢量,其维数为d维。第q个参考说话人语音模型训练的具体实现过程如下:1)确定聚类数c、迭代终止条件ε∈(0,1)、迭代次数T,模糊加权指数m∈[1,2.5];2)采用分裂法初始化类中心vi,i=1,2,...,c;3)更新隶属度函数
i=1,...,c;k=1,..,N;u ^ ik = ( 1 / d K 2 ( x k , v ^ i ) ) 1 / ( m - 1 ) Σ n = 1 c ( 1 / d K 2 ( x k , v ^ n ) ) 1 / ( m - 1 ) ]]>= ( 1 / ( K ( x k , x k ) - 2 K ( x k , v ^ i ) + K ( v ^ i , v ^ i ) ) ) 1 / ( m - 1 ) Σ n = 1 c ( 1 / ( K ( x k , x k ) - 2 K ( x k , v ^ n ) + K ( v ^ n , v ^ n ) ) ) 1 / ( m - 1 ) ]]> 这里K ( x k , v ^ i ) = Φ ( x k ) · Φ ( v ^ i ) = Σ j = 1 N u ij m K ( x j , x k ) / Σ j = 1 N u ij m ]]>K ( v ^ i , v ^ i ) = Φ ( v ^ i ) · Φ ( v ^ i ) = Σ k = 1 N Σ l = 1 N u ik m u il m K ( x k , x l ) | Σ j = 1 N u ij m | 2 ]]> 其中K(xk,xl)、K(xj,xk)、K(xk,xk)均表示两个向量之间核函数;采用高斯核函数保证样本的线性可分性,设两个矢量x,y之间的核函数为K ( x , y ) = exp ( - | | x - y | | 2 2 σ 2 ) ]]> 其中σ为高斯核函数的宽度,通常取3~7;4)若
或迭代次数等于预定迭代次数T,则算法继续,否则转到步骤3);5)计算类中心
i=1,...c,并将聚类中心组成第q个说话人的语音模型,迭代结束;v ^ i = Σ k = 1 N u ik m x k Σ k = 1 N u ik m i = 1 , . . . , c ]]>λ ( q ) = { v ^ i } , i = 1 , . . . , c ]]> (2).参考说话人的训练识别过程使用核函数将第q个参考说话人训练识别的特征参数Xsrt={x1,x2,...XM}(M为特征参数的个数)映射到高维特征空间,在高维特征空间中,分别计算训练识别参数Xsrt与第q个参考说话人模型λ(q)以及背景模型λUBM的匹配失真值D(Xsrt;λ(q))和D(Xsrt;λUBM);如果D(Xsrt;λ(q))>D(Xsrt;λUBM),则认为第q个参考说话人训练语音前后不一致,可能存在干扰或没有输入完全的情况,该参考说话人需要重新进行训练。否则,根据两个失真的差值确定第q个参考说话人确认的初始阈值;其中特征参数与模型之间的匹配失真值为D ( X srt , λ ) = Σ i = 1 c Σ k = 1 M u ik m d K 2 ( x k , v i ) = Σ i = 1 c Σ k = 1 N u ik m K ( x k , x k ) - 2 K ( x k , v i ) + K ( v i , v i ) ]]> 这里,背景模型是描述与说话人无关的语音模型,采用大量的语音数据,利用模糊核矢量量化器训练得到的λUBM={vi},i=1,...,c;背景模型需要事先存储在程序存储器中,作为已知数据直接使用;在参考说话人语音模型形成之后,判断参考说话人语音模型是否可靠,如果可靠,则产生参考说话人确认的初始阈值,并对参考说话人语音模型和确认的初始阈值进行存储,否则,需要用户重新完成模型的训练过程;对于参考说话人数为Q的开集说话人识别系统,要完成Q个参考说话人的训练,需要重复Q参考说话人语音模型的训练;三、开集模式匹配对于开集的说话人识别系统而言,用户存在不属于集合内参考说话人的情况,因此对于一个开集说话人识别的模式匹配过程需要先进行说话人辨认,然后进行说话人确认;在开集识别阶段,待识别用户输入识别语音经采样、预处理和特征提取后,得到待识别用户语音特征参数Xsr,首先利用Xsr和参考说话人的语音模型进行辨认,找到与待识别语音最匹配的参考说话人i,作为辨认的结果,然后利用参考说话人i的确认阈值,对待识别语音进行说话人确认,得到最后的识别结果;(1).说话人辨认采用模糊核矢量量化的最近近邻分类器完成说话人的辨认;利用每个参考说话人的语音模型在特征空间中依次对待识别用户语音特征参数Xsr进行量化,并计算每个参考说话人语音模型量化时产生的量化失真D(q),q=1,..,Q,其中Q为参考说话人的个数。对于说话人辨认而言,使用最近近邻分类器选择最小D(q)的参考说话人语音模型所对应的参考说话人作为的辨认结果;result = arg min 1 ≤ q ≤ Q ( D ( q ) ) ]]> 如果参考说话人i产生的量化误差D(i)最小,则辨认结果result=i;2.说话人确认计算待识别语音特征参数Xsr与背景模型λUBM的匹配失真值D(Xsr;λUBM),如果辨认结果result=i,则利用辨认过程产生的最小失真D(i)与该匹配失真D(Xsr;λUBM)的差值进行确认决策;首先计算背景模型的失真D(Xsr;λUBM)和辨认过程产生的最小失真D(i)的差值,如果该差值小于0,则认为冒认者,身份验证失败;否则,通过不同的安全设置,对说话人进行进一步的确认;如果安全级别处于低级,则认为待识别说话人为集合内参考说话人,身份验证成功,但不更新参考说话人确认阈值,否则认为冒认者,身份验证失败;如果安全级别处于中级,将上述差值与参考说话人i的确认阈值DT(i)进行比较,如果差值大于DT(i),则认为待识别说话人为集合内参考说话人,身份验证成功,并更新参考说话人确认阈值DT_new(i)=(1-pp)*DT(i)+pp*差值;其中pp在[0.8,1)否则,判断差值是否在(P2*DT(i),P1*DT(i))范围内,这里0.9<P2<P1<1;如果在此范围内,则认为待识别说话人为集合内参考说话人,身份验证成功,并更新参考说话人确认阈值DT_new(i)=(DT(i)+D(i))/2;否则为冒认者,身份验证失败;如果安全级别处于高级,将上述差值与参考说话人i的确认阈值DT(i)进行比较,如果差值大于DT(i),则认为待识别说话人为集合内参考说话人,身份验证成功,并更新参考说话人确认阈值DT_new(i)=(1-pp)*DT(i)+pp*差值;其中pp=0.8否则为冒认者,身份验证失败。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉林大学,未经吉林大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200910218160.2/,转载请声明来源钻瓜专利网。