当前位置:首页 >> 工学 >>

轮椅机器人语音识别、控制技术的研究




956873

硕士学位论文
(2006届)

轮椅机器人语音识别、控制技术的研究
Research
on

Speech Recognition and Speech
on

Command System Based

Wheel—chair

Robot

研究生姓名 指导教师姓名.
专业名称

金晶

塑垄堑!耋邀2
机械设计及理论 机电一体化 2006年5月

研究方向 论文提交日期

轮椅机器人语音识别、控制技术的研究

中文摘要

轮椅机器人语音识别、控制技术的研究 中文摘要

从机器人的发展和国内外对语音识别技术的研究现状来看:把语音识别技术与机 器人控制技术相结合,正成为目前研究的热点。特别是福利机器人的人机交互问题的 研究,不但具有较好的理论意义,而且有较大的实用价值。比如:残疾人可以用简单
的口令来控制机器人轮椅的运动等。

尽管国内外对语音识别技术进行了大量研究工作,取得了很多成果,但总的来说, 目前,在语音识别系统的实际应用中仍存在以下几个主要问题: (1)端点检测:任何一句话的单词之间一般是没有停顿的,这给全单词模型匹配 带来了困难。研究表明,即使在安静环境下,语音识别系统一半以上的识别错误来自 .端点检测器。


(2)语音信息的变化较大:语音模式不仅对不同的讲话者是不同的,而且对于同
一个讲话者也是不同的。 (3)语音的模糊性:说话者在讲话时,不同的词语可能听起来很相似,要识别它

们还必须根据上下文的发音和其它有关的词法和句法规则。尤其对于汉语语音识别,
由于汉语同音字多、词汇丰富,说话人在表达不同的词语时,听起来却十分相似,由 此造成语音识别难的问题也比其它语言的同类问题要严重。


本课题是苏州大学机电学院智能轮椅机器人研究项目的重要组成部分,本文的研 究目标是轮椅机器人语音控制系统的实现以及非特定人汉语孤立词识别算法的性能 优化探讨,针对以上问题,本文探讨了如下几种解决方法:

(1)提出了一种新的“双门限分步端点检测算法”,实验证明具有较高的检测精度
和较好的通用性。

(2)在分析了当今语音识别领域的主流技术一一动态时间规整(Dynamic

Time

Wraping,简称DTW)技术的缺陷后做出相应改进,提出了“结合放宽端点的监督式 DTW”算法。

(3)针对汉语语音识别中的模糊音问题,在模式识别部分引入分级识别技术。

中文摘要

轮椅机器人语音识别、控制技术的研究

本文以苏州大学机电智能研究室ASR.研究版机器人为平台,设计了机器人音控 系统主程序、主程序与语音识别模块的接口程序,并通过该接口程序段调用所开发的 非特定人语音识别模块,最终实现了对智能轮椅机器人的汉语语音控制。本文采用 Mel频率倒谱系数(MFcc)及其一阶、二阶差分分量作为语音信号的特征矢量建立 系统,在对语音识别的各个组成部分进行改进和优化后,确定了语音信号预处理、端 点检测算法、特征矢量的提取算法、“结合放宽端点的监督式DTW”算法和 “BGW&CTC”聚类算法。并在上述基础上进行模型的训练和识别。在实验过程中比

较了传统DTW算法和“结合放宽端点的监督式DTW算法”;“M跚’,和“BGW&CTC”
聚类算法的性能。结果表明:在用多个人的语音样本对系统训练和识别的情况下,本 机器人语音控制系统取得了较好的效果;并且在实时语音识别部分引入的分级识别技 术,有助于提高系统的实时性和分辨模式细节的能力。 本文所建立并实现的语音识别系统既可用于对福利机器人的语音控制,又为将来
要开发的更复杂的基于多传感器与多信息融合的智能机器人及非特定人语音识别芯 片的核心算法奠定了基础。 关键词:语音控制机器人人机交互

作者:金晶 指导教师:郭旭红

II

Research

on

Speech Recognition and Speech Command

System Based On Wheel.chair Robot
Abstract
Concluded from the development of robot and speech recognition technology,the
research combined speech recognition

technology and
On

robot

technology

has been focus.It

is Human Computer Interaction which is used

Welfare

robot that is this kind well—knit

practical research.It has not only theoretic significance but also biggish practical value. For example,handicapped
call

command wheelchair by his voice.
on

Although many research work have been done

speech recognition

and have

made



lot ofprogress.Generally,It remains some following difficulties in practical application:

(I)Extreme point detecting:usually,speech samplers are continuant,there
between words.It makes model matching

no

pause

air,cult.Even

in quiet

circumstance,more than

50%errors may caused by extreme point detecting model.

(2)Changeability
pronunciation.Even
one

of speech:For same

word,different

people

have different

people will pronounce differeotly at

two

times.

(3)Illegibility

of speech:some different words sound similar especially in Chinese.

This kind of illegibility of speech require detail resolving power during realtime speech recognize module. For these problems,this paper discuss following resolvents:

(1)This paper
based
on

brings forward



new process extreme point detecting arithmetic

two kinds speech characters.It’S feasibility has been proved by experiments. of

(2)Analyzing main limitations coboundary and (3)For
known quantity”.It

DTW,this

paper brings

forward”DTW
shortcomings.

with

Can make

up traditional

DTW’s

settling the problem caused by

illegibility of speech,this p印er brings

forward

hierarchical discriminance arithmetic during realtime speech recognize module.It

focuses detail’S differences and improves the system’S recognition veracity speed.

and

responds



Experiments base

on

SuZhou university intelligent mechanism lab’S ASR robot system.

System soft include speech command main program,interface program and speech
recognize module program.Main program call speech recognize module by interface

program.Speech recognize module

improve

the

each

parts

of traditional speech

recognition system,select appropriate speech signal pretreatment arithmetic,extreme point detecting arithmetic and

character

picking arithmetic.It chooses Mel——Frequency

Cepstrum Coefficent(MFCC)and it’S difference of first order and difference of second order
with
as

speech’S characters then it trains and recognizes speech
known

samplers

using”DTW

coboandary and

quantity’’and“BOW&CTC”arithmetic.Finally experiments
to build

show,system is feasible if we used enough speech samplers System
use

template data base.

hierarchical discriminance arithmetic during realtime speech recognize module.

n helps to improve the system’S veracity and responds speed.
This paper’S aim is to realize


wheel chair robot’S

speech

command system

and

optimize speech recognition arithmetic of isolated word and non-special
technique discussed in this complex robot based
011

people.The

paper Can be used

not

only in Welfare robot but also in more

multi-sensors and multi-input information.It lays foundation of

key arithmetic ofnon-speciaI people speech recognition chip. Key

Words:speech command

Welfare

robot

Human Computer Interaction

Written by JinJing
Supervised by GuoXuHong

IV

苏州大学学位论文独创性声明及使用授权的声明

学位论文独创性声明
本人郑重声明:所提交的学位论文是本人在导师的指导下,独立进
行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含 其他个人或集体已经发表或撰写过的研究成果,也不含为获得苏州大学

或其它教育机构的学位证书而使用过的材料。对本文的研究作出重要贡
献的个人和集体,均已在文中以明确方式标明。本人承担本声明的法律 责任。

研究生签名:生翌鱼

E1期:

垒!!:至!堕

学位论文使用授权声明
苏州大学、中国科学技术信息研究所、国家图书馆、清华大学论文
合作部、中国社科院文献信息情报中心有权保留本人所送交学位论文的 复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本 人电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文 外,允许论文被查阅和借阅,可以公布(包括刊登)论文的全部或部分 内容。论文的公布(包括刊登)授权苏州大学学位办办理。

研究生签名 导师签名

静日期:雄
虚渤
日期:“、F剪

轮椅机器人语音识别、控制技术的研究

第一章序苦

一——…一
1.1课题来源

笛一音席言

目前,智能机器人己经成为机器人研究的热点,而民用福利机器人又是智能机器 人的一个重要研究领域。据美国服务机器人联合会统计,美国大约有300万残疾人, 全世界50亿人口中,每70-80人就有1人残疾。而中国残联的统计数据表明:全国
约有各类残疾人总数5164万,占调查总人数的4.90%。目前,有限的医护人力资源 根本不可能满足残疾人全日制护理的需要。而另一方面,残疾人也有凭自己的力量独 立生活的要求。因此,用于帮助残疾人的福利机器人市场潜力巨大。美国、德国、瑞 士、西班牙均投入较大经费用于此项研究。要使福利机器人真正走入人们生活的方方 面面,满足人们日益增长的需求,就离不开高性能的语音识别系统。因为福利机器人 面对的是家庭和服务业,其最佳工作方式是机器人按照人们最熟悉的、最常用的语音

命令去完成指定的工作,并可进一步与人进行语言交流。因此,研究机器人的语音识
别,开发实用的机器人语音识别、控制系统,对于福利机器人的普及与应用意义重大。

有鉴于此,本论文试图从机器人语音识别、语音控制技术的研究入手,实现对轮椅机
器人的汉语语音控制。

1.2语音控制机器人的发展和国内外的研究现状
在智能机器人领域内,机器人视觉得到了广泛而深入的研究,成为智能机器人研 究中最活跃的分支。比如日本SECOM公司开发的保证残疾者进食的就餐辅助机器人 “MYSPOON(我的勺子)”;中国科学院自动化研究所最新研制的表情机器人“奄奄” 和仿人型画像机器“贝奇”等, 都综合运用了计算机视觉、人脸识别、高精度运动

控制等尖端技术。

相对说来,对机器人听觉的研究就略显不足,虽然也有一些人工

智能产品可以与人进行短暂对话,比如爱尔兰媒体实验室制作的名为“人类”的新型

机器人;以及上面提到的表情机器人“童童”等。但人机之间的信息交流大多还是通
过键盘和显示器来实现的,语音这种人类最简单、最自然、最方便和最有效的信息交 换方式,在机器人尤其是福利机器人上的应用还较少。显然结合机器人技术和语音识 别技术,在机器人系统上增加语音接口,用语音代替键盘输入,并进行人机对话,不

第一章序言

轮椅机器人语音识别、控制技术的研究

仅是机器人智能化的重要标志之一,而且对福利机器人具有很大的现实意义。

语音控制机器人技术是语音识别技术在机器人控制领域的应用。因此,语音识别 技术的研究与发展就决定了语音控制机器人技术的研究与发展。 1952年,Bell实验室的David等人成功研制了可识别十个英文数字的语音识别器 ——Audry系统,这是语音识别研究工作的真正开端。1959年,J.W.Rorgie和c.D.Forge 采用数字计算机识别英文元音及孤立字,从此开始了计算机语音识别邮】。
在60年代,前苏联Matin提出了语音结束点的端点检测,语音识别水平明显上 升。Vintsyuk提出了动态编程,这一提法在以后的识别中不可或缺。

70年代,语音识别的大家IBM公司和Bell实验室致力于不同的研究方向。Jelinek
领导的IBM的目的是设计一个语音打印机,能够将讲话者讲的内容转换成文字显示 在屏幕和打印纸上;Bell实验室的研究方向是研制针对公众的语音电话服务,例如: 语音拨号。

80年代统计方法的应用是识别算法的又一次飞跃,值得一提的是Hidden
Model(HMM)。典型的做法是:以HMM为统一框架,构筑识别系统模型。

Markov

进入90年代后,多媒体时代呼唤语音识别系统从实验室走向实用。许多著名的 大公司如IBM、苹果、AT&T和NTT都对语音识别系统的实用化研究投以巨资。语 音识别技术有一个很好的评估机制,那就是识别的准确率,而这项指标在20世纪90

年代中后期实验室研究中得到不断的提高。
目前具有代表性的语音识别方法主要有特征参数匹配法、隐马尔柯夫法和神经网

络法【1”。
特征参数匹配法是一种传统的模式识别方法,其要点是:在训练过程中从训练语

句中提取出代表语音本质的特征参数(模板参数);在识别过程中,从待识别语音信
号中按同样的处理方法提取出语音参数。应用某种不变的测度(如距离测度),寻求

语音参数与模板参数之间的相似性,用似然函数进行判决。
语音参数与模板参数的匹配是语音识别系统的核心,同一个音由不同的人发出或 同一个人在不同时刻发出,不可能具有完全相同的时间长度,因此不能简单的把语音 参数与模板参数匹配。日本学者板仓(hakura)提出的动态规正技术(Dynamic
Time

Warping,DTW),采用一种最优化算法——动态规整法,通过将待识别语音信号的

轮椅机器人谮音识别、控制技术的研究

第一章序言

时间轴进行不均匀地扭曲和弯曲,使待测语音特征与模板特征对齐,并在两者之间不 断的进行两个矢量距离最小的匹配路径计算,从而获得两个矢量匹配时累积距离最小 的规整函数。这是一个将时间规整和距离测度有机结合在一起的非线性规整技术,保 证了待识别特征与模板特征之间最大的声学相似特性和最小的时差失真,是成功解决
模式匹配问题最早和最常用的方法。

隐马尔柯夫模型(HMM)是一种参数表示的用于描述随机过程统计特性的概率 模型,它是由马尔可夫链演变来的,所以它是基于参数模型的统计识别方法。由于其 模式库是通过反复训练形成的与训练输出信号吻合概率最大的最佳模型参数而不是
预先贮存好的模式样本,且其识别过程中运用待识别语音序列与HMM模型参数之间 的似然概率达到最大值所对应的最佳状态序列作为识别输出,因此是较为理想的语音 识别模型。但它的训练过程比DTW方法要复杂,需要较长的训练时间及识别时间, 而且还需要较大的内存空间。

神经网络(砧qN)的语音识别系统通常由神经元、训练算法及网络结构等三大要
素构成。目前用于语音识别研究的ANN主要有:基于反向传播(BP)算法的多层感 知机(MLP)神经网、基于Kohorich提出的仿生人类大脑皮层信息特征区形成的生 理过程的特征映射(s0M)神经网络等,而具有良好的动态时变性能和结构的时延 神经网络(TDNN)和良好的动态时间关联特性的循环神经网络(I心附)是研究热点。 此外,为弥补单一技术的局限性,还有学者采用把几种方法组合起来的混合型模 式识别法。国内外学者以这些方法为核心,做了大量的研究工作。姜天辰【7】等对一般 DTW法作了改进,试图通过放宽端点限制得到更好的语音匹配;张焱、姜惠春【6】等 提出了隐马尔可夫模型和动态时间规正统一框架下广义模型,分析表明:广义模型更

接近语音实际情况并具有很小的存储量;余小清等151采用二阶差分耳蜗模型对语音信
号进行特征参数提取,使用改进型DTW算法识别,在小词汇量非特定人识别环境下 获得了较高的识别率和较好的鲁棒性;杨华民等【4】采用BP神经网络完成了一个语音 控制媒体播放系统。但总的来说,目前在语音识别、语音控制的应用研究中仍存在以 下几个主要问题[8,gJH:

(1)语音信息的变化较大:语音模式不仅对不同的讲话者是不同的,而且对于同
一个讲话者也是不同的。

第一章序言

轮椅机器人语音识别、控制技术的研究

(2)端点检测:任何一句话的单词之间一般是没有停顿的,这给全单词模型匹配
带来了困难。研究表明,即使在安静环境下,语音识别系统一半以上的识别错误来自

端点监检器。而提高端点检测技术的关键在于寻找稳定的语音参数。 (3)非特定入问题:非特定人语音识别是机器人走向实用化的一个重要方面,这 也是目前语音识别的关键技术之一。就机器人的实际应用而言,某个机器人的使用用 户范围是有限的,因此,在该范围内实现非特定人的语音识别成为目前研究实现的重
点。 (4)实时性:机器人的多数应用要求实时性。机器人在听懂语声后,还要执行、 完成其他一系列动作,即机器人需要处理大量的数据,分配给听觉的时间是非常有限

的,因而,提高实时性是机器人听觉的突出问题。
(5)语音的模糊性:说话者在讲话时,不同的语词可能听起来很相似,要识别它 们还必须根据上下文的发音和其它有关的词法和句法规则。尤其对于汉语语音识别, 由于汉语同音字多、词汇丰富,说话人在表达不同的词语时,听起来却十分相似,由

此造成语音识别难的问题也比其它语言的同类问题要严重。

1-3本文研究及重点及工作安排
本课题通过对机器人技术和语音识别技术的学习,综合本研究对象的特点提出了 一种新的应用于“小词汇量、孤立词、非特定人”场合的汉语语音识别方法。并把这 种方法应用于轮椅机器人控制中,使轮椅机器人具有人机交互的功能,使用者可用简 单的口令来控制轮椅机器人的运动。本文在结构上大致可分为3个部分:轮椅机器人 语音控制算法的理论基础(第二章);轮椅机器人语音控制系统的设计(第三章);实 验测试及结果分析与总结(第四章,第五章)。 由于能力和时间的限制,在本论文的研究中,不可能对智能轮椅的所有方面都有 所涉及。本文主要的研究内容如下:

(1)研究用于非特定人、小词汇量场合的语音识别方法及语音前端处理方法; (2)分析了动态时间规整(DTW)技术的四大缺陷并做出改进,提出一种“结合
放宽端点的监督式DTW算法”;



轮椅机器人语音识别、控制技术的研究

第一章序言

r3)探讨了目前常用的聚类方法——MKM法的潜在不合理性,以它的算法思想 为基础,提出了一种新的BGW&CTC模板训练方法。

(4)针对汉语语音识别中的模糊音问题,在模式识别部分引入分级识别技术,提 高系统分辨模式细节的能力,并有助于提高系统的实时识别能力。
(5)完成智能轮椅机器人控制部分的软件程序编制;

(6)完成智能轮椅机器人控制部分与语音识别部分接1:3程序设计; (7)完成智能轮椅机器人非特定人语音识别部分的算法设计及软件程序编制。

1.4本章小结
本章简单介绍了语音识别、控制的发展状况、研究的难点、应用前景以及语音控 制系统的特点,并提出了本课题的研究目标和下一步的工作任务。

第二章轮椅机器人语音控制算法的理论基础

轮椅机器人语音识别、控制技术的研究

第二章轮椅机器人语音控制算法的理论基础
2.1语音信号的声学基础及产生模型
在研究和分析各种语音识别和语音控制技术之前,必须了解有关语音信号的一些
基本特性。为了在计算机上对语音信号进行数字处理,需要建立一个能精确描述语音

产生过程和语音全部特征的数学模型,即根据语音产生的过程建立一个既实用又便于 分析的语音信号模型,这是语音信号处理的基础。 人的发音器官包括:肺、气管、喉(包括声带)、咽、鼻、口和唇。这些器官共 同形成一条形状复杂的管道,其中喉的部分称为声门,从声门到嘴唇的呼气通道叫做
声道。声道的形状主要由嘴唇、腭和舌头的位置来决定,由声道形状的不断变化,而

发出不同的声音【Ⅲ。 在发音过程中,肺部与相连的肌肉相当于声道系统的激励源。肺部收缩,压迫气 流由气管冲击声门处的声带,当声带处于收紧状态时,流经气流使声带振动产生浊音,
不伴随声带振动的音称为清音。当声带处于放松状态时,有两种方式能发出声音:一 种方式是通过舌头,在声道的某一部位形成狭窄的收紧部位,当气流经过这个收紧点 时会产生湍流,形成噪声型的声音。这时对应的收紧点的位置不同及声道形状的不同, 形成不同的摩擦音;另一种方式是声带处于松懈状态,利用舌头和关闭的声道,暂时

阻止气流,当气流压力非常高时,突然放开舌和唇,气流被突然释放产生短暂的脉冲
音。对应于声道闭紧点的不同位置和不同的声道形状,形成不同的爆破音。 通过上面对发音器官和语音产生机理的分析,可以将语音生成系统分成三个部

分:在声门(声带)以下,称为“声门子系统”,它负责产生激励振动,是“激励系
统”;从声门到嘴唇的呼气通道是声道,称为“声道系统”;语音从嘴唇辐射出去,所

以嘴唇以外是“辐射系统”。激励模型、声道模型和辐射模型串联成完整的语音信号
的数学模型。分别叙述如下: (1)激励模型 研究证实:发不同的音时,激励的情况不同。这些不同大致可分为两大类:在发 浊音时,气流通过绷紧的声带,对声带进行冲击而产生振动,使声门处形成准周期的

脉冲串。声带的绷紧程度不同,振动的频率也不同,即基音频率不同。由于人的声带

轮椅机器人语音识别、控制技术的研究

第二章轮椅机器人语音控制算法的理论基础

情况有所差异,因此具有不同的基音周期。应该注意的是,浊音不仅包括所有的元音, 也包括一些浊辅音。这样,在发浊音时由声带的不断张开和关闭产生的脉冲波,类似

于斜三角形的脉冲。此时的激励源就是一个以基音周期为周期的斜三角形的脉冲串。
单个的斜三角形脉冲可以用式(2.1)表示为:

牡。s(%)]
g(胛)=

O≤"≤N

cos卜%]


Ⅳl s1"/sⅣ2
其他

(2-1)

式中,Ⅳ1为斜三角波上升部分的时间;Ⅳ2为其下降部分的时间。 如果将上述函数变换到频域,则可以看出,它相当于一个低通滤波器。因此通常 将它表示成Z变换的全极点模型形式,见式(2.2):

G(z)2瓦习矗荔
通滤波器的输出。而单位脉冲可以表示为下面的Z变换形式,即

‘2。2’

式中g.和g:都接近于1。这样斜三角波可以看作是加权的单位脉冲经过上述的低

E(z)2南(2-3)
式中以是调节浊音的幅度或能量的参数。因此,整个浊音激励模型可表示为
(2_。)

吣)-E∽×G∽2南。商栖

在发清音时,声带处于松弛状态,不发生振动。气流通过声门直接进入声道,所

有的清辅音都属于这种情况。无论是擦音还是塞音,声道都被阻碍形成湍流,所以激
励信号相当于一个随机白噪声。实际上可以用均值为0、均方差为1,并在时间或幅 值上白色分布的序列来表示。 (2)声道模型 对于声道的数学模型目前最常见的有两种观点:一种是将声道看作是由多个不同

截面积的声管串联而成的系统,称为“声管模型”。另一种是将声道视为一个谐振腔,

第二章轮椅机器人语音控制算法的理论基础

轮椅机器人语音识别、控制技术的研究

共振峰就是这个腔体的谐振频率,从这个角度出发来描述声道的模型,即为“共振峰 模型”。由于人耳听觉的柯蒂氏器官的毛细胞是按着频率感受来排列其位置的,所以 共振峰模型很有效,经常被使用。实践表明:用前3个共振峰来代表一个元音就足够 了。对于较复杂的辅音或鼻音,大概要用5个以上的共振峰才行。 一般情况下,可以用一个如下式的全极点模型来刻画共振峰特性,即

矿(z)=百二一

(2-!J

Eat.z一‘
式中P为全极点滤波器的阶数,一般在8~12范围内取值。它的每一对极点对 应一个共振峰。a,为声道模型参数,它随声道的调音运动不断变化。由于声道的惯性 使这些参数变化的速度受到限制。一般在lOms~30ms的时间间隔内,认为这些声道 参数保持不变,这也是语音信号短时分析的理论依据之一。
对一些鼻音和摩擦音,声道传递函数中也包含一些零点。对于这种情况,可以在

上式中引入若干个零点,但这时的模型将变得相对较复杂。这种情况也可以通过适当
提高阶数,使得全极点模型可以更好地逼近具有零点的传递函数。 (3)辐射模型 声道的终端是口和唇。从声道输出的是速度波,而语音信号是声压波,两者的倒 比称为辐射阻抗,可以用它来表示口唇的辐射效应,也包括头部的绕射效应等。从理 论上推导这个阻抗是有困难的,但是如果认为口唇张开的面积远小于头部的表面积, 则可以推导出如下辐射阻抗公式:

z(砷=而jeoLR(2-6)
式中R=等,三=参,这里的口是口唇张开的的开口半径,c是声波的传播速
度。 由辐射引起的能量损耗正比于辐射阻抗的实部,研究表明,口唇端的辐射效应在

高频段较为明显,而在低频段影响较小,因此可以用一个高通滤波器来表示辐射模型。
如下所示:

轮椅机器人语音识别、控制技术的研究

第二章轮椅机器人语音控制算法的理论基础

R(z)=1-rz“
其中系数,接近l。

(2-7)

在实际信号分析时,常采用这样的预加重技术。即在采样之后,插入一个一阶高 通滤波器。在语音合成时再进行“去加重”处理,就可以恢复原来的语音。 由上面所述,语音信号产生的完整模型可以用3个子模型串联而成,其传递函数
为:

H(z)--E,(z)×y(z)x盖(z)

(2.8)

这3个模型分别与肺部的气流和声带共同作用形成的激励、声道的调音运动及嘴 唇和鼻孔的辐射效应一一对应。它们之间的关系可以用图2-I表示。



图2-I时间离散的语音信号生成模型

2.2语音识别的基本原理和算法的选择 2.2.1语音识别的基本原理
无论采用何种识别方案,孤立词语音识别系统都可以采用图2-2所示的框图‘1捌 来表示,一个语音识别系统主要包括训练和识别两个阶段。无论是训练还是识别,都 需要首先对输入的原始语音进行预处理,并进行特征提取。下面具体说明各个模块的
功能。

第二章轮椅机器人语音控制算法的理论基础

轮椅机器人语音识别、控制技术的研究



图2-2语音识别系统的组成框图

语音识别系统,除了包括核心的识别程序,还必须包括语音输入手段、参数分析、 以及制作这些东西所需的工具。根据识别结果在实际环境下实现一定的应用,还必须 考虑耐环境噪音技术,用户接口输入和输出技术等。因此,语音识别技术加上各种外

围技术的组合,才能构成一个完整的实际应用的语音识别系统。从语音识别系统的各
个功能划分的角度出发,语音识别系统可分为语音信号的预处理部分、特征提取部分、 模板训练部分以及实时语音识别等部分。

识别预处理模块主要是对通过话筒或电话线路输入的语音信号进行数字化采样、
预滤波、滤除掉其中的不重要的信息以及背景噪声等,并进行语音信号的端点检测,

即判定语音有效范围的开始和结束位置,经过语音分析部分变换成特征向量。
特征提取模块负责计算语音的声学参数,并进行特征的计算,以便提取出反映信 号特征的关键特征参数进行后续处理。 对于非特定人语音识别系统,在训练阶段,系统经过上述预处理和特征提取模块

从大量的语音数据中得到特征矢量参数集合,然后通过特征建模模块建立语音的参考 模式库(可能为参考模板或者模型等),或者对已在模式库中的参考模式作适应性修

轮椅机器人语音识别、控制技术的研究

第二章轮椅机器人语音控制算法的理论基础

正。

在识别阶段,将输入语音的特征矢量参数(序列)和参考模式库中的模式进行相
似性度量,将相似度最高的模式所属的类别作为识别的中间候选结果输出。

对于本文所研究的音控机器人系统,将把整个语音识别模块的最终输出结果直接 传递给音控主程序(见3.2.2节语音控制机器人的算法实现),把识别结果转换成控制 信号,控制应用部分的动作。

2.2.2语音识别算法的选择和确立
当今语音识别技术的主流算法,有基于动态时间规整算法(DTw)的模板匹配法、 基于参数模型的隐马尔可夫模型(HMM)的方法。此外,还有基于人工神经网络
(ANN)的识别方法等【¨们。 基于HMM的方法主要用于大词汇量的语音识别系统,它需要较多的模型训练数 据,较长的训练时间及识别时间,而且还需要较大的内存空间。 日本学者板仓提出的动态时间规整算法(DTW)将动态规划(DP)算法的概念

用于解决语音识别时的说话速度不均匀的难题,在连续语音识别中仍然是主流方法 【“卦。虽然这种算法的运算量比较大,但技术上较简单,同时正确识别率也比较高。 考虑到本文的研究对象是为残疾人服务的轮椅机器人,它的使用场合决定了它的
语音识别系统应该是一个孤立词、中小词汇量的非特定人语音识别系统,同时综合考 虑识别系统硬件平台的能力以及系统的可移植性、可扩展性,本文采用了目前常用的 基于动态时间规整(DTw)的模板匹配方法。并对传统的DTW算法、模板训练和模 板匹配算法提出了多方面的改进,最终探索了一种新的“基于导师信息和双向动态时 间规整的分层识别算法”。本文所进行的非特定人语音识别的研究。也是目前国内外

语音识别研究的重点内容之一。

2.3语音信号的前端处理
如前所述,任何语音识别系统都必须在前端录入语音,抽取其特征参数,供后端 匹配或建立模板库。为了提取出高质量的语音特征参数,在抽取参数前,需要对待识
别语音进行预处理,包括预滤波、采样、A/D变换、去直流、分帧等。本节主要叙述

第二章轮椅机器人语音控制算法韵理论基础

轮椅机器人语音识别、控制技术的研究

语音信号预处理部分的内容【l】。

2.3.1预滤波、采样、AiD转换
预滤波的目的有两个:

(1)抑制输入信号各频域分量中频率超出fJ2的所有分量够为采样频率),以防
止混叠干扰。

(2)抑制50Hz的电源工频干扰。这样,预滤波器必须是一个带通滤波器,设其 上下截止频率分别是^和五,则对于绝大多数语音编译码器,Jl=3400Hz,fF60~100Hz, 采样率f,=SKHz;而对于语音识别而言,当用于电话用户时,指标与语音编译码器 相同。当使用于要求较高或很高的场合时,^=4500Hz或8000Hz,五=60Hz,fs=10KHz
或20KHz。

在本论文所研究的语音控制机器人的场合,经实验验证,可取j%=100Hz,彳 --4500Hz;采样率疗=11.025KHz。语音信号经过预滤波和采样后,由16位A/D变换
器变换为二进制数字码。

由于语音信号的平均功率谱受声门激励和口鼻辐射影响,高频端约在800Hz以上 按6dB/倍频程跌落,即6dB/oct(2倍频)或20dB/dcc(10倍频),所以求语音信号
频谱时,频率越高相应的成分越小,高频部分的频谱比低频部分的难求,为此要在预 处理中进行预加重(Pre.emphasis)处理。预加重的目的是提升高频部分,使信号的

频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱,以便于 频谱分析或声道参数分析。预加重可在语音信号数字化时在反混叠滤波器之前进行, 这样不仅可以进行预加重,而且可以压缩信号的动态范围,有效地提高信噪比。但预
加重~般是在语音信号数字化之后,在参数分析之前,在计算机里用具有6dB/oct 的提升高频特性的预加重数字滤波器来实现,它一般是一阶的数字滤波器,其传递函 数为:

日(z)=l一∥z。
本论文中,“值取0.97。

(2—9)

由于语音在短时间范围内的物理特征与频谱特征近似不变,具有短时平稳特性, 即语音信号的产生是一种准平稳过程,因此在进行过预加重数字滤波处理后,接下来

轮椅机器人语音识别、控制技术的研究

第二章轮椅机器人语音控制算法的理论基础

就要进行加窗分帧处理。即将语音信号分段来分析。其中每一段称为一帧。帧的长度
叫帧长。通常由于语音在lO~30ms之内是保持相对平稳的,因此帧长取为lO~30ms,

分帧虽然可以采用连续分段的方法,但为了使帧与帧之间平滑过渡,保持其连续性,
一般采用交叠分段的方法。前一帧和后一帧的交叠部分称为帧移。帧移与帧长的比值 一般取为0—1/2。本论文中帧长约取18ms,即每帧约有200个语音采样,帧移为帧长

的50%,即取帧移为100个采样点的长度,如图2-3所示。
第k帧

卜—————叫
第kH帧 图2—3帧长于帧移的示例

分帧是用可移动的有限长度窗口进行加权的方法来实现的,这就是用一定的窗函 数∞∞)来卷积《H),从而形成加窗语音信号蜀(n)=∞(n)—“n)【”。 在语音信号数字处理中常用的窗函数是矩形窗和汉明窗,它们的表达式如下(其
中Ⅳ为帧长):

矩形窗.∞)=话 汉临嘶):0.54-0.46cos(务]
10?

。舅≤公
O<n<_N-1

(2-10)

㈣,)





窗函数∞(而的选择,对于短时分析参数的特性影响很大。当窗口长度Ⅳ太大时,
它等效于很窄的低通滤波器。不能真实反映语音信号的幅度变化;反之,若Ⅳ太小

时,滤波器的通带变宽,短时能量随时间有急剧变化,不能得到平滑的能量函数。综 合考虑窗函数的形状和长度,本论文选择了200个采样点的长度的汉明窗。 这样经过上述介绍的处理过程,语音信号就已被分割成一帧一帧的加过窗的短时
信号,把每一个短时语音帧看作平稳的随机信号,利用数字信号处理技术来提取语音 信号的特征。在进行处理时,按帧从数据区中取出数据,处理完后再取下一帧,等等。

第二章轮椅机器人语音控制算法的理论基础

轮椅机器人语音识别、控制技术的研究

最后得到由每一帧参数组成的语音特征参数的时间序列。

2.3.2汉语语音的特征提取
经过预处理后的语音信号,就要对其进行特征参数提取,这是语音识别的关键问

题,特征参数选择的好坏直接影响到语音识别的精度。抽取的语音特征应使得聚类运 算时类内距离尽量小,类间距离尽量大。只有如此才能利用这些参数建立用于语音识 别的模板或知识库。 一般将语音信号的特征矢量分为两类:第一类为时域特征矢量,通常将一帧语音 信号中的各个时域特征直接构成一个矢量;第二类为变换域特征矢量,即对一帧语音
信号进行某种变换以后产生的相应的矢量。 对于语音识别而言.常用的特征参数有时域上的幅度(或能量)、平均过零率等:

频域上的线性预测系数(LPC)、LPC倒谱系数、共振峰频率、短时频谱等。其中Mel 频率倒谱系数(Mel--Frequency
Cepstrum Coefficem,MFCC)由于反映了人耳的听


觉特征,因而其性能及鲁棒性是所有参数中最好的。

除了这些静态参数以外,上述参数随时间的变化反映了语音特征的动态特性,作 为动态参数也常常被用于语音识别当中。提取的语音特征参数有时还要进行进一步变

换处理,如正交变换、主元素分析、最大可分性变换等,以达到进一步的压缩处理, 节省模式存储容量和识别运算量,提高识别性能的目的。识别参数的选择也与正识率
及复杂度的矛盾有关。因为在通常情况下,参数中包含的信息越多,则分析或提取的 复杂度也越大。

本文提取了语音时域特征中的短时平均幅度,短时过零率作为端点检测的判别参
数,Mel倒谱域中的MFCC及其一阶、二阶差分作为模式库训练、实时语音识别的 特征参数。分别介绍如下: (1)短时能量及短时平均幅度分析

设第n帧语音信号为%(m),第rl帧语音信号的短时能量用E表示,则其定义如
下:
N—l

E=∑霸(m)

(2-12)

轮椅机器人语音识别、控制技术的研究

第二章轮椅机器人语音控制算法的理论基础

这是一个度量语音信号幅度值变化的函数,但它有—个缺陷,即它对高电平非常
敏感(因为它计算时用的是信号的平方)。为此可采用另一个度量语音信号幅度值变 化的函数,即短时平均幅度函数^厶,它定义为:

坛=∑陟(圳

(2-13)

^厶是一帧语音信号能量大小的表征,它与晶的区别在于计算时小取样值和大取
样值不会因取平方而造成较大差异,在某些应用领域中会带来一些好处。

短时能量和短时平均幅度函数的主要用途有:(1)可以区分浊音段与清音段,因 为浊音时晶值比清音时大的多;(2)可以用来区分声母与韵母的分界,无声与有声的 分界,连字(指字之间无间隙)的分界等;(3)可作为一种超音段信息,用于语音识别
中。

(2)短时平均过零率

顾名思义,过零就是揖时域波形穿过坐标轴,表现在离散信号序列上就是相邻两
个采样值异号。单位时间内过零发生的次数称为短时过零率。其定义如下:

乙2互槲删喵n№一1)枷一m)
--isgnl(n)卜sg【L卜(n—1)弘(一)
其中,。(n)为窗函数、sgn[x]是取符号函数,它的定义如下:

f2-14)

sgn[十{!_,
(3)Mel频率倒谱系数



(2-15)

本文中采用的MFCC是基于Mel频率的概念而提出的。lMel为1000Hz的音调 感知程度1/1000。频率,与Mel频率B之间的转换关系如图2-4所示:

图2.4频率与Mell赫率之间的转换关系

第二章轮椅机器人语音控制算法的理论基础

轮椅机器人语音识别、控制技术的{i}f究

其转换公式为

B=2595×l090+f/700)

(2-16)

Mel频率倒谱系数即基于上述Mel频率的概念而提出来的,其提取及计算过程如
图2.5所示:

叫嚣‰H。r协盯削燃
图2-5

Log

对数能量l



DCT

求倒谱




Me|频率倒谱系数(MFCC)的提取过程

对提取及计算过程解释如下: (1)原始语音信号s0)经过预加重、分帧、加窗等处理后,得到每个语音帧的时 域信号z(月)。 (2)将时域信号x(")后补若干0以形成长为N(本论文取N=512)的序列,然后 经过离散傅里叶变换(DFT)后得到线性频谱x(幼,转换公式为:
Ⅳ-I

z(七)=∑x(n)e-(2删川
n=tl

(o冬,l,ksN一1)

(2-17)

在实际应用中,常常通过快速傅里叶变换(FFT)过程加以计算,其中N一般称之为 DFT(或FFT)窗宽。 (3)将上述线性频谱x(∞通过Mel频率滤波器组得到Mel频谱,并通过对数能量 的处理,得到对数谱s(m)。

其中Mel频率滤波器组为在语音的频谱范围内设置的若干个带通滤波器E。(七),
0蔓研<M,M为滤波器的个数。每个滤波器具有三角形滤波特性,其中心频率为

,∽),当m值小时相邻,(肌)之间的闯隔也小,随着m的增加相邻,(脚)的间隔逐渐
变大。每个带通滤波器的传递函数为:

轮椅机器人语音识别、控制技术的研究

第二章轮椅机器人语音控制算法的理论基础

(t<f(m一1))

(,沏-1)≤ksf(m)
Hm(||})= O≤肌<M

。M一~胁

,二"一“ ∽一八邶一卜 二m二厂

(f(m)<.i}sf(m+1)) (.j}>f(m+1)) (2-18)

f(m)可以用下面的方法加以定义:

厂cm,=(鲁]B。(丑c石,+m兰堕:!;:i三等垃]
FFT)窗宽,只为采样频率,而B。为B的逆函数:

cz一?。,

其中石、五为滤波器的频率范围的最低频率和最高频率、N为步骤(2)中DFT(或

B。(6)=700(e“2…一11
器组得到的Mel频率取对数能量。 则由线性频谱x(k)得到对数频谱S(m)的总传递函数为:

(2.20)

为了使结果对噪音和谱估计误差有更好的鲁棒性,一般将上述经过Mel频率滤波

S(m):lnf窆Iz(七)12以(七)1
\k10 /

o≤聊<M(2-21)

(4)将上述对数频谱s∽)经过离散余弦变换(DCT)变换到倒频谱域,即可以得
到Mel频率倒谱系数c0):

咖,=薹脚。s(竺产]㈣<M

任zz,

上述参数为静态参数,为了描述语音帧之间的相关性,本论文还引入了其一阶差 分、二阶差分作为动态参数。最后,为了消除信道带来的影响,对上述特征参数采用
均一化处理(Cepstrum MeanNormalization,CMN),计算整个语音的归一化特征矢量 序列值,其公式为:

第二二章轮椅机器人语音控制算法的理论基础

轮椅机器人语音识别、控制技术的研究

童(n):地学盟 o'Ln)


(2.23)

其中y(玎)=专∑r(一),盯(疗)=、侍∑(r(珂)一,,(疗))2,丁为整个语音的特征帧数,行
』t-t Y‘t-1

.r斤—r————_=—一

为当前的特征帧的第疗维。

2.3.3语音信号的端点检测
在语音识别前,首先要对输入语音进行端点检测。端点检测的目的是从包含语音 的一段信号中确定出语音的起点和终点。有时,对已经判断为语音的部分还需要区分

清音和浊音。这些问题归结起来称为“有声/无声”或“浊音腈音/无音”的判定【2】。
常用的判别语音起始点的语音参数有短时能量、短时平均幅度和短时平均过零率等, 在上面已给出了它们的定义。 有效的端点检测不仅能使处理时间减到最小,而且能排除无声段的噪声干扰,从 而使识别系统具有良好的识别性能。实验表明端点检测准确时识别率为93%的系统,

当端点检测的误差在_60ms(4帧)时,识别率降低了3%;当误差在+90ms(6帧) 时,识别率降低10%;当误差进一步加大时,识别率急剧下降。这说明端点检测的成
功与否甚至在某种程度直接决定了整个语音识别系统的成败。 在设计一个成功的端点检测模块时,通常会遇到下列一些实际困难: (1)信号取样时,由于电平的变化,难于设置对各次试验都适用的阈值。

(2)在发音时,人的顺嘴声或其他某些杂音会使语音波形产生一个很小的尖峰, 并可能超过所设计的门限值。此外,人呼吸时的气流也会产生电平较高的噪声。
(3)取样数据中,有时存在突发性干扰,使短时参数变得很大,持续很短时间后 又恢复为寂静特性。应该将其计入寂静段中。 (4)弱摩擦音时或终点处是鼻音时,语音的特性与噪声极为接近,其中鼻音往往 还拖得很长。 (5)如果输人信号中有50Hz工频干扰或者A/D变换的工作点偏移时,用短时过 零率区别无声和清音就显得不可靠。 汉语中,由于音节结尾处基本上都是浊音,因此简单的通过短时能量就可以获得

轮椅机器人语音识别、控制技术的研究

第二章轮椅机器人语音控制算法的理论基础

较好的效果。相比之下,音节起始处会有清声母、塞音和塞擦音,它们很难和环境噪 音相区别。 由短时平均过零率的定义(2.14)可以看出,短时平均过零率对噪音的存在非常 敏感,如果背景中有反复穿越坐标轴的随机噪音,那么将会产生大量虚假的“过零”, 影响计算结果。为了提高过零率计算的鲁棒性,除了对原始信号进行带通滤波,一种 有效的方法是修正过零率的定义,加入门限的定义,如图2-6。
门限值+T、



\,、八.一/\../\.
。。
V V。

/、

\/、,。7

f1限t苴.T/
图2-6门限过零率

V一、7。……一一

设一个门限值吲,将过零的定义修正为穿越正负门限,带门限的过零率计算公式


乙=妻{ISgn[x(押)一丁]喵n[x(川)一r州sgn瞰胛)+r卜sgn[x(川)+TII}
×∞(,z)
(2—24)

这样,噪音信号的振荡只要不超过门限间的区域,就不会对真实的过零率产生影 响。一般来说,短时过零率的最主要用处是分辨清音和浊音、有声和无声。 语音刚开始的一段,其短时能量的大小与背景噪声的短时能量大小差不多,因此 要想可靠的检测到语音起始点,存在较大困难。本文探索了一种结合短时平均幅度和 短时平均过零率的“双门限分步端点检测算法”(将在3.5.1中详细介绍)。由于考虑

到语音开始时总会出现能量较大的浊音,因此该算法首先利用短时平均幅度定位语音
的大致起始位最,然后在此基础上利用“短时过零率”进一步准确确定语音起始点。

第二章轮椅机器人语音控制算法的理论基础

轮椅机器人语音识别、控制技术的研究

2.4语音识别中的模板匹配技术
模板匹配法是语音识别中最常用的一种相似度计算与匹配方法。如果考虑把具有 不同内容的语音经过某种转换以后作为不同的模板,则可以构建一个基于模板匹配的 简单的语音识别系统,将特征模板库中的各个模板称为参考模板,将待识别的输入语 音经过预处理以及特征提取以后得到的特征矢量序列称为测试模板,在实时识别时通 过对测试模板与参考模板的相似性度量获取识别结果∞】。

2.4.1相似性度量
为了进行相似性度量,用R来表示参考模板;用T来表示测试模板。
参考模板可以表示为:R={R(1)'R(2),¨.R(棚),...R(M)},其中M为参考模板所包 含的语音帧的总数,朋为语音帧的时序标号,R(m)为参考模板中第m帧的语音特征 矢量。 测试模板可以表示为:T={T0),丁(2),¨.r(月),¨?(Ⅳ)),其中N为测试模板中语音

帧数,以为帧标号,T(n)为测试模板中第一帧的语音特征矢量。
计算测试模板和参考模板之间的相似度,可以计算它们之间的失真,失真越小相 似度越高。测试模板T和参考模板R之间的总体失真表示为D[T,R】。为了计算这一

失真,应从T,R中的每个对应帧之间的失真算起,假设聍,m分别为T,R中任意
选择的帧号,则这两帧之间的帧失真用D【丁(行)’R(肌)】来表示。 对于特征矢量之间的失真度,有多种度量的方法。为了简单和便于处理,通常 使用欧氏距离(欧基里德距离)或其变形来进行度量。

下面的公式给出了利用欧氏距离度量的失真度计算方法:


D[r(”),R(m)】=∑(‘一‘)2
n-!

(2?25)

其中,r(n)=[fl,,:,¨.,r,】和R(m)=“,,2,¨.,,P】为帧T(n)和R(m)对应的特征矢量,
P为特征矢量的维数。

计算总体失真D[T,R]时,需要考虑到两模板帧数是否相等的情况:
20

轮椅机器人语音识别、控制技术的研究

第二章轮椅机器人语音控制算法的理论摹础

(1)N=M,这时可以依次计算n=m=l,…,n=m=N各帧之间的失真并取和,
即可求得总失真; (2)N≠M,这时需要将其中帧数较小的模式用某种扩张的方法映射到帧数较

大的特征矢量序列上,然后再分别计算新的各帧的失真,从而求得总失真。 为了将不同长度的模式进行对准,而且尽可能小地引入误差从而达到最佳的效
果,可以采取动态规划(Dynamic Programming,DP)的方法。下面所要介绍的动态

时间规整(Dynamic Time Wraping,DTW)算法即是一种有效的时间对准算法。
2.4.2传统的动态时间规整技术(DTW)
考虑到语音识别的过程中,用户进行训练或者识别时,即使每次尽量以同样的方

式说同一个词汇,其持续时间的长度也会随机改变,而且每个词内部各个部分(比如 元音、辅音)的相对时长也是随机变化的。因此,如果直接用特征矢量序列的模式来 进行相似性的比较,其效果不可能是最佳的。需要对特征参数序列模式重新进行时间 的对准,动态时间规整(DTW)方法把时间规整和距离测度计算结合在一起,可以
有效地解决这个问题。 设测试模板T共有N帧,参考模板R有M帧,将测试模板和参考模板的帧号分 别在坐标系的横轴和纵轴上标出,则各个帧号之间的关系可以形成一个网格,网格中 的任何一个交叉点∽,坍)表示测试模板的第”帧语音特征矢量T(n)和参考模板的第m 帧语音特征矢量R(m)对应,并且拥有的帧失真度为D【r(疗),R(脚)】[t-3l,如图2.7所示。

动态时间规整算法即是要寻找一条通过各个交叉点的从起始点到终止点的最佳
路径。使得该路径上所有交叉点的帧失真度总和(总失真)达到最小。

第二章轮椅机器人语音控制算法的理论基础

轮椅机器人语音识别、控制技术的研究





图2.7动态时间规整(DTW)算法求最小失真

事实上,在上述搜索过程中路径的选择并不是任意的。首先,考虑到实际语音的 发音情况,虽然语音的发音快慢会有所变化,但是各个部分的先后次序不可能颠倒, 因此上述路径必然从左下角出发,终止于右上角;其次,为了防止盲目的搜索,一般 不容许向横轴或纵轴过分倾斜的路径,一般对路径中各点处的斜率的最大、最小值做 出规定,通常最大斜率为2,最小斜率为l,2,图2.8所示的外边框平行四边形说明了
DTW算法的搜索范围。

0rl,”』)

n,,所t)

∞f.1,川I-

(HI-I,”r

(a)DTW路径搜索 圈2-8动态时间规箍中的路径搜索
22

(b)路径限制

轮椅机器人语音识别、控制技术的研究

第二章轮椅机器人语音控制算法的理论基础

为了描述DTW路径上的网格点的关系,定义函数≯[(%,%)],表示路径上当前点

(吩,佩)的前一网格点。有等式关系≯【(啊,m。)】=(一-"脚。),其中(n。,M一。)为当前点的
前~点。对于该路径及路径上的点有如下约束条件: (I)路径通过起始点和终止点。
吩=f,f=1,2,.Ⅳ,

粥=1,rnN=M

(2)路径所通过的网格点必须在图2-8(a)所示的外边框平行四边形内。 (3)当前路径的斜率在最大值和最小值1/2~2之间。 如果当前网格点为(%,玛),则矽[(吩,M)]=(啊小啊一。)必须满足下列情况之一, 如图2-8(b)所示,有: (a)(一一l,,%.I)=(啊一l,肌,) (b)(啊一I,ml—1)=(吩一l,mt一1) (c)(吩一l,%一1)=(吩一1,mi一2)

定义路径代价函数为d【(一,玛)】,其意义为从起始点(no,mo)出发到当前点(n,,棚,)
的各帧之间的失真累积值,有如下递推公式: d[(珥,m,)】=D【,(■),R(,吩)]+d[(吩一l,mi—I)】 =D【r(啊),R(m。)】+min{d【(啊一l,,珥)】,d[(吩一1,聊,一1)】,d【(■一1,m。一2)】) dE(rzl,m。)]_d[1,1】=D[丁(1),RO)]


(2—26) 其中D[T(ni),R(m,)】为当前点(啊,矾)对应得帧T(n1)和R(m。)的帧失真, 饥(_+粥一.)】为前一点(啊+佩一1)的路径代价函数。

2.5本章小结
本章介绍了语音信号的数学模型及本文所提取的语音特征参数,这些特征参数直
接关系到语音端点检测和语音识别的精度。本章分别介绍了语音信号的前端处理技术

第二章轮椅机{|{}人语音控制算法的理论基础

轮椅机器人语音识别、控制技术的研究

和语音识别中的模板匹配技术,并探索了一种结合短时平均幅度和短时平均过零率的 “双门限分步端点检测算法”。这些都是第三章轮椅机器人声控系统的软件设计的理
论基础。

轮椅机器人语音识别、控制技术的研究

第三章轮椅秽I器人语暂控制系统设计

第三章轮椅机器人语音控制系统设计
本研究课题在苏州大学机电智能研究室提供的AS-R型研究版机器人的基础上进
行二次开发,实现对机器人的语音控制。本章将具体介绍轮椅机器人语音控制系统的 硬件结构、各个功能模块的作用、主体软件和接口程序段设计以及非特定人语音识别

模块的实现。

3.1轮椅机器人语音控制系统的硬件实现 3.1.1硬件系统的总体结构与基本配置
AS.R型研究版机器人采用基于工业的PC架构,集成WindowsXP操作系统和VC 开发环境。AS.R具有强大的计算能力,其基本配置是:CPU P4 2.8G,内存256M, 硬盘80G。从我们的测试看来,完全能够满足语音识别的计算要求。 机器人的控制系统采用的是一层开放式架构。其控制系统结构如图3-1所示:

图3-1一层架构的机器人系统结构图

在该系统中,没有专用的通信协议,所有的数据交换都是通过标准的协议来进行 的。由系统本身实时执行运动控制计算。对比目前很多机器人控制系统都采用的两层 架构(如图3.2所示)具有很强的扩展处理能力。

图3-2两层架构的机器人系统结构图

机器人语音控制硬件系统的总体设计框图如图3—3所示:

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

L—割AD转换卡l

≤,驻>
3.1.2运动控制系统的硬件实现

主机

倒运动控制模块

<二二二爿运动控制模块

图3-3机器人语音控制硬件系统的总体设计框图

AS.R型轮椅机器人为模块化结构,顶箱为传感系统,由于主板本身集成的音频 的输入和输出已经转接到上面板上,所以语音控制时可以直接利用它来进行语音信号
的拾取、输出。音频采集设备的最大采样频率为20KHz,满足所需的采样要求。机

器人有五个PCI槽,系统使用了其中的三个,分别是PSD测距卡(扩展A/D)、声纳 测距卡和运动控制卡。其中,运动控制卡在运动控制模块中起重要作用,运动控制卡 的PWM信号通过处理和转接输入到电机驱动器,作为电机驱动器的控制信号。通过 调节PWM信号的不同占空比来调节机器人的速度。编码器的信号作为伺服运动控制 的反馈信号,通过电机驱动器及转接板转接输入到运动控制卡中处理。运动控制卡的
I/O信号作为电机驱动的方向和使能信号。整个运动控制模块系统流程如图3-4所示
【3引.

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

图3.4运动控制模块系统流程图

机器人通过直流24V电池或24V外接开关电源来供电。电池通过机器人的前面 板转接到电源控制板。其中橙色电源线接电池正极,红色电源线接电池负极,蓝色电
源线为驱动器供电电源。如上面板的急停开关被按下,则驱动器电源被切断,机器人 停止运动。整个运动模块的电源布线如图3.5所示: 其中电源控制板的主要作用有: (1)控制ATX供电电源;

(2)控制电机驱动器供电电源; (3)提供电池充电及充电保护检测接口;
(4)提供调试外接电源接口; (5)控制外接电源和电池切换,并且防止切换时主机的重启; (6)具有电池电压不足声光报警电路,并且在欠压时切断电机驱动器供电电源,

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

采用双限比较电路防止电池欠压在临界点时电机驱动器供电电源的抖动 (7)具有防止供电电源反接的保护。

-……_……………_…-_一
图3-5运动控制模块电源线路图


机器人的电机驱动是通过一个网状的MOSFET管,即所谓的“H桥电机驱动器” 来调节电机旋转方向的。原理如图3-6所示:
正转 反转

Ht-A=I

HI—A=0

L0-A=0

LO..4.--1

图3-6H桥电机驱动原理

当HI.A、LO。B为高电平时,电机正转;当HI.B、LO.A为高电平时,电机反转。 如果驱动两轮的电机同时正转,机器人前进:反之,着两电机同时反转,则机器人后

退,一电机正转,一电机反转则机器人转弯。 其信号控制图如图3.7:

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计


一LO-A
..




正转

;}厂丽磊]; .,;——一 i:,一 L


o’I

:: 高电平使能



HI:兰 !!:!

_A

l l一:电平使能l ll i—


|久三≥、{|
图3.7电机驱动器信号控制图

墨竺

:.一一.一.一..........一.一::.一.一...................:

3.2语音控制机器人的主体软件设计
ASR轮椅机器人语音控制的主程序部分是用VC++开发而成的,实验机器人所提

供的ASR公开接口使作者可以把大部分精力都放在对机器人行为的策划方面,而不 用关心底层的技术。本节将首先介绍ASR轮椅机器人的开发方法,并在此基础上提
出机器人的运动控制算法。
3.2.1

ASR的开发方法

系统,设备,流程是开发ASR机器人所必须理解的三个核心概念。系统与设备

是抽象层次上的逻辑体,可以代表实际的物理实体,也可以是完成一个特定功能的功
能逻辑。系统代表机器人实体,它是设备的组合体,一个机器人只能拥有一个系统。

机器人本体所有的物理设备以及定制的逻辑组件都用设备来描述。流程是设备的容
器,由设备与其他辅助节点共同组成,管理流程内设备的生命周期,设备的资源,设 备的配置,设备运行时的控制等。系统管理设备与流程的部署,系统的状态控制,系 统的配置与错误逻辑[31,39]。 系统用符号CASRSystem表示,原型如下:
class

CASRSystem


public: //system management

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

static void

CASRSystem’GetlnstanceO;
stdcall

DestoryInstance0;

//device

management

HERROR__stdcall

CreatcDevice(LPSTR

pDevice,IASRObject+&rObject


,DEVICE_MANAGE nType
//state

FREE);

management stdcaU InitO;
stdcall

眦RROR
HERROR

Pause();

髓RROR
HERROR /isystem static

stdcall Rlm();
stdcall

End0;

management stdcall ShowErrorMessage(HERROR hError);
and destructor

HERROR

//constructor private:

CASRSystem0; CASRSystem(const CASRSystem&){}; CASRSystem&operator=(const CASRSystem&){return+this;}; virtual—CASRSystem0; ); ASR系统的局部功能逻辑由相应的设备来完成。它们通过暴露自己的接口开放自 己的实现功能。可通过QueryInterface查找接口,通过SetParam与GetParam来设置 和获得设备接口的参数。当不再使用该接口时通过Release来释放占有的接口。

设备之间的协调与交互通过数据流来体现的。数据流按照交互中扮演的角色分为 三种类型:输入数据流,输出数据流和本地数据流。用户可以通过IASRDevice获得 设备的三种数据流。通过将设备加入特定的流程,由流程管理设备以及设备的数据流。 每一种设备都被抽象为四种状态:DEVICE_RAW:原始状态,参数与数据流等
未初始化,DEVICE_INIT:设备已经初始化,DEVICE PAUSE:设备暂停状 态,DEVICE RUNNING:设备运行状态。用户通过Init,Pause,Start,End来变更设

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

备的状态。状态的变更如图3-8所示:

图3-8设备状态轮转图

设备是用来处理数据的,每个设备都可以配置数据流,数据流按照处理的动态流 向可以分为本地数据流,输入数据流和输出数据流三种。如图3-9图所示,设备2有

输入数据流、本地数据流和输出数据流1,其中输入数据流经过连接后共享设备l的 输出数据流,设备1的本地数据处理完成后check out,设备2得知设备l执行了check out动作后,将设备l的输出数据流check in到本地数据流,执行用户绑定的命令动
作后本地处理完成,也执行了check out动作。同样设备3也获知设备2处理完成, 将设备2的输出数据流check in到本地,执行绑定的命令对象,如此类推,设备间的 功能逻辑得以同步。保证了处理的时序。
设备1 输出数据流
_jo

设备2
/,

设备3

输出数据流 设备参数 状态 本地数据流 执行逻辑

设备参数 状态


check





check

0鼋

■o∞盎o



本地数据流 执行逻辑

,LJ研4节

I-A-J、

Ⅵ对象

,J命令 Ⅵ对象

图3-9设备运行期时序协调图

正如人通过身份来标识一样,每个设备都有自己的设备标识(以ASR_OID开头 的符号),每个设备根据不同的视角或不同的功能有不同的接口,每个接口也都有~ 个标志(以AsRJm开头的符号),可通过标志来创建设备和查询接口。

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识剐、控制技术的研究

本节所讨论的对机器人的运动控制包括对机器人的运动速度、运动方向以及运动 轨迹的控制。运动设备由电机驱动部分(电机、驱动器和减速器)、编码器反馈部分 和轮子组成。轮子通过左轮相关与右轮相关来区别,相应的标记为WHEEL LEFT和
WHEEL ASR IID

RIOHT。使用的运动设备标志为ASR—OID—MOTION,通过接口 MOTION来获取编码器数值以及进行基本的电机控制,如前进、后退、旋

转等。接口ASR—IID—MOTION_TRACK用于实现对机器人轨迹的控制,如走直线或
固定的角度等。

调用CASRSystem::CreateDevice函数来创建运动控制设备。IASRMotion调用
IASRDeviee::QueryInterfaee来查询并获取该接口。对运动的控制,主要是SetDirection、

SetSpeed、Start、StopMotor四个函数来完成。使用SetDircction函数来设置方向,然 后调用SetSpeed函数设置两个轮子的速度,再调用Start函数启动电机,开始运动。 最后,可以使用StopMotor函数停止运动。下面是它创建对象的方法:
IASRMofion+m..pMotion;
CASRSystem*m_pRobot;

//m明一个IASRMotion对像

,/声明一个系统对像
/,创建系统对像 //声明一个设备对像

m_pRobot=CASRSystem::Getlnstance0;
IASRDevice*pDeviee=NULL; m_pMotion=NULL;

m_pRobot->CreateDevice(”MOTION",pDevice):

//创建设备对像

/,查询该设备是否开放ASR—IID—MOTION接口,如果开放, /,则给m__pMotion赋值,否则返回错误信息。 lares=pDevice一>QueryInterface(ASR—IID—MOTION,(LPVOID+) &m/Motion); if(ASRFAIL(hres)) {
goto error_process;


intm nPeriod=100;

MOTION DESC

desc;

//参数信息
32

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

desc.wPeriod=m—nPeriod:

,/设置工作周期 //设置设备参数信息

m_pMotion->SetParam(desc);

m_pMotion->SetCallback(&CounterProc,(LONG)this);//设置回调函数 m_pMotion一>/nitO;

,/初始化设备环境

3.2.2语音控制机器人的算法实现
本语音控制智能轮椅机器人需要实现的主体功能有:非特定人的语音识别、机器 人的运动控制以及对系统运行时的设备、数据流的管理。由于系统主程序由vC++6.0
开发,而其中语音识别部分则是由MATLAB6.5开发的,所以还需要在主程序中开发 一个VC++与Madab的接口。考虑到上述的所有要求,给出总的系统流程图如图3.10 所示:

幽3-10语音控制机器套的总体算法流程图

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

从上图可以看出,轮椅机器人语音控制系统的算法流程是:首先创建代表机器人 实体的“系统”和代表机器人物理设备的“设备”。初始化相应参数之后,通过接口 程序段向非特定人语音识别模块发送语音识别请求。非特定人语音识别模块处理结束 后,又通过接口程序段读取语音识别结果。主程序判断识别结果并转入运动控制模块
控制机器人执行相应动作。

3.3

ASR轮椅机器人运动控制模块设计
ASR轮椅机器人的运动控制模块利用了ASR研究版所提供的库函数和接口。下

面将具体介绍运动控制模块的实现/30,33,491。
(1)包含系统库头文件 在MotionDemoDlg.cpp文件的开始部分(在#include“¥tdafx.h”后)加入下列代码:
#include”ASRSystem.h”

(2)库函数调用声明 在CmotionDemoDlg类中加入代码如下:
class CASRSystem; interface

IASRMotion;

protected: BOOL Void

BuildSystem0;//库函数初始化 DestroySystem0;,/库函数退出

private:

CASRSystem+m_pRobo://定义库系统指针
IASRMotion*
nl

pMotion;//定义库接口指针

enum{SPEED_VALUE=500};,/设置机器人的运动速度
(3)m..pRobot、m_..pMotion的初始化 初始化语句为:
m_pRobot m


NULL;

= noiNULL toMp_:

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

为了正确判别指针的有效性,初始化时m_pRobot、m_pMotion一定为NULL。

(4)运动模块
函数SetDirection0用于设置运动的方向,SetDirection(FORWARD)表示向前运动, SetDirection(BACKWARD)、SetDirection(CLOCKWISE)、Set.Direction(REVERSION) 分别表示后退,右转和左转。函数SetSpeed用于设定电机的转速。 SetSpeed(WHEEL_LEFT,SPEED_VALUE)表示设定左电机的运动速度, SetSpeed(WHEEL_RIGHT,SPEED_VALUE)表示设定右电机的运动速度。停止运动由 函数StopMotor来控制,语句为:


pMotion->StopMotor0;

以前进为例,其运动控制代码如下:
m_pMotion->SetDirecfion(FORWARD); m_pMotion->SetSpeed(WHEEL_LEFT,SPEED VALUE); m_pMotion->SetSpeed(WHEEL_RIGHT,SPEED—VALUE); (5)BmldSystem()和DcstroySystem0的实现代码

BuildSystem的作用是建立系统,并通过接口来创建和管理设备。首先,通过
CASRSystem::Getlnstanee获得一个系统实例,所有的设备都必须通过系统开放的接

口来创建与管理。
m_pRobot=CASRSystem::Getlnstance0;
IASRDevice+pDevice


NULL:

然后用CreateDevice方法创建运动设备: m_pRobot->CreateDeviee(”MOTl0N”。pDeviee); 调用ASSERT函数检查创建的设备对象是否有效, ASSERT(pDeviee): 再用QueryInterface查询设备开放的基本控制接口, pDevice一>QueryInterfaee(ASRjID—MOTION,(LPVOID+)&m_pMotion); ASSERT(m__pMotion); 最后用函数Init初始化运动设备
lares


m_.pMotion一>Init0



第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

DestroySystem的功能是在退出系统的时候,释放接口和系统资源,实现语句为 停止使用运动设备:m_pMofion一>Endot

释放基本运动控制接口:m_.pMotion->Release0;
系统清除占用的资源;m__pRobot->Destroylmtance0;

(6)程序结束 在OnDestroy中加入代码DestroySystem0使得系统退出时释放系统资源。

3.4

VC++与Matlab接口程序设计
Matlab是一种既可交互使用又能解释执行的计算机编程语言。它具有强大的数值

计算功能,同时又可以对多种动态系统进行仿真分析。利用Matlab不仅可以轻松的 完成数值计算、数据分析、数据可视化等工作,而且在编程效率、可读性、可移植性
和可扩充性上也远远优于其它高级编程语言[36,52,531。因此,本文的语音识别模块选择 在Mauab环境中开发。?

然而作为一种以解释方式运行的高级计算机语言,Matlab程序的执行效率较低。 为了解决这一问题,MathWorks公司提供了Matlab和c的接口。接口方式共有三种:
(1)将Matlab程序编译成MEX文件C或C+十文件; (2)在C,c++程序中利用Matlab Engine调用Matlab函数; (3)在C,C++程序中利用Matlab C Math Library或Matlab c++Math Library调用 Matlab函数。 其中通过方式(1)、(2)生成的程序只有在安装了Matlab的系统上才能正常运行, 而由方式(3)生成的程序则没有这样的要求,但是方式(3)的缺点是并不支持所有的 Matlab的函数而且生成的程序代码有些繁杂。 本论文采用方式(2)建立与C的接口。所谓引擎(engine),是指一组MATLAB提 供的接口函数,支持C和Fortran两种语言,通过这些接口函数,用户可以在C或Fortran

的应用程序中实现对MATLAB的控制。可实现的控制功能主要有:
(1)打开/关闭一个MATLAB对话; (2)向MATLAB环境中发送命令字符串;

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

f3)从MATLAB环境中读取数据; (4)向MATLAB环境中写入数据。

与其他接口方式相比,弓l擎提供的MATLAB功能支持是最全面的。通过引擎方 式,应用程序实际上会打开一个新的MATLAB进程,可以控制它完成计算和绘图操
作,对所有的数据结构提供100%的支持。直观的说,应用程序实际上是替代用户手 工敲击键盘的工作,自动地在MATLAB环境中输入命令,执行程序。

建立一个引擎对话,实际上是将MATLAB以AcfiveX控件的方式启动,应用程 序通过若干个接口函数,也就是引擎API函数,与该控件进行交互。 图3.11是在VC++中调用Matlab的接口程序流程图:

幽3-11

vc++与Matlab的接口程序流程图

在调用引擎的时候,必须先载入引擎的头文件--#include”engine.h”。

然后通过函数engOpen打开Matlab引擎,建立与本地Matlab的连接,接口函数
申明为: Engine+engOpen(const char+startcmd); 函数返回一个Engine类型的指针,该指针指向一个MATLAB对话的数据结构。 与Matlab连接后,通过函数engEvalString向Matlab发送字符串,让Matlab执行

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

命令,函数engEvalSlring申明为:
int

engEvalString(Engine+印,const char+string);

其中ep为事先用engOpen函数打开的engine的指针。函数返回0表示成功执行,
如果返回为1,说明ep对应的MATLAB engine已经关闭。如果MATLAB engine是 打开的,那么字符串的执行结果并不能从该函数的返回结果得知,而要运用 engOetVariable函数获得MATLAB WorkSpace中的变量名称及其变量值。函数 engGetVariable的申明为: mxArray+engGetVariable(Engine+ep,const char+name);

其中印为事先用engOpen函数打开的engine的指针,name为以字符串形式指定 的变量名。然后用mxGetPr函数读取mxArray类型的数组的实部。函数mxGetPr的
申明为: double+mxGetPr(const mxArray+array_ptr);

另外还有两个函数也是必需的,分别是函数.engClose和函数engPutVariable。函数
engClose的作用是关闭MATLAB引擎,其申明为:
int

engClose(Engine+印);

函数engPutVariable的作用是将C程序创建的数组写入到WorkSpace中去。

下面是作者编制的vC什与MATLAB接口程序段,从程序的注释中可以看出各
条语句的功能。
Engine+ep;

mxArray+WsV=NULL;
double+ExTpyeTemp;
int ExTpye;



if(!(ep=engOpen(NULL))) MessageBox(”不能打开matlab引擎”,”错误!’f'MB—0K); engSetVisible(ep,o);//隐藏matlab窗l:Zl

//执行matlab命令,进行语音识别
engEvalstring(ep,”cd(’d:/MATLAB6p5/work/realtime’);”); //指定工作目录

轮椅机器人语音识别、控制技术的研究

第三章轮椅机{|{}人语音控制系统设计

锄业valStriag(ep,"main;”):
engEvalString(ep,'’res=str2num(res);”); //在matlab的Workspace中提取所需的数据 WsV=engGetVariable(ep,"re¥”); ExTpyeTemp=mxGetPr(WsV); ExTpye=int(ExTpyeTemp[0]);

3.5非特定人语音识别模块设计
非特定人语音识别模块是整个机器人音控系统软件设计的核心部分。如前所述,
考虑到Matlab强大的数值计算和动态仿真能力,本模块选择在Matlab6.5环境中开发,

该语音识别模块主要由“语音信号预处理及端点检测”、“语音信号相似性度量”、“特
征模板训练”、“实时语音识别”几部分组成。

3.5.1语音信号的端点检测算法



在本文的2.3.3节中,作者探讨了一种语音信号端点检测的新思路,即“双门限
分步端点检测算法”。这种方法根据汉语的发音特征,结合“短时过零率”和“短时 平均幅度”两种语音特征参数,按由粗到精的过程分步检测语音的端点。由于语音发 音段的能量比无声段的能量要大的多,所以首先用短时平均幅度定位语音的大致位 置,又由于清音的过零率要远远高于无声段,所以可以在前一步粗分的基础上利用“短 时过零率”进一步准确确定语音起始点‘13,24,25]。


具体做法为:

(1)根据大量实验经验,先设一个较高的门限MH,MH的值一般定得比较大,这
样我们能够肯定短时平均幅度大于MH的部分(如图3.12中N’J点)一定是语音段, 而且很可能是浊音。 (2)第二步的目标就是较为准确的确定语音的起始点,主要是将清音和无声段分

开。此时短时平均幅度不再起作用,因为两者的能量都很小,唯一的区别是清音的过 零率远远的高于无声段。为此,确定一个过零率的阈值Z。…沿N’l点向前搜索,如
果过零率低于该阈值,那么认为这点Nl为语音的起始点。

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

由于汉语的音节结尾都是浊音,因此只用短时平均能量就能很好的判别一个词语 的终点。本文根据大量实验确定了阈值ML。从语音的末点向前反向搜索,一般当短

时平均幅度降低到该阈值后,就可认为该音节已经束。实际上截掉一点拖尾,也不会
明显影响识别处理。

图3.12是汉语“后退”利用“双门限分步端点检测算法”进行端点检测的结果, 其中Nl对应的第6帧为语音的起始帧,N2对应的第48帧为语音的结束帧。

图3-12双门限分步端点检测算{去

设average_m为语音的平均幅度:Zc为语音的单帧过零率;Zmin为过零率阈值; zcArray为求整个输入信号的过零率;max—m—section为整个语音信号中的最大平均幅
度:maxnum—dex为该最大平均幅度的对应帧号;begin_pointl为粗略的语音起始点; begin_point为精确的语音起始点;frarne_num为整段语音信号的帧长。 下面为该算法实现的程序段:
while n<frame_num t2=0.001:

%求过零率的门限制

average_m(:,n+1)=conv(abs(y1),戡
zc=zero_erossing(section,t2); zcArray(n+I)2zc;
n--n+1; end

%求每帧平均幅度 %求单帧过零率

max



section=max(average_m);%最大平均幅度

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

maxllunl

dex=find(average_m—max

m section);

%最大平均幅度的下标号

for h=l;maxnum_dex

if

average_m(h炉MH
begin._pointI=h;%粗略的起始点
break

end end

Zmin=zcArray(begin pointl)/I.2;
begin_point=begin_.pointl; for h=begin_pointI:-1:3

%设定的一个过零率阈值

ifzeArrayoa)<Zmin
begin_..point=h; break
else

%起始点

begin__poin忙begin_.point?1;
end end

for h=frame num:.1:maxnum dex

ifaverage_m(h)>=ML
end_point=h; break end end

%终点

图3.13为“双门限分步端点检测算法”的程序流程图

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

3-13“双门限分步端点检测算法”的程序流程图

图3-14为语音“后退”在端点检测前和端点检测后的对比。在端点检测前的原始

语音时长623ms,经过双门限分步端点检测后,时长399ms,端点检测的效果十分明
显。实验证明,只要闽值选的合适,通常背景噪声的低门限过零率值将明显低于语音

的低门限过零率值。在合适的阈值MH、ML、z“下,可以取得较好的区分作用。这 种方法可普遍用于有话、无话鉴别或词语前端检测。

42

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设汁

图3.14一段语音在端点检测前后的结果对比

3.5.2传统动态时间规整(DTW)算法的缺陷及改进 3.5.2.1问题的提出
在本文的第二章中已介绍了作为目前语音识别主流方法之一的传统的动态时间 规整(DTW)算法。这种算法相比随机模型或概率分析的方法来说,在技术上比较 简单。它作为一种有效的时间规整和语音测度计算方法,广泛的应用在孤立词识别中。
但尽管如此,它仍然存在一些缺陷,实验表明主要有以下几个问题[53,551: (1)传统的DTW算法要求两段语音的首尾必须对齐,这是动态规划所要求的,

但是语音识别不应使用端点对齐的限制条件,主要因为词首的爆破辅音和有词尾的元 音有时并不很清楚,甚至只作口型而不发音,这就使得把两次发音的头尾准确对齐显
得勉强。此外,首尾严格对齐的要求提高了对端点检测的精度要求,而在本文第2.3.3 节中已提到端点检测环节的微小误差就会对语音识别的结果产生很大的影响。因此必 须对此做出改进。 (2)即使采用MFCC参数作为特征参数,在端点检测正确率较高的情况下,用传

统的DTW算法识别率并没有完全达到预期的95%以上。本实验的研究表明,在待测 模板与参考模板的长度相差较大的情况下,往往出现两模板尾端“严重对不齐”的现
象。这是因为由于两次发音在能量、时常方面的差异可能导致两模板在匹配的过程中

出现“扎堆”,即待测模板中多帧与参考模板中同一帧匹配。运算的结果与期望值相

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

比有很大误差,因此必须做出改进。

(3)DTW算法是从两模板的起始点开始,最终点结束,寻找一条最佳的非线性规 整的路径,这就必然导致两个问题: (a)对于两个模式分别长为M帧和N帧,需要动态规划MXN次才能找到一条 时间规整函数,训练和识别的运算量相当可观;
(b)由于生成时间规整函数需要经MXN次动态规划,总的帧失真误差会比较 大。

(4)另外在小词汇量识别系统中,传统DTW算法是以整个单词为基本识别单位 进行训练和识别的,并没有考虑到单词的分段问题,因此浪费了单词中每个字的信息。 同时也使时间弯折函数曲线存在着潜在的不合理性。例如当待识模式之间的差别很小 时,如“左转”,“右转”两个词,只有“左”和“右”存在较小差别,这样如果用传 统DTW算法采用整个模式的匹配,因为搜索路径会受到以前路径的影响,其微小的 差别就很难在相似性度量时表现出来。这样传统DTW在识别相近词时就比较困难。
因此必须做出改进。

3.5.2.2对传统动态时间规整(DTw)算法的改进
鉴于上面提出的原因,本文对传统动态时间规整(DTW)算法进行了改进,并做 了相应的实验,改进主要针对以上提出的四个方面,现分别具体介绍如下:

3.5.2.2.1有导师信号的动态时间规整算法
导师信号也就是输入模板和参考模板之间可以事先确定的相关点,如果我们在模 板匹配之前就已知两模板之间存在着某些确定的对应点,也就是说时间规整函数
el(n,,码)】的某些点的值能事先得到,那么无疑可以利用这些先验知识(导师信号) 大大缩小DTW算法的搜索空间,有效地加快匹配速度。 例如,“后退”一词可以整体匹配,但如果能够通过某一方法找到“后”和“退”

的分界点,则模板匹配工作就可以在该分界点的约束下进行。实际匹配过程中,更重 视的不是语音信号的上述逻辑分界点而是其物理分界点。加入合适的导师信号不仅可 以提高系统的识别速度,还可以提高系统的识别率。 获取导师信号的方法很多,本文根据语音信号的时域特征,选择了语音的短时能

轮椅机器人语音识别、控制技术的研究

第兰章轮椅机器人语音控制系统设计

量作为判别依据,提出了一种新的单字切分方法。

一般来说,在一个单词的一次发音中,字与字之间会有短暂的过渡,把一次发音
过程放大可以发现,这个“过渡”段的语音信号的能量比前后发音段明显降低,大量 实验证明端点检测后语音信号短时能量的中部最低点与语音中音节切分点的误差只

在±l帧左右。图3.15是汉语“后退”利用短时能量参数作单字切分的效果图。

图3-15汉语“后退”的音节切分结果

从图3.15中可以看出,语音信号持续45帧,短时能量在中部第16帧达到最小 值。由于本系统的语音信号的采样频率为11.025KHz,帧长18.1ms,帧移1/2,所以, 帧数与采样点的换算关系如下: ∥一num=fix(1ength(y)一200/100)+l (3-1)

式中fr_num表示帧数,/h为取整运算,Y为经过预处理的的语音信号,length(y) 为它的长度。

由式(3一1)可知,短时能量的第16帧对应于语音的第154ms(s点处),确为语音
的单字分点。

利用上述方法计算出测试模板和参考模板的单字切分点对应的帧号,分别设为 仉,m,。则(仇,m。)就是确定的导师信号。以后无论训练还是识别阶段,在使用DTW
算法对两模板匹配时,都先验的规定动态时间规整函数必须经过点(R,豫)。实验证 明有导师信号的动态时间规整算法比传统动态时问规整算法的匹配误差小得多。
45

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

3.5.2.2.2结合放宽端点的监督式DTW算法
在3.5.2.I中已提到端点限制对DTW算法的不利影响,许多其它的论文和文献中

[7,151也提到各种放宽端点的DTW算法。又由于本文的研究对象是一个实时系统,因 此要求系统的运算开支尽量减小,
所以必须在保证系统识别精度的情况下减少匹配

运算量。结合上文提到的有导师信号的动态时间规整的思想,下面探讨了一种结合放 宽端点的监督式DTW算法。 这种算法以获取的导师信号为基础,以先验点(%,脚,)为起始点,把整个语音信号 的模板分为前后两段,两段模板分别使用动态时间规整算法,寻找最佳的匹配路径, 需要注意的是:该算法取消了传统DTW算法中对语音首尾严格对齐的要求,对于前 一段模板,允许匹配终了点在线段【(0,O),(0,w)】上,而对于后一段模板,允许匹配终 了点在线段[(M,N—w),(肘,Ⅳ)】上,也就是说某一次发音的第一帧可以和另一次发音 开始w帧中任一帧匹配。同样,最后一帧也可以与另一次发音的末尾w帧中任一帧
匹配。这样做的结果可以允许匹配终点的少量漂移,以便容忍不准确的端点检测所造 成的误差。结合放宽端点的监督式DTW算法的总体流程图如图3.16所示:
开始 载入待测模板和参考模扳

=二E
l初始化代价函数l

匦亟蛰应圈
● t

I获取待测样本与参l I考模式的导师信息l L—r————————————1一

获取前半段匹配值l


!一.,.L——一 l获取后半段匹配值
求和 获取匹配结果



图3.16本文DTW算法的总体流程图

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

其中前向DTW算法与后向DTW算法基本相同,区别仅在于前向DTW算法是向 前追溯的,而后向DTW算法是向后搜索的。现以前向DTW算法为例,对算法解释
如下: (1)初始化:

-=i(i=1…2。魄),%=l,m%=ms,
fD[r(1),R(1)】
饥。朋Ⅺ2
(”,肌)=(%,ms)

lo!。

{乏竺;i:趣为搜索的平行四边形范围

设定初始路径关系为(体,%),n=l,.,%,埘=l,.,ms (2)对于卢2,3…,‰,求讲(%,%)】和el(n,,m,)】:

(a)求所有可能的历,,满足限定条件;nt=i,且@,弼)∈R (b)遍历所有mJ,进行下列各步计算:
珥一I=nj一1,mi—I=argmin[d(nI十m)】,其中m=%,啊-1,mI一2 纠(q,%)】=(nt_l,mt—1) d【(吩,7琢)]=d【(九f_l,mf_1)】+D【丁(■),R(m,)】

(3)由d限,m,】即可以的路径的总失真。
(4)反向回溯。

3.5.3特征模板训练
前面介绍了关于模式匹配过程中的DTW算法。对于基于模扳匹配的语音识别系

统,无论在特征模板训练阶段还是在实时识别阶段,都需要用前面所提到的匹配算法
度量两模板间差异。对于非特定人语音识别系统,在训练阶段,必须由大量的语音数

据训练出非特定人的语音模型,建立特征模板库。在识别阶段,从通过语音采集设备
获取的实时语音信号中提取相应特征,同样使用前述改进型DTW算法,与特征模板 库中的模板比较,取最匹配的模板从而获得识别结果。

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

从这个过程中可以看出,识别的性能和特征模板的训练方式有很大关系,模板建
立的好坏将直接影响到匹配结果。一般来说,同一词汇重复朗读的次数越多、参与训 练的用户越多,识别越鲁棒,性能越好。

目前,基于DTW算法的模板训练方法,有偶然模板训练法、顽健模板训练法以 及通过聚类得到相应模板的方法。这些方法有各自不同的适用范围和优缺点,具体分 析如下【20t21j6】:
(1)偶然模板训练法

偶然模板训练法是针对特定人、小词汇表的识别系统,采用的一种简单的多模板 训练法。用户可以为词汇表中的每个词朗读多遍,每个词的每一遍读音形成一个模板。 在识别时,待识别语音的矢量序列用DTW算法分别求得与每个模板的总失真,然后
根据总失真的大小,判别其属于失真最小的那一类。

这种方法非常简单,但是由于语音的变化特性很大,而且训练时读音可能存在错 误,比如不正确的音联、错误发音等,因此这种方法形成的模板鲁棒性不好。
(2)顽健模板训练方法

这种方法是将每个词汇重复朗读若干遍,直到得到一致性较好的特征矢量序列。 然后将这些具有较好一致性的特征矢量序列在DTW路径上平均,从而得到最终的模
板。

这样得到的模扳显然比偶然训练法可靠,但如果每次的模板都由这样的模板表
示,则往往显得不够充分。当识别任务是非特定人时,这种问题更为突出。

(3)徘特定人识别的模板训练算法——聚类方法
对于非特定人语音识别,要想获得较高的识别率,就必须用多组数据进行训练,

以获得可靠的模板参数。目前常用的聚类算法是基于改进K均值的聚类算法(MKM)。 令Q为L个训练序列的集合,Q={五,X2,...,五,...,.玩),其中,每个元素蜀为某 特定语音的一次实现,即一次发音。每两次发音的特征矢量序列通过DTW算法计算 它们的失真占(Z,x,),即匹配距离,则可构成一个LXL的距离矩阵。聚类的目的是


将训练集Q聚成N个不同的类{q,f_1…2¨,Ⅳ),使fl=U∞,在同一类中的语音模

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

式比较相近。则每各类可以用其中的一个典型模式来代表,将其作为特征模板库中的 一个模板。

具体算法步骤介绍如下,其中用矿,表示了,个类别中的第i类,其迭代次数为七,

k=l…2 k?~号。为允许的最大迭代次数?用y(纠代表∞,y(姊可以是∞的形心,
也可以是CO的一个代表性的值。该算法依次递增地发现_,个类。算法步骤如下: 步骤(1)计算每两个发音特征矢量序列的距离,获得距离矩阵;同时记录各发音
间的匹配路径。

步骤(2)初始化,令,=1,k=l,i=l,硅。=Q,计算Q的聚类中心y(磷。)=y(Q)。 步骤(3)做最小距离分类:对每个训练模式蜀,/=l~2..L,根据最小距离准则归

入其中某个聚类,占(五,J,(瞄,))2船艿(五,y(《一));计算每一类∞Ⅳk的类内距离和
△:=∑万(而,y(吨)),五∈《。。 步骤(4)调整聚类及聚类中心:重新计算分类碗1及其聚类中心y(赡1)。

步骤(5)计算距离变化:f=垡去等。
步骤(6)做收敛性检验:满足下面3个条件之一,则执行步骤(8)。
3个条件是:

(a)当前分类不再发生变化,即对所有i=1…2。,,

∞筘1=《,

Co)k=‰;’
(c)距离变化小于一个预设的门限值厶,即 f<乞? 步骤(7)做类分裂。将具有最大类内距离的类分成两类。分裂方法为找出类内的 两个元素一。和置:,使万(蜀。,五:)≥艿(五,,互。)。式中蜀,和五。是类内任意两元素。 这样墨。和蜀:作为两个新的聚类中心取代原聚类中心。J变为p1,重新设拓1,转至

49

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

步骤(3)。

步骤(8)记录,个聚类结果,如果结果收敛,则得到,类赡1及其聚类中心_),(哎。)。
通过对上述算法的分析,发现存在如下几点不合理之处: (1)在程序执行之前就人为规定最大迭代次数k。,并以此作为算法是否继续执 行的依据并不合理,因为一般来说程序的迭代次数无法确知,对不同的训练集,迭代 次数也会不同步骤。 (2)步骤(7)中把匹配距离最大的样本五.和五:作为两个新的聚类中心也存在潜
在不合理因素,如图3.17。

蜀l囤。?

‘?;::?..;_.
● ● ●● ●●’●



@蜀:
图3.17各样本的特征矢量在状态空间内的表示

图中用黑点表示各个样本的特征矢量在广义空间中的位置,设用方框和圆圈标出 的两个样本(设为蜀.和五:)间的失真最大,但如果以此两样本为新的聚类中心显
然是不合理的,因为他们不足以代表类中其它元素,特别当训练样本库中因环境和发 音的原因存在一些不合理的干扰样本时,这种情况尤为明显。可能会误把干扰样本作 为聚类中心,这对语音识别的精度影响是很大的。

(3)初始化聚类中心y(舛.)设为训练集的质心,实验证明效果并不尽如人意。
本文针对常规MKM算法的以上缺陷,借鉴MKM算法中的合理思想,尝试了一

种新的模式聚类方法(BGW&CTC)。这种算法同样是针对有时序关系的谱特征序列,
而不是维数固定的模式。其核心思想与上述方法相同,是通过对大量语音样本的聚类 训练,把训练集聚成N个不同的类。在同一类中的语音模式比较相近,而不同类中 的语音模式距离则相差较大。对于聚类中心的选择问题,本算法使用BGW聚类和

CTC分类的方法,尽可能的保证“同一类中的语音模式比较相近,不同类中的语音

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

模式距离则相差较大。”的原则,算法依次递增地发现/个类,即,从1逐渐增加到 矗。,L。有算法中的准则自动确定。 BGW&CTC聚类算法由BGW聚类和CTC分类两部分组成。其中BGW聚类(Big
Group

Win)表示优先挑选具有最多类中元素的集合作为一个聚类。CTC分类 Classify)表示通过与已产生的聚类中心作相似性度量后,把样本分

(Compare Then

类。BGW&CTC聚类算法流程图如图3.18所示:

图3.18非特定人识别的聚类算法流程

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

对上面的算法步骤解释如下:

(I)计算每两个发音特征矢量序列的距离,获得距离矩阵;初始化各参数,令卢1, J为整个训练集包含的样本个数,Doc是聚类后两类中心距离的阈值,countl,count2
为程序的循环计数器,初值为1。 (2)做BGW聚类,即:

(a)做最小距离分类。对每个训练模式五,f_l,2,.L,根据类半径包含准则
为其标上索引i,使蜀∈q。

类半径包含准则为矿占(墨,五)<Dset
then Z,∈q

i_1,2,...j;l=1,2,...,

其中Dset为预设的,由实验确定的类半径。
(b)Big


Group

Win,即优先挑选具有最多类中元素的集合作为一个聚类。

以2%,length(co。)=m。ax,(1ength(£v.))(3-2)
(c)检查聚类比是否满足附加条件(附加条件将由程序自动添加)?满足就 继续求聚类儿的中心;否则,从训练集中删去这个聚类,重新转至(b)。 参考MKM算法在该聚类中找一个代表,使到它的距离小于某一门限的元素个数
最多,这个代表就是聚类中心。门限值一般选为q=口+O.5正,其中盯,q分别为

J(一,瓦)(置∈q,以∈q)的均值和方差。

_-—LALl_o-I),羔,羹毗矧

(3.3)

蠢2丽I可,羔,缸蜀矧-_2
数,则以它们子类中的均值为判别准则。

(3.4)

如果类中有两个或两个以上的元素拥有同样多小于同一门限距离的邻居个

(3)记录并更新聚类以,聚类中心cen。从整个训练集中删去儿中包含的样本,
剩余集记为set。

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

(4)做CTC分类,即; (a)初始化各参数,令f-1,J为剩余集s甜中文件个数,D—CS是j甜中文件 与上个聚类的聚类中心间距离的阈值。 (b)根据阈值D cs把Jgf中文件分为两类,如果文件与上个聚类的聚类中心 间距离d甜<D∞,文件添加入near集合,否则添加入^驴集合。 (5)对far集合中文件按照上述步骤聚类,直至far集合中元素个数小于等于2。 (6)做收敛性检验。当满足countl>2时,表明对扫,集合中元素的聚类已结束, 此时添加附加条件d_cc(O<D co,D_cc表示经BGW聚类后得到的新的聚类中心与

原先各个聚类中心距离的阈值。附加条件保证了各聚类间存在一定的差异性。并对
near集合执行上述各步骤。当count2>2时,表明对所有元素都进行过聚类,聚类结 束。 图3.19,图3-20分别是CTC分类算法流程图,BGW聚类算法流程图,。

图3.19 CTC分类算法流程图
53

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

图3-20 BGW聚类算法流程圈

轮椅机器人语音识别、控制技术的研究

第三章轮椅机器人语音控制系统设计

3.5.4语音实时识别算法
如图3.21所示,在从大量训练样本中提取特征参数建立样本库,并通过上述聚类 算法从样本库中训练好聚类中心(即参考模板)后,语音识别模块的前期准备工作就 已全部完成,可以进行实时识别。

在实时识别时,系统通过麦克风拾取外界语音,经同样的前端预处理后,提取出 实时语音信号的特征矩阵。送入实时识别模块。需要说明的是,在本文的识别环节中,

实际上并不把待识别语音的特征矩阵直接与参考模板库中的模板比划12】。判别过程实
际分为两步:粗糙比较和精细匹配阶段。在第一阶段识别中,用粗糙的方法将输入量 与每一样本进行比较,从中滤除一些相差较大者;在第二阶段中,将输入量与剩余样
本进行精细的比较。这种分阶段判别方法的好处是:可以大大减少判别时间。在运算

量比较大的识别系统中,这种方法的优势尤为明显。
拾取语音信号

对实时语音信 号作前段预处理

特征提取

num++;与全部模式 库内参考模板匹配 粗糙匹配 获取匹配结果剔 除不合格模式库



J rltlrn++;与剩余模式

—1库内参考模板匹配

精细比较

、1Il●Lrj、Il0\,|●Ij
获取匹配结果 圈3-2l语音实时识别环。1,的程序流程图

第三章轮椅机器人语音控制系统设计

轮椅机器人语音识别、控制技术的研究

图3.21是语音识别环节的程序流程图,其中印毋为切分出的语音信号的声母段 帧数,据实验统计一般为l一3帧。由于语音的声母段帧数远小于整段语音的帧数,且 本系统的5条命令的声母互不相同(分别为[q】,[hi,【z】,[y】Y,[t】),所以在粗糙匹配 阶段基本可以有效滤除一些差异较大的模式库的干扰,且计算量很小、运算时间很短。 由于只需再对滤除后的模式库做模式匹配,因此精细比较阶段的计算量也明显减小, 可以保证系统实时性。图3.21中勋.疗姗l代表时是语音全部有效段的帧数。

3.6用户界面设计
本语音控制智能轮椅机器人的主体程序由Vc++6.0开发,其中内嵌了语音识别模 块。考虑到残疾人使用的方便,用户界面设计应尽量简单。因此系统的电机控制模块、 语音录入模块、预处理模块、模板训练模块,识别模块都隐入后台。用户开机后,只 需要打开应用程序,点击“启动”按钮即可。语音录入模块自动通过话筒实时连续录 入词语,通过声卡实现语音的数字化采样等一系列工作。系统的界面见图3-22:

幽3.22语音控制智能轮椅机器人操作界面

3.7本章小结
本章首先设计了语音控制系统的主体框架,对其中的运动控制模块、接口程序、

和非特定人语音识别算法进行了剖析。文章分析了传统DTW算法的缺陷,提出了解 决方案,之后对语音特征矢量的提取与形成,模板聚类算法、识别算法的原理及应用
进行了深入探讨。

轮椅机器人语音识别、控制技术的研究

第四章实验测试及结果分析

笛叩軎霄砼测;卉B硅里△士戽 .布I:-=-羊7写叫!:L∥i1,^~‘,‘.;l--t/l、,J’11


4.1实验设计与文件格式
在前面几章介绍了音控机器人的硬件结构和算法实现之后,本章将测试ASR音 控轮椅机器人的执行效果和对非特定人语音命令的识别能力。为此设计了如下几个实 验对语音识别模块的几个关键环节进行测试,同时给出传统模板匹配识别算法下语音
识别的测试数据,与之做一比较。这几个实验分别是: (1)语音端点检测测试;

(2)“结合放宽端点的监督式DTW算法”的测试及其与传统DTW算法在模板匹
配过程中的效果对比; (3)模板聚类算法的测试及其与MKM聚类算法的效果比较;

(4)识别算法测试及结果分析; (5)轮椅机器人语音控制系统的整体运行情况测试。 在第三章中已介绍了系统的实验平台和各个模块的组成。在语音识别模块,取语 音帧长约为18ms、采样频率11.025KHz、帧移1/2,即上一帧与下一帧间重叠100点。 分别用12阶MFCC及其一阶、二阶差分作为特征矢量建立系统。机器人在非特定人
语音命令下执行“前进”、“后退”、“左转”、“右转”、“停止”动作。因此待识别语音 类型数为5。 算法模拟所用的数据是实际的语音信号通过麦克风,经计算机声卡采集而获得 的,以“.WaV”文件的格式存储在数据采集存储区中。取约50人的发音,每个人对 每组词发音3遍构成训练模式库。提取训练模式库中的样本的特征参数后以“.mat”

文件的格式保存在“特征样本”存储区中,等待后继训练。

4.2语音端点检测测试
在前面己说过,DTW识别算法在很大程度上依赖于语音的端点检测,由此可以
看出端点检测在识别算法中的重要性。下面就对语音端点检测算法的效果进行测试。 从存放的语音模板库中分别抽取“前进”、“后退”、“左转”、“右转”、“停止”五

个命令的样本进行测试,测试结果如图4-1所示,其中a,b,c,d,e五个语音波形图分

第四章实验测试及结果分析

轮椅机器人语音识别、控制技术的研究

别对应“前进”、“后退”、“左转”、“右转”、“停止”等五个命令。各图中,上图是原 始的未经端点检测的语音信号,下图是端点检测后的有效语音段。使用的是第五章中 探讨的“双门限分步端点检测算法”。 从图中可以看出,端点检测的效果非常明显。经端点检测后得到的有效语音段时
长比原始语音段时长大大减少。仔细观察检测的效果图,可以看出,端点检测时搜索

到的有效语音段的起始帧,结束帧与原始语音段的起始帧,结束帧吻合的较好。说明 本文提出的“双门限分步端点检测算法”具有较好的检测精度。此外,该算法对“前 进”、“后退”、“左转”、“右转”、“停止”五种语音均有较好的检测效果。说明“双
门限分步端点检测算法”具有一定的通用性。

图4-I(a)

图4-I(b)
58

轮椅机器人语音识别、控制技术的研究

第四章实验测试及结果分析

图4-1(c)

图4-1(d)

第四章实验测试及结果分析

轮椅机器人语音识别、控制技术的研究

表4.1则记录了在进行端点检测时搜索到的有效语音的始末帧的序号以及语音的
原始帧数。
表4.1端点检测前后语音帧数对比
起始帧号


结柬帧号 147 138 135 160 149

服始帧数

82
73 72 98

238 257
222







257 232

89

4.3“结合放宽端点的监督式DTW算法”测试及其与传统DTW算法的效
果比较 在本文3.5.2.2.2节中,详细介绍了在传统DTW算法基础上改进后提出的“结合
放宽端点的监督式DTW算法”。在运用DTW方法进行模式匹配时,放宽始末端点可 以减小端点检测环节可能存在的微小误差对模式匹配环节的影响。而对于输入模板和
参考模板来说,单词间字的分割点是可以事先确定的相关点,通过3.5.2.2.1节介绍得 相关技术在模板匹配之前就可以确定这个的对应点,即事先得到了时间规整函数

舛(■,%)】的某个点的值作为导师信号,用以监督时间弯曲函数的生成。这样既能大 大缩小DTW算法的搜索空间,有效加快匹配速度,又能避免可能由于累积帧失真误
差导致的匹配误差,使时间弯曲函数更加合理。

下面的实验将从语音样本库中分别抽取“前进”、“后退”、“左转”、“右转”、“停 止”五个命令各3个的样本,分别使用“传统DTW算法”和“结合放宽端点的监督 式DTW算法”对每一类样本的3段语音进行模式匹配测距,测试结果分别示于表4—2, 表4.3。其中a,b,c,d,e分别对应“前进”、“后退”、“左转”、“右转”、“停止”五个
命令。

60

轮椅机器人语音识别、控制技术的研究

第四章实验测试及结果分析

表4-2使用“传统DTW算法”的测试结果
语音样本1.2问失真度


语音样本1,3间失真度 0.499 1.576 2.130 3.133 0.933

语音样本2,3间失真度 1.884 5.744

2.821 5.707 5.351 1.033 1.634




1.696
5.801 3.026




表4-3使用“结合放宽端点的监督式DTW算法”的测试结果
语音样本I,2闻失真度


语音样本1,3问失真度 1.062 0.276 0.155 0.881 O.231

语音样本2,3间失真度 0.913 O.187 0.582 2.115 O.183

0.128 0.248 0.752 0.497 0.334







从表4.2,表4.3可看出对于提取的“左转”命令组中的第一、第三个样本而言, 使用传统算法算出的失真度是使用改进型算法算出的失真度的14倍。对于其他命令 组中的任意两个语音样本,采用传统DTW算法得到的失真度都明显比采用“结合放 宽端点的监督式DTW"算法”得到的失真度要大。这说明在没有导师信息的情况下,
动态时间归整的误差比较大,因为此时样本匹配时从起始帧开始的,如果匹配过程产 生误差,极可能使匹配路径偏离语音段中单字的分割点,并且这种误差将随着匹配过 程的深入而积累。因此在匹配结束时,整个模板的失真度较大。

4.4聚类算法测试及其与MKM聚类算法的结果比较
大量实验证明,由大量训练样本得到的参考模板是否具有代表性,模板之间是否 有较明显差异,对识别结果影响甚大。而参考模板就是通过聚类算法得到的各个聚类

的聚类中心,因此有必要对聚类算法的效果进行考察,下面拟比较常规的MKM算法
和本文提出的BGW&CTC算法进行测试,并对比较的结果进行分析。



第四章实验测试及结果分析

轮椅机器人语音识别、控制技术的研究

定义变量;(见式(3.3))表示子类内距离的均值;变量d
中心间距离


cc表示聚类后各聚类

cc=占(】c口。(』),)屯。(/))

f≠_,

(4-1)

显然在模板数相近的情况下,盯越小表示子类内差异越小,类的划分越细致;而


cc的值越大表示,类间差异越大,相互干涉越小。而聚类的目标就是使子类内差

异尽量小、类间差异尽量两大。 表4-4(a)一4-4(e)分别为对“前进”、“后退”、“左转”、“右转”、“停止”五
个命令在MKM算法和BGW&CTC算法下聚类的效果进行测试并比较。其中D CC 是由d cc组成的矩阵,行和列分别对应着表中聚类中心的顺序,因为任一模板与自

身的匹配失真度为0,任两个模板间的匹配失真度不会因比较的先后次序而不同,所
以D Cc是以0为对角线元素的对称阵。
表44(a)对“前进”语音的聚类效果比较




MKM算法
BGW&CTC算法

72.713 0.547

10.326 0.764

2.974 0.983

183.098 0.3 81

5.223 /

MKM算法



585.221 0

630.477 94.971


637.049 0.253 450.567 O

538.547 428.129 0.306 613.194 0

D CC

BGW&CTC算法



29.354 O

1003。40l 321.67l O

1002.401 817.309 717.07l 0

表4-4(b)对“后退”语音的聚类效果比较



MKM算法 BGW&CTC算法

14.092
0.331

39.808 0.664

2.868 0.301

2.305 0.516

89.208 ,

轮椅机器人语音识别、控制技术的研究

第四章实验测试及结果分析

h斤V^斤管to,r.

‘0

2.1 15 0

0.281 1.038 0

0.393 465.671 0.319 0

168.510。 1011.101 710.771 196.851 O

D CC

BGW&CTC算法



24.278 0

1.740 1020.3 14 O

670.07l 278.553 1215.912 O

表4-4(c)对“左转”语音的聚类效果比较




MKM算法 BGW&CTC算法 MKM算法

0.523 0.416

73.912 0.776

0.825 0.771

2.191l ,

3.82l /



O.772 0

2.274 725.53l 0

2.194 2.474 16.612 0

0.250 0.290 763.311 2.264 O

D CC

BGW&CTC算法



452.794 0

0.244 2.495 0

表4-4(d)对“右转”语音的聚类效果比较




MKM算法

5.47l

10.815

14.359

BGW&CTC算法

0.593

0.649

0.923

MKM算法



2.11l O

0.315 1.629 O

第四章实验测试及结果分析

轮椅机器人语音识别、控制技术的研究

D CC

BGW&CTC算法



25.429 0

30.555 459.347 0

表4-4(e)对“停止”语音的聚类效果比较




MKM算法
BGW&CTC算法

1.0lO 0.594

21.567 0.785

24.807 0.562

7.520

1.142 /

MKM算法



491.292 0

0.574 86.789 0

0.469
1.209 0.531 0

0.358 1.053 0.922 0.695 0

D cC

BGW&CTC算法



424.061 0

0.266 1.619 0



通过上表的比较可以看出,显然无论是子类内距离的均值,还是聚类后各聚类中 心间距离,BGW&CTC算法都比MKM算法得出的效果要好的多。这对正确识别率
的整体提高意义重大。

4.5识别算法测试及结果分析
本实验将采用3.5.4节中提出的分层识别算法,取约50人的发音,由每人对每组
词的3遍发音构成的语料库作训练模式库。参考模板训练成功后以“.mat”文件的格 式保存在“参考模板”存储区中,测试时分别以训练集中的750个样本和2名男性、 2名女性对5条命令的10次(共计200次)实时发音进行检测。实验结果见表4-5~ 表4.6:

\结果 \
前进

表4-5对训练集中样本的识别效果测试 对训练集中样本的识别结果

输入命令\

正确率
96.5%

参考模板个数


轮椅机器人语音识别、控制技术的研究

第四章实验测试及结果分析

j吾{艮

92.3% 93.2% 93.5% 95.2% 表4-6对实时发音的识别效果测试 对实时发音的识别结果

4 3 3 3

左转 右转 停止

\结果 \
前迸 后退

输入命令\
左转 右转 停止

正确率
95.0%

参考模板个数
4 4 3 3 3

91.2% 89.1% 90.7% 95.3%

从实验结果来看,本文的识别算法对训练集中的样本以及不同人的实时语音命令 都能较好的识别,由于模板的个数不多,识别的响应速度较快。

4.6轮椅机器人语音控制系统整体运行状况测试
本实验是对本次研究结果的最终测试,检验本文的设计方法是否具有应用价值, 最直接的就是看机器人的整体运行状态如何。实验选择1名女性、3名男性对机器人 进行随意的语音控制测试。实验表明,机器人对5条语音命令均能做出较好反应。

4.7本章小结
本章首先介绍了用于测试的数据格式,之后着重对语音端点检测、模板聚类、语
音识别算法、轮椅机器人语音控制系统的整体运行状况进行了测试,并就产生错误的

原因作出分析,最后得出结论,受识别算法的限制,在正常发音的情况下,可以得到
比较好的结果;而在说话语速过快或过慢、说话中有明显停顿、说话音量过低时,往 往容易出错。系统在以750个样本训练,以2名男性、2名女性实时发音检测时能作 出较好的反应。

第五章总结与展望

轮椅机器人语音识别、控制技术的研究

第五章总结与展望
5.1本论文的工作总结
本文的研究目标是轮椅机器人语音控制系统的实现以及非特定人汉语孤立词识
别算法的性能优化探讨,这些为将来要开发的更复杂的基于多传感器与多信息融合智

能机器人内核及非特定人语音识别芯片寻找核心算法。 因为语音控制的基础就是语音识别,所以本文从理论上具体研究了一些语音信号 的特征提取和识别方法,以苏州大学机电智能研究室提供的ASR机器人研究版为实 验的硬件平台,通过Matlab仿真和实验加以验证。本文的研究工作包括如下内容:
(1)编制机器人音控系统的主程序。主程序的主要功能是:

(a)对系统运行时的设备、数据流的管理; (b)对机器人行为的规划; (c)机器人的运动控制模块的实现;
(d)设计主程序与语音识别模块的接口,并通过该接口程序段调用非特定人 语音识别模块。

(2)对经过预处理后的语音信号进行端点检测。端点检测充分应用短时平均幅度
和短时过零率这两个短时信号参数,采用“双门限分步端点检测算法”进行。实验证 明该算法可以较好地检测出语音信号的端点。

(3)对语音信号进行特征提取。Mel频率倒谱系数反映了入耳的听觉特征,它的
性能及其鲁棒性是目前常用特征参数中最好的,因此本文以MFCC及其一阶、二阶 差分作为语音信号的特征矢量。 (4)分析了传统动态时间规整(DTW)的固有缺陷,提出了一种“结合放宽端点

的监督式DTW算法。这种算法以获取的导师信号为基础,把整个语音信号的模板分 为前后两段,分别使用动态时间规整算法;该算法取消了传统DTW算法中对语音首
尾严格对齐的要求,允许匹配终点的少量漂移,以便容忍不准确的端点检测所造成的

误差。具有较小的匹配误差和一定的鲁棒性。 (5)对训练模板库中模板聚类。分析了常规的MKM算法的潜在不合理性,提出 了一种BGW&CTC聚类算法。这种算法针对有时序关系的谱特征序列,而不是维数

轮椅机器人语音识别、控制技术的研究

第五章总结与展望

固定的模式。尽可能的保证“同一类中的语音模式比较相近,不同樊中的语音樽式刚 相差较大”的原则。 (6)针对汉语语音识别中的模糊音问题,在模式识别部分引入分级识别技术,提

高了系统分辨模式识别细节的能力,并有助于提高系统的实时识别能力。 (7)对识别算法进行测试比较。为了有效地验证算法的可行性与软件性能。算法
测试时分别以训练集中的750个样本和2名男性、2名女性对轮椅机器人常用的5条

命令的10次(共计200次)实时发音进行检测。从实验结果来看,本文的识别算法 对训练集中的样本以及不同人的实时语音命令都能较好的识别,由于模板的个数不
多,识别的响应速度较快。 由于实验条件有限,研究时间较短,本文的算法并没有处于国内外领先的水平。 但是,总体思路及设计是正确可行的,可以为将来进一步探索和产品成形打下了基础。 这也是本文的研究意义所在。


5.2本文工作的展望
如前所述,本文设计并实现了轮椅机器人语音控制系统,基本达到了实用性的
要求,但限于多方面原因,该项工作还有待于进一步优化与完善。

(1)目前机器人是三轮运动方式,可以改进运动方式,变成四轮运动或履带式,
这样可以得到更高的稳定性。如果增大驱动电机功率,可以使机器人在地形路面比较 复杂的情况下行驶,完成更复杂的运动功能。

(2)目前研究的轮椅机器人运动只能执行常用的五种简单动作。未来可以改进运
动控制算法,使机器人的运动具有自适应性,和模糊性。 (3)语音识别系统的环境适应性还不够,即待测语音和训练语音要在相同的环境 中获得,否则系统识别率会下降。未来可以考虑采用~种基于最小均方误差自适应滤 波原理的最优化语音信号噪声滤除技术。另外可以考虑增加语音特征的耐噪性,以提 高系统的噪声鲁棒性。

(4)如果要将本系统开发成DSP芯片,则需要采用适合于DSP的优化语音识别
算法。

参考文献

轮椅机器人语音识别、控制技术的研究

参考文献
[1]赵力编著.语音信号处HEM].北京:机械工业出版社,2003. r2]蔡莲红,黄德智,蔡锐.现代语音技术基础与应用[M].北京:清华大学出版
社,2003.

[3]韩纪庆,张磊,郑铁然.语音信号处理【M】.北京:清华大学出版社,2004. [4]杨华民,姜会林,李平.基于神经网络的语音识别技术应用研究[J】.计算机
应用1997年第9期8.10

[5]余小清,万旺根.基于二阶差分耳蜗模型的语音识别新方法[J】.
报2000年18卷1期80-84

应用科学学

[6]张焱,姜惠春,黄志同.隐马尔可夫模型和动态时间规正统一框架下的汉语全 音节语音识别研究[J】.
声学学报V01.23,No.6
Nov.1998 555—563

[7]姜天辰,夏仁平.放宽端点限制的DTW法用于孤立词识别[J].
与应用1998年02期56.57,66

计算机工程


r8]刘福才,王冬云.语音识别技术及其在控制领域中的应用研究(一)们.可编
程控制器与工厂自动化2005年11期6.10 F9]刘福才,王冬云.语音识别技术及其在控制领域中的应用研究(二)[J].可编 程控制器与工厂自动化2005年12期6.8,9l

[10]杨培根,轮椅与机器人[J】.机器人技术与应用1994年01期25-28 [11]王成友,梁甸农,孔铁生,陈辉煌,唐朝京.自动语音识别技术评述【J】.声学
与电子工程1996年03期15.21


[12]罗智增,蒋静坪.机器人感觉与多信息融合【M].北京:机械工业出版社,2002.

[13]王宏编著.MATLAB 6.5及其在信号处理中的应用【M】.北京:清华大学出版
社,2004.

[14](美)Michael J.Young著.邱仲潘等译.Visual c+十6从入门到精通【M】.北京:
电子工业出版社,1999.

[15]何湘智.语音控制的应用研究[D】.湖南:国防科技大学,2002.
[16]张海洪,谈十力,龚振邦.全方位越障机构的设计[J】.机械设计与制造工程,

轮椅机器人语音识别、控制技术的研究

参考文献

2000.Vol 29(3).12—13

[17]夏伟.移动机器人控制系统研究[D].杭州:浙江大学,2003. [18]赵小建.智能轮椅定位与导航【D].北京:中国科学院自动化研究所,2001.

[19]李晓霞,王东木,李雪耀.语音识别技术评述[J].计算机应用研究,1999,(10):
l-3.

E20]董俊,分布式语音识别技术研究[D】.南京:南京邮电学院,2003.
[21]Yoshimasa Yanagihara,Takao
Kakizaki,Kenichi Arakawa,Yoshinori Isoda.A

multimodal teaching advisor for sensor-enhanced robotic systems in manufacturing

【J】.Robotics and Computer-Integrated Manufacturing,1998(14):263-273. [223
Tascillo A,Bourbakis N.Neural and Transactions
n on

fuzzy robotic hand

control[C】.IEEE
1999


Systems,Man,and

Cybernetics,Part B:Cybernetics,

29,

5,636.641.

[23]'Pires,Q,Nunes,U.A


wheelchair steered through voice commands and assisted by

reactive fuzzy-logic

controller[J】.Journal

of Intelligent

and

Robotic Systems:

Theory

and Applications,V 34,n

3,July 2002,P 301—14. intelligent

124]Luo

Pen C,Chen Tse Min,Hu control of

Chi-Yang,Hsiao,Zu Hung.Adaptive
wheelchairs by Grey--Fuzzy

assistance

electrical

decision--making
on

algorithm[C].Proceedings—IEEE
Automation,1999,v 3,2014—2019.

International Conference

Robotics and

1-25]8卢玮,语音信号中情感信息的分析和处理的研究【D】.江苏:东南大学,2002.

[26]王佳庆,通用机器人单片控制器【D】.江苏:苏州大学,2001. [27]迟艳玲,机器人语音控制及人一机交互系统的实现[D].北京:中科院自动化
研究所,2002.

[28]张海名,对话型轮式移动机器人[D】.北京:燕山大学,2003.
E293薛均义,张彦斌,虞鹤松,樊波.凌阳十六位单片机原理及应用[M】.北京: 北京航空航天大学出版社,2003. [30]王炳锡.语音编码【M].陕西:西安电子科技大学出版社,2002. [31]雷思孝,李伯成,雷向莉.单片机原理及实用技术【M].陕西:西安电子科技

参考文献

轮椅机器人语音识别、控制技术的研究

大学出版社,2004.

[32]李晶皎.嵌入式语音技术及凌阳十六位单片机应用【M】.北京:北京航空航天
大学出版社,2003. [33]AbhijitS.Pandya,RobertB.Macy.神经网络模式识别及其实现【M].北京:电 子工业出版社1999.

[341张成海,张铎.现代自动识别技术与应用【M】.北京:清华大学出版社2003. [35](美)L.R.拉宾纳,R.W.谢弗.语音信号数字处理[M】.北京:科学出版社1983. [36]李强,赵伟.MATLAB数据处理与应用[M】.北京:国防工业出版社2001. [37"1能力风暴智能机器人研究版AS.R操作手册上海广茂达伙伴机器人有限公司. [38]www.grandar.com/ [39](荚)John
G Aekerthusen著.实时信号处理【M】.北京:电子工业出版社2002.

[40]刘志俭,潘献飞,连军想编著.MATLAB外部程序接口(6.均[M].北京:科
学出版社2002.

[41]周远清等编著.智能机器人系统[M].北京:清华大学出版社1989.8. [42]陈震邦,周莹.农用电动运输车设计[J】.农业机械学报,V01.36,N07,
2005.7.153-154,157

[43]陈清泉等编.现代电动汽车技术[M】.北京:北京理工大学出版社,2002. [44]石广田等.工业机器入运动车体位姿计算方法研究【J].兰州大学学报(自然科
学版),V01.37,N02,2001.4.52—56 [451卓桂荣等.全方位线控四轮转向电动汽车【J】.机械设计,V01.22,N02,
2005.2.29.32

[46]李艳等.全方位自动导引车的运动学模型与仿真【J】.机床与液压,N015,
2002.117-“8,214

[47]www.kepu.com.cn/gb/technology/robot/index.html
[48]www.unsp.corn.cn

[49]www.robotsehina.com/ [50]www.mbotdiy.com/
[51]李天昀,葛临东.综述MATLAB与VC的交互编程[J].计算机仿真,V01.21,

轮椅机器人语音识别、控制技术的研究

参考文献

No 19:2004.9.193-196

[52]http:#genial.yculblog.corn/ 1-53]王隽峰.服务机器人实用语音识别系统的研究[D】.黑龙江:哈尔滨工业大学,
2000.

[54]朱淑琴.语音识别系统关键技术研究[D】.陕西:西安电子科技大学,2004
C55]张众,小型语音识别系统的研究和开发[D】.天津:天津大学,2004.

发表论文及科研情况说明

轮椅机器人语音识别、控制技术的研究

发表论文及科研情况说明

【l】金晶,芮延年,郭旭红等.基于灰色理论、径向基神经网络的大型压缩机故障预 测方法的研究[J】.苏州大学学报(32科版),2004No 5.
[2】金晶,芮延年,郭旭红等.基于灰色模糊理论SMT焊接质量可靠性评价方法的研

究【J】.机械设计,2004,Vol21.

轮椅机器人语音识别、控制技术的研究

致谢

致谢
本文是在导师郭旭红教授和芮延年教授的悉心指导下完成的。从论文的选题,调 研工作到论文的撰写无不浸透着郭老师和芮老师辛勤的汗水。从我入学以来,郭老师 和芮老师在生活、学习和工作等备方面都给与我极大的关怀和精心的指导。郭老师和 芮老师严谨的治学作风和认真的工作态度,将是我在以后的学习、工作中享用不尽的 财富。值此成文之际,谨向郭老师和芮老师致以最衷心的感谢! 在论文的完成过程中,还得到了赵鹤鸣教授无私的指导和帮助。在此,对各位老 师表示深深的感谢。 还要感谢机械2003硕士班的瞿海妮、周艳荣、陈静、沈铭、林杰、陈永刚、施 文娟以及实验室的众多同仁,他们给了我真诚的帮助和有益的启迪,我将铭记在心。 最后,谨以此文献给我的家人,感谢他们对我无私的付出和关怀!


相关文章:
轮椅机器人语音识别系统研究.doc
轮椅机器人语音识别系统研究 - 毕业设计题目 轮椅机器人语音识别系统研究 学专班
轮椅机器人语音识别系统研究.doc
轮椅机器人语音识别系统研究 - word 文档 可编辑 毕业设计题目 轮椅机器人语音识别系统研究 学专班学学 院业级生号 机械工程学院 机械工程及自动化 机自 ...
轮椅机器人语音识别系统研究.doc
轮椅机器人语音识别系统研究 - 1 前言 1.1 课题研究的背景及意义 随着人口
智能轮椅语音控制系统的电路设计的研究.pdf
轮椅作为广大老弱病残人员使用的辅助运动 工具, 随着人工智能和机器人技术的发展...因此, 研究 控制系统, 对于 智能轮椅的语音识别, 开发实用的智能轮椅语音识别 ...
智能轮椅语音导航控制系统的设计_图文.doc
智能轮椅语音导航控制系统的设计_信息与通信_工程科技_专业资料。智能轮椅语音导航...机器人技术上,因此,语音控制机器人技术的研究与发展取决于语音识别技术的研究与 ...
智能轮椅语音导航控制系统的设计.doc
智能轮椅语音导航控制系统的设计 - 智能轮椅语音导航控制系统的设计 摘要 语音识别技术是使机器通过识别和理解把语音转变为相应的文本或命令的技术语音识别是 一...
一项轮椅系统的智能研究_图文.doc
早期 的智能轮椅移动机器人的席位被添加。目前,最发达的智能轮椅是建立在通过修...声音也被用作一个输 入来控制轮椅。在这样一个系统中使用语音识别算法。当系统...
智能轮椅语音导航控制系统的设计_图文.doc
智能轮椅语音导航控制系统的设计 - 中北大学信息商务学院 2013 届毕业设计说明书 智能轮椅语音导航控制系统的设计 摘要 语音识别技术是使机器通过识别和理...
毕业设计前期报告。智能轮椅.doc
智能轮椅是将智能机器人技术应用于电动轮椅 ,融合多种领域的研究 , 包括机器...计算机视觉和语音识别等最新成果 ,使人能通过语 音控制轮椅自由行走 ,轮椅可以...
手势识别开题报告_图文.ppt
通过识别人脸,比较当前人脸形状和模板人脸形状来估 计人脸方向,从而控制智能轮椅...国内: ?天津大学研究了汉语语音识别系统并用来控制机器人。 ?上海大学研究识别...
智能轮椅控制系统综述.pdf
智能轮椅是将智能机器人技术应用于电动轮椅,融合多种领域的研究,包括机器人视觉、机器人导航 和定位、模式识别、多传感器融合及用户接口等,涉及机械、控制、传感器、...
智能声控轮椅机器人系统设计(1011).doc
将语音识别技术应用 于普通轮椅,用语音来控制轮椅的运动为使用者带来了极大的方便。 因此研究并开发实用的机器人语音识别控制系统有重要的作用。 第一阶段 (2011....
基于特定人语音识别技术的家电远程控制装置_图文.pdf
学位论文 金晶 轮椅机器人语音识别控制技术的研究 2006 从机器人的发展和国
1.3辅助型康复机器人技术的研究与发展_图文.pdf
带手臂的轮椅 机器人则可能使他们恢复到最大程度的独立状态. 机器人在作为代步...由语音识别系统控制, 见图 4 轮椅的左面安 装了一 个小 平台和 一个平 板...
毕业论文(智能轮椅的运动学分析).doc
从大的层次来讲,研究智能轮椅最主要依靠的就是 机器人技术, 首先我们来给机器...其实就是利用了声敏传感器感知用户声音的原理再配上 语音识别系统,控制装置,就...
装备机械臂的智能轮椅研究_杨军_图文.pdf
机械臂的助老助残服 务机器人智能轮椅样机 , 介绍了样机的功能及关键技术 。 ...其中语 音识别功能部分可以识别中文语音指令 , 并通过无线 网络传输至轮椅控制...
一种轮式移动机器人控制系统设计与实现.doc
轮椅机器人,能够自动识别和判断出行驶的前方是否有...移动机器人控制技术的研究热点和发展趋势主要包括 [1...并可通过控制单元的扩充和升级 ,增加语音识别 、...
智能轮椅的研究现状和发展趋势_图文.pdf
涉及机 械、 控制、 传感器、 人工智能等技术 , 也称智能轮椅式 移动机器人。...用户独有 图 4 威尔斯利 语音识别、 头部 运动、 眼电法及智能操作杆 , 大...
智能轮椅的研究现状和发展趋势_何清华_图文.pdf
机 械、 控制 、 传感器 、人工智能等技术 , 也称智能轮椅式 移动机器人 。...用户独有 图 4 威尔斯利 语音识别 、头部 运动 、眼电法及智能操作杆 , 大...
脑机接口在机器人控制中的应用研究现状_图文.pdf
将BCI应用于 轮式机器人的控制,吸引了多数研究机构的注意。康 复轮椅便是该...在普通机器人的操 作中,操纵杆、语音识别、视觉反馈控制系统较为常见, 但是与...
更多相关标签: