- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于BP算法的手势识别系统
基于BP 神经网络的手势识别系统
引言
随着科技的发展和进步,计算机已经渐渐适应人的需求。人类在利用计算机解决问题时,并没有将主观能动性和计算机的高效性有机的结合起来.研究新型的人机交互工具能够打破这一障碍。当虚拟现实越来越被人熟知时,可以使用手势作为载体进行人机交互。目前在手势输入的种类有:基于图像的和基于加速度传感器的。由于图像的手势识别对外部环境的依赖比较大。而加速度传感器识别就不受外部条件的限制,甚至可以依靠单手完成操作。因此,基于加速度传感器的方法能有效地识别手势动作,完成人机交互。本文采用ADXL335三轴加速度传感器分别采集五个手指和手背上的加速度信息,实现手势的输入。
手势识别方法
手势的执行是一个动态的过程,其特征表现在手指弯曲引起的手的形状的变化、手在空间的位置和方位的变化,需要从时间和空间两方面来描述。根据手势的时变特征,可将手势分为静态手势(Static Gestures)和动态手势(Dynamic Gestures)。静态手势是指只需用手的形状特征来表示的手势。如在美国手势语(ASL)中,用手指的弯曲引起的手的形状变化来表示英语中的字母。从测量的角度看,静态手势可用某一时刻手的空间特征的测量值来表示。动态手势是指需要使用随时间变化的空间特征来描述的手势。如起重工人在工作中伸出手掌朝上并摆动表示将货物上吊。从测量的角度看,动态手势需用一段时间内手的空间特征的一组测量序列值来表示。由于人的手有20多个自由度,运动十分灵活、复杂;而且不同的人,手的大小不同。因此,同样的手势,不同的人作出时手的运动会存在差别;同一个人在不同的时间、地点作出手势也不一样。可见,手势又具有随机性【4】。本文主要针对静态手势的数据手套进行研究。
手势的识别技术
目前,比较流行的手势识别技术有:模板匹配法,特征提取,BP算法等。
模板匹配法:主要是它将传感器输入的原始数据与预先存储的模板进行匹配,通过测量两者之间的相似度来完成识别任务【5】。模板匹配法需要大量的基础数据作为匹配对象。模板匹配法简单易掌握,普及程度高;但是他受到噪音,光照,复杂环境影响较大,并且匹配速度慢。
特征提取:在特征提取过程中,输入数据中的低层特征被提取出来,经过分析而转化成包含手形语义的高层特征,然后用高层特征进行手形识别【5】。低层特征可以是轮廓线、指尖坐标、关节角度、颜色、纹理等。而具体的手形语义就可以从这些特征量中分析得到。
BP算法:是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程做成.正向传播时,输入样本从输入层,经各隐层逐层处理后,传向输出层.若输出层的实际输出与期望的输出不符,则转入误差的反向传播阶段.误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,次误差信号即作为修正分单元权值的依据.这种信号正向传播与误差反向传播的各层权值调整过程,是周而复始的【6】。
BP算法
BP神经网络是一种前向传播的多层网络,网络除了输入节点以外还有一层或多层隐含节点,其训练方法被称为误差反传播算法,它利用实际输出和期望输出之差对网络的多层连接权由后向前逐层进行校正【7】。
但由于BP 网络的最大缺点是样本训练的收敛速度慢。为提高网络的收敛速度,同时防止网络的振荡发散。
基本神经网络是1个3层BP网络结构(含1个隐层),隐单元及输出单元用sigmoid 函数输出,输出共分为10类,即输出神经元个数为10,由于输入矢量为处理后的手部加速度传感器(用18×10的数字矩阵表示) ,因此第一层为240 个神经元,第二层为隐含层,根据经验,其神经元数目一般为输入矢量维数的10 % ,为26 个神经元,采用改进的BP 算法。
第j个神经元的净输入值为:
其中: ????
若视,,即令及包括及,则
??
于是节点j的净输入可表示为:
????????????????????
??? 净输入通过传递函数(Transfer Function)f (·)后,便得到第j个神经元的输出:
??????????
式中f(·)是单调上升函数,而且必须是有界函数,因为细胞传递的信号不可能无限增加,必有一最大值。【8】
将每个样本对应的矩阵元素值输入神经网络的各个输入单元,并为每个输出单元指定期望输出(比如说,输入握紧的手部图像时,第一个输出单元的期望值为1 ,
文档评论(0)