0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于增量K均值分段HMM的识别算法在微机器人控制系统中的应用

电子设计 来源:郭婷 作者:电子设计 2018-12-07 08:14 次阅读

引言

据统计,人类日常生活中的沟通大约有75%左右是通过语言来完成的。语言作为人类特有的功能,不但是相互传递信息的主要手段,也是人们最理想的人机交互方式之一。在现代社会机器人这个词语已经不再新鲜。有些机器人已经走进了我们的生活,成为我们生活的组成部分。在下文我们要讲的是基于毫米级全方位无回转半径移动机器人课题。我们微系统配置示意图如图1所示。主要由主机Host(配有图像采集卡)、两个CCD摄像头(其中一个为显微摄像头)、微移动装配平台、微机器人本体和系统控制电路板等组成。计算机和摄像机组用于观察微机器人的方位,控制系统控制微机器人的移动。

基于增量K均值分段HMM的识别算法在微机器人控制系统中的应用

与机器进行语音交流,让机器明白你说什么,这是人们长期以来梦寐以求的事情。语音识别技术就是让机器通过识别和理解过程把语音信号转变为相应的文本或命令的高技术。语音识别技术主要包括特征提取技术、模式匹配准则及模型训练技术三个方面。 本文在系统控制电路中嵌入式实现语音识别算法,通过语音控制微机器人。也就是说可以通过你的话微型机器人做出相应的动作。

微机器人控制系统的资源有限,控制方法比较复杂,并且需要有较高人的实时性,因此本文采用的语音识别算法必须简单、识别率高、占用系统资源少。毕竟微型机器人里面能放的东西有限,放多了东西虽然提高了语音识别率或者工作效率,但是也加大了微型机器人的体积,说不定就不能做有些工作。

隐马尔可夫模型(Hidden Markov Model,HMM)作为一种统计分析模型,创立于20世纪70年代。80年代得到了传播和发展,成为信号处理的一个重要方向,现已成功地用于语音识别,行为识别,文字识别以及故障诊断等领域。HMM(隐马尔可夫模型)的适应性强、识别率高,是当前语音识别的主流算法。使用基于HMM非特定人的语音识别算法虽然借助模板匹配减小了识别所需的资源,但是前期的模板储存工作需要大量的计算和存储空间,因此移植到嵌入式系统还有一定的难度,所以很多嵌入式应用平台的训练部分仍在PC机上实现。

为了使训练和识别都在嵌入式系统上实现,本文给出了一种基于K均值分段HMM模型的实时学习语音识别算法,不仅解决了上述问题,而且做到了智能化,实现了真正意义上的自动语音识别。

1 增量K均值分段HMM的算法及实现

由于语音识别过程中非特定的因素较多,为了提高识别的准确率,针对本系统的特点,采用动态改变识别参数的方法提高系统的识别率。

语音识别方法主要是模式匹配法。 在训练阶段,用户将词汇表中的每一词依次说一遍,并且将其特征矢量作为模板存入模板库。 在识别阶段,将输入语音的特征矢量依次与模板库中的每个模板进行相似度比较,将相似度最高者作为识别结果输出。

训练算法是HMM中运算量最大、最复杂的部分,训练算法的输出是即将存储的模型。目前的语音识别系统大都使用贝斯曼参数的HMM模型,采取最大似然度算法。这些算法通常是批处理函数,所有的训练数据要在识别之前训练好并存储。因此很多嵌入式系统因为资源有限不能达到高识别率和实时输出。

本系统采用了自适应增量K均值分段算法。在每次输入新的语句时都连续地计算而不对前面的数据进行存储,这可以节约大量的时间和成本。输入语句时由系统的识别结果判断输入语句的序号,并对此语句的参数动态地修改,真正做到了实时学习。

K均值分段算法是基于最佳状态序列的理论,因此可以采用Viterbi算法得到最佳状态序列,从而方便地在线修改系统参数,使训练的速度大大提高。

为了达到本系统所需要的功能,对通常的K均值算法作了一定的改进。在系统无人监管的情况下,Viterbi解码计算出最大相似度的语音模型,根据这个假设计算分段K均值算法的输入参数,对此模型进行参数重估。首先按照HMM模型的状态数进行等间隔分段,每个间隔的数据段作为某一状态的训练数据,计算模型的初始参数λ=f(a,A,B)。采用Viterbi的最佳状态序列搜索,得到当前最佳状态序列参数和重估参数θ,其中概率密度函数P(X,S|θ)代替了最大似然度算法中的P(X,θ),在不同的马尔科夫状态和重估之间跳转。基于K均值算法的参数重估流程如下:

基于增量K均值分段HMM的识别算法在微机器人控制系统中的应用

为了使参数能更快地收敛,在每帧观察语音最佳状态序列的计算结束后,加入一个重估过程,以求更快地响应速度。

基于增量K均值分段HMM的识别算法在微机器人控制系统中的应用

可以看到,增量K均值算法的特点为:在每次计算完观察值最佳状态序列后,插入一个重估过程。随时调整参数以识别下一个句子。

由于采用混合高斯密度函数作为输出概率分布可以达到较好的识别效果,因此本文采用M的混合度对数据进行训练。

对λ重估,并比较收敛性,最终得到HMM模型参数训练结果。

可见,用K均值法在线修改时,一次数据输入会有多次重估过程,这使系统使用最近的模型估计后续语句的最佳状态序列成为可能。但是对于在线修改参数要求,快速收敛是很重要的。为了得到更好的Viterbi序列,最佳状态序列使用了渐增的算法模型,即快速收敛算法。

语音识别的具体实现过程为:数字语音信号通过预处理和特征向量的提取,用户通过按键选择学习或者识别模式;如果程序进入训练过程,即用户选择进行新词条的学习,则用分段K均值法对数据进行训练得到模板;如果进入识别模式,则从Flash中调出声音特征向量,进行HMM算法识别。在识别出结果后,立即将识别结果作为正确结果与前一次的状态做比较,得到本词条更好的模板,同时通过LED数字显示和语音输出结果。系统软件流程如图2所示。

基于增量K均值分段HMM的识别算法在微机器人控制系统中的应用

对采集到的语音进行16kHz、12位量化,并对数字语音信号进行预加重:

基于增量K均值分段HMM的识别算法在微机器人控制系统中的应用

L选择为320个点,用短时平均能量和平均过零率判断起始点,去除不必要的信息。

对数据进行FFT运算,得到能量谱,通过24通道的带通滤波输出X(k),然后再通过DCT运算,提取12个MFCC系数和一阶二阶对数能量,提取38个参数可以使系统识别率得到提高。

为了进行连接词识别,需要由训练数据得到单个词条的模型。方法为:首先从连接词中分离出每个孤立的词条,然后再进行孤立词条的模型训练。对于本系统不定长词条的情况,每个词条需要有一套初始的模型参数,然后按照分层构筑的HMM算法将所有词串分成孤立的词条。对每个词条进行参数的重估,判断是否收敛。如果差异小于某个域值就判断为收敛;否则将得到的参数作为新的初始参数再进行重估,直到收敛。

当然本系统还要对语音进行前端处理工作。主要是指在特征提取之前,先对原始语音进行处理,部分消除噪声和不同说话人带来的影响,使处理后的信号更能反映语音的本质特征。最常用的前端处理有端点检测和语音增强。端点检测是指在语音信号中将语音和非语音信号时段区分开来,准确地确定出语音信号的起始点。经过端点检测后,后续处理就可以只对语音信号进行,这对提高模型的精确度和识别正确率有重要作用。语音增强的主要任务就是消除环境噪声对语音的影响。目前通用的方法是采用维纳滤波,该方法在噪声较大的情况下效果好于其它滤波器

2 实验结果

实验采用30个人(15男,15女)的声音模型进行识别。首先由10人(5男,5女)对5个命令词(前进、后退、左移、右移、快速)分别进行初始数据训练,每人每词训练10次,得到训练模板。然后再由这30人随机进行非特定人语音识别。采用6状态的HMM模型,高斯混合度选为14,得到图3的实验结果。

基于增量K均值分段HMM的识别算法在微机器人控制系统中的应用

逐步增加高斯混合度数目,可以得到图4的实验结果。可见高斯混合度在18的时候达到较好的识别效果,混合度太高识别率反而会有所下降,这是由于嵌入式系统的资源有限,运算复杂度的增长超过了嵌入式设备的限制所造成的。

基于增量K均值分段HMM的识别算法在微机器人控制系统中的应用

为了使微机器人能够正确地执行人的声音指令,本文将语音识别的过程嵌入微机器人的控制系统中,根据微机器人控制系统资源有限、对实时性要求高的特点,使用增量K均值分段HMM的算法,简化计算节省了所需的硬件资源,实现了实时学习的语音识别,能方便地对微机器人进行控制。

本系统的识别率达到了较高的标准,又由于加入了智能化的用户选择部分,用户可随时选择学习新的语句,使其有更广阔的应用前景。

结论

本文介绍了一种应用于微机器人控制平台的语音识别算法,可实现简单命令词语的识别,控制微机器人的移动。利用K均值分段法,在每次计算完观察值最佳状态序列后,插入一个重估过程,随时调整参数以识别下一个句子。实验结果表明,这种实时学习的语音识别算法适合嵌入式应用。当然由于嵌入式平台受到处理速度、存储空间的限制,所以能够对微机器人发出的指令十分有限,识别率还有待提高。因此,研究语音识别算法,比较各种算法的优缺点,进而在嵌入式微机器人控制系统上实现大词汇量非特定人的语音识别,实现真正意义上的人机交流是今后进一步的工作。相信在科学技术的发展迅速社会背景下,这个语音控制微型机器人的技术会逐渐发展起来,最终达到人机交流与人人交流一般。让微型机器人的应用更加广泛。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制系统
    +关注

    关注

    41

    文章

    6553

    浏览量

    110517
  • 机器人
    +关注

    关注

    210

    文章

    28252

    浏览量

    206709
  • 摄像头
    +关注

    关注

    59

    文章

    4818

    浏览量

    95516
收藏 人收藏

    评论

    相关推荐

    编码器机器人技术的应用 编码器传感器系统的作用

    测量机器人位置和移动的装置,它能够将机器人位置和运动转化为数字信号,以供机器人控制系统使用。编码器机器
    的头像 发表于 11-24 10:02 321次阅读

    如何使用PLC控制机器人

    随着工业自动化技术的飞速发展,机器人技术作为其中的重要组成部分,其应用范围日益广泛。机器人控制系统,PLC(Programmable
    的头像 发表于 06-17 10:50 1557次阅读

    简述工业机器人控制系统的特点

    工业机器人控制系统是工业机器人的核心组成部分,它负责接收输入信号、处理信息、控制机器人的运动和执行任务。随着工业自动化和智能制造的快速发展,
    的头像 发表于 06-16 15:38 1399次阅读

    机器人控制系统的基本单元有哪些

    引言 机器人是一种具有高度自动化和智能化的设备,它可以模拟人类的行为和思维,完成各种复杂的任务。机器人控制系统机器人的重要组成部分,它负责接收传感器的信号,处理数据,
    的头像 发表于 06-16 15:36 1471次阅读

    机器人控制系统控制方法可哪些种类

    控制系统,它不涉及对机器人运动状态的反馈。开环控制系统控制器根据输入信号直接生成
    的头像 发表于 06-16 15:35 1748次阅读

    工业机器人电气控制系统的体系结构主要有哪些

    工业机器人电气控制系统是工业机器人的重要组成部分,它负责控制机器人的运动和执行各种任务。随着工业自动化和智能制造的发展,工业
    的头像 发表于 06-16 15:28 1595次阅读

    工业机器人控制系统的基本组成有哪些

    工业机器人控制系统是工业机器人的大脑,它负责接收输入信号、处理信息、控制机器人的运动和执行任务。一个完整的工业
    的头像 发表于 06-16 15:26 1771次阅读

    工业机器人控制系统的主要功能

    工业机器人控制系统是工业机器人的大脑,它负责接收输入信号、处理信息、发出指令,以实现机器人的精确运动和操作。 一、引言 工业机器人作为现代制
    的头像 发表于 06-16 15:16 1608次阅读

    简述机器人控制系统的组成

    机器人控制系统机器人技术的核心,它负责接收输入信号,处理信息,控制机器人的运动和执行任务。一个完整的
    的头像 发表于 06-16 15:14 1326次阅读

    基于FPGA EtherCAT的六自由度机器人视觉伺服控制设计

    PS层运行 苏姆的裸机程序, 并将六自由度串联机器人逆解算法移植到主站代码里,进行机器人末端位置对于视觉反馈的实时跟随控制。 (4)
    发表于 05-29 16:17

    基于飞凌嵌入式RK3568J核心板的工业机器人控制器应用方案

    工业机器人领域的快速发展。 市场研究机构MIR预测,我国工业机器人行业将步入第二个发展高峰期。在这一轮新的发展浪潮,市场竞争的焦点将转向存量市场的争夺和细分
    发表于 05-11 09:40

    浅谈海康机器人控制系统

    海康机器人控制系统涵盖了RCS-2000 V4.0和RCS-Lite轻量级调度控制器,这两款控制系统性能、效率、可靠性和扩展性方面实现了质
    发表于 01-16 11:20 525次阅读
    浅谈海康<b class='flag-5'>机器人</b><b class='flag-5'>控制系统</b>

    如何运用精益思想开发机器人控制系统

    随着科技的飞速发展,机器人已经逐渐渗透到我们的生活和工作。而精益思想作为一种追求卓越、持续改进的管理理念,也被广泛应用于机器人控制系统的开发
    的头像 发表于 12-25 09:32 331次阅读

    LabVIEW的六轴工业机器人运动控制系统

    LabVIEW开发六轴工业机器人运动控制系统 本项目开发了一个高效的工业机器人控制系统,重点关注于运动学算法和轨迹规划
    发表于 12-21 20:03

    理疗机器人控制系统设计图

    电子发烧友网站提供《理疗机器人控制系统设计图.pdf》资料免费下载
    发表于 12-18 10:47 0次下载