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

    文章

    6989

    浏览量

    114385
  • 机器人
    +关注

    关注

    213

    文章

    31444

    浏览量

    223658
  • 摄像头
    +关注

    关注

    61

    文章

    5116

    浏览量

    103500
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于米尔RK3576核心板的国产割草机器人解决方案

    障决策 :利用NPU加速运行轻量化YOLO等国产优化模型,精准识别草坪的障碍物。 全覆盖路径规划 :利用A72大核运行弓字形覆盖算法、边界回充算法,相比传统随机式
    发表于 04-24 17:31

    Neway电机方案机器人技术方面的优势

    ,确保电机控制系统长时间运行不易出现故障。五、高效能与低损耗,提升系统能效背景:工业机器人关节需高精度、高响应速度的电机
    发表于 03-30 09:39

    双芯光缆机器人控制的应用案例

    。 案例一:工业机器人视觉系统的高速图像传输 场景需求: 汽车制造、电子装配等工业场景机器人需通过视觉
    的头像 发表于 03-27 10:07 141次阅读

    探索RISC-V机器人领域的潜力

    Pro则运行控制节点,通过Wi-Fi网络接收Gazebo发布的传感器信息(如激光雷达数据),并发布控制指令(速度指令)来驱动机器人模型移动和避障。 • 体验: MUSE Pi Pro的K
    发表于 12-03 14:40

    高精度机器人控制的核心——基于 MYD-LT536 开发板的精密运动控制方案

    处理器,支持 1.8 GHz 主频,并集成2Tops NPU、G2D、VPU 4K高清视频编解码器,为复杂控制算法与视觉融合计算提供充足算力。米尔MYD-LT536开发板 “高精度
    发表于 11-14 15:48

    RK3576机器人核心:三屏异显+八路摄像头,重塑机器人交互与感知

    时人脸识别、物体检测与跟踪等。同时,高负载下,芯片温度稳定在65℃左右,证明了其优异的高能效比和低发热特性,非常适合对功耗和散热敏感的机器人产品。 为什么RK3576是机器人开发的
    发表于 10-29 16:41

    ADI安全产品如何简化不同机器人控制系统安全机制的实现

    我们将探讨各种机器人安全用例,展示ADI的安全产品如何简化不同机器人控制系统安全机制的实现。
    的头像 发表于 08-12 10:43 1.4w次阅读
    ADI安全产品如何简化不同<b class='flag-5'>机器人</b><b class='flag-5'>控制系统</b><b class='flag-5'>中</b>安全机制的实现

    ADI解读机器人控制系统的安全风险和有效安全措施 为机器人技术的未来发展筑牢安全防线

    本文探讨了机器人控制系统的安全风险和有效安全措施。文中介绍了工业安全标准,并分析了满足工业安全标准所需达到的基本要求。
    的头像 发表于 08-11 11:27 1.4w次阅读
    ADI解读<b class='flag-5'>机器人</b><b class='flag-5'>控制系统</b><b class='flag-5'>中</b>的安全风险和有效安全措施 为<b class='flag-5'>机器人</b>技术的未来发展筑牢安全防线

    明远智睿SSD2351开发板:语音机器人领域的变革力量

    的四核1.4GHz处理器具备强劲的运算性能,能够高效处理语音机器人运行过程的复杂任务。语音识别和合成需要大量的计算资源,该处理器可以快速对语音信号进行分析、处理和转换。实时语音交互
    发表于 05-28 11:36

    详细介绍机场智能指路机器人的工作原理

    路径。路径规划算法会考虑多种因素,如距离最短、避开人流密集区域、优先选择宽阔通道等,以确保旅客能够快速、顺畅地到达目的地。 实时导航与避障 :机器人引导旅客的过程,导航
    发表于 05-10 18:26

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    部署,详细介绍了基于颜色阈值和深度学习的巡线方法。 二维码识别则广泛应用于机器人定位与任务触发,例如AGV(自动导引车)的路径规划。 深度学习机器人视觉
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】机器人入门的引路书

    ROS的全称:Robot Operating System 机器人操作系统 ROS的 目的 :ROS支持通用库,是通信总线,协调多个传感器 为了解决机器人里各厂商模块不通用的问题,让机器人
    发表于 04-30 01:05

    电机微机控制系统可靠性分析

    方法。各种技术措施合理搭配才能有效地提高电机微机控制系统的可靠性。 电机微机控制系统的研制过程
    发表于 04-29 16:14

    【「# ROS 2智能机器人开发实践」阅读体验】+内容初识

    出有用的信息,如障碍物的位置和形状。对于摄像头数据,可以使用 OpenCV 等图像处理库进行图像识别、目标跟踪等操作,为机器人的导航和决策提供支持。 运动控制:运动控制
    发表于 04-27 11:24

    基于先进MCU的机器人运动控制系统设计:理论、实践与前沿技术

    AS32A601为例,全面阐述其机器人运动控制领域的卓越性能与广泛应用前景,旨在为机器人技术多领域的深化发展提供有力支撑。 关键词 :M
    的头像 发表于 04-27 10:58 1091次阅读