关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 智能机器人语音识别技术

智能机器人语音识别技术

作者: 时间:2011-07-22 来源:网络 收藏

1.2 隐马尔可夫模型HMM
隐马尔可夫模型,即HMM是一种基于概率方法的模式匹配方法。它的应用是20世纪80年代以来领域取得的重要成果。
一个HMM模型可以表示为:
c.JPG
式中:π为初始状态概率分布,πi=P(q1=θi),1≤i≤N,表示初始状态处于θi的概率;A为状态转移概率矩阵,(aij)N×N,aij=P(qt+1 =θj|qt=θi),1≤i,j≤N;B为观察值概率矩阵,B={bj(ot)},j=1,2,…,N,表示观察值输出概率分布,也就是观察值ot处于状态j的概率。
1.3 模型训练
HMM有多种结构类型,并且有不同的分类方法。根据状态转移矩阵(A参数)和观察值输出矩阵(B参数)的不同有不同类型的HMM。
对于CHMM模型,当有多个观察值序列时,其重估公式由参考文档给出,此处不再赘述。
1.4 概率计算
利用HMM的定义可以得出P(O|λ)的直接求取公式:
d.JPG
式(2)计算量巨大,是不能接受的。Rabiner提出了前向后向算法,计算量大大减小。定义前向概率:
e.JPG
式(2)表示的是初始前向概率,其中bi(o1)为观察值序列处于t=1时刻在状态i时的输出概率,由于它服从连续高斯混合分布,故此值往往极小。根据大量实验观察,通常小于10-10,此值在定点DSP中已不能用Q格式表示。分析式(3)可以发现,随着时间t的增加,还会有大量的小数之间的乘法加法运算,使得新的前向概率值at+1更小,逐渐趋向于0,定点DSP采用普通的Q格式进行计算时便会负溢出,即便不发生负溢出也会大大丢失精度。因此必须寻找一种解决方法,在不影响DSP实时性的前提下,既不发生负溢出,又能提高精度。

2 DSP实现
孤立词一般采用DTW动态时间规整算法。连续语音识别一般采用HMM模型或者HMM与人工神经网络ANN相结合。
为了能实时控制机,首先需要考虑的是能够实现实时地语音识别。而考虑到CHMM的巨大计算量以及成本因素,采用了数据处理能力强大,成本相对较低的定点数字信号处理器,即定点DSP。本实验采用的是TI公司多媒体芯片TMS320DM642。定点DSP要能准确、实时的实现语音识别,必须考虑2点问题:精度问题和实时性问题。
精度问题的产生原因已经由1.4节详细阐述,这里不再赘述。因此必须找出一种可以提高精度,而又不会对实时性造成影响的解决方法。基于以上考虑,本文提出了一种动态指数定标方法。这种方法类似于科学计数法,用2个32 b单元,一个单元表示指数部分EXP,另一个单元表示小数部分Frac。首先将待计算的数据按照指数定标格式归一化,再进行运算。这样当数据进行运算时,仍然是定点进行,从而避开浮点算法,从而使精度可以达到要求。
对于实时性问题,通常,语音的频率范围大约是300~3 400 Hz左右,因而本实验采样率取8 kHz,16 b量化。考虑识别的实现,必须将语音进行分帧处理。研究表明,大约在10~30 ms内,人的发音模型是相对稳定的,所以本实验中取32 ms为一帧,16 ms为帧移的时间间隔。
解决实时性问题必须充分利用DSP芯片的片上资源。利用EDMA进行音频数据的搬移,提高CPU利用率。采用PING—PONG缓冲区进行数据的缓存,以保证不丢失数据。CHMM训练的模板放于外部存储器,由于外部存储器较片内存储器的速度更慢,因此开启CACHE。建立DSP/BIOS任务,充分利用BIOS进行任务之间的调度,实时处理新到的语音数据,检测语音的起止点,当有语音数据时再进入下一任务进行特征提取及识别。将识别结果用扬声器播放,并送入到机的控制模块。
实验中,采用如图3的程序架构。

本文引用地址://m.amcfsurvey.com/article/161779.htm

g.JPG



评论


相关推荐

技术专区

关闭