基于Chebyshev神经网络的动态手势学习和识别方法

文档序号:8259490阅读:497来源:国知局
基于Chebyshev神经网络的动态手势学习和识别方法
【技术领域】
[0001] 本发明属于图像处理技术领域,涉及基于Chebyshev神经网络的动态手势学习和 识别方法。
【背景技术】
[0002] 手势识别人机交互技术主要通过识别用户手势动作实现对计算机的操作,它能提 供一种更加自然的人机交互手段[1~3]。基于机器视觉的动态手势识别主要采用摄像机跟 踪运动目标(指尖),然后通过计算指尖运动轨迹与预设模板的相关系数来判断手势的交 互语义[4'5]。
[0003] 动态手势识系统是一个比较复杂的非线性动态系统,它的输入(指尖运动轨迹) 和输出(手势类别)之间的函数映射很难确定,要进行动态手势识别,必须首先进行系统辩 识,即通过一组实验数据确定动态手势识别系统的模型结构和模型参数。神经网络由于其 高度的并行性、自适应学习能力以及对于非线性系统的逼近能力等特点,被广泛应用于非 线性系统的辩识控制和模式识别等领域 [6]。当前用于系统辨识和模式识别的神经网络主 要是基于BP训练算法的多层前馈神经网络。但传统BP算法有一些固有的缺点,如容易限 于局部极小、收敛速度慢、不能有效利用以往的学习经验、隐含层及其神经元数量设定缺乏 理论指导等,为了克服传统BP算法的缺点,许多改进算法被不断提出来,这些改进算法有 的是通过梯度下降方法或数值优化方法来改进BP网络训练的迭代规则,如带动量的梯度 下降法、Levenberg-Marquardt方法等 [6],有的是通过正交设计方法选择BP神经网络的训 练样本,减少网络训练样本数[7],有的粒子群或遗传算法思想应用到BP神经网络的训练 [6' 8]。但上述改进算法仍不能完全避免冗长的学习训练,且训练速度依赖于选择的训练样本, 不太适应需要对用户手势进行在线学习训练的情况。
[0004] 文献[9]提出了基于正交多项式函数的神经网络构造理论和构造方法,并证明了 在最高幂次相同情况下,选择Chebyshev正交多项式构造的神经网络性能最优。文献[10] 提出了通过Chebyshev正交基神经网络进行非线性动态系统辩识的方法,并给出了该网络 的一种自适应学习训练算法,相对于传统BP神经网络能够大大降低网络训练计算量。文献
[11]提出了一种用于非线性动态系统辩识的自适应Chebyshev神经网络,并证明了该方法 的稳定性和收敛性。文献[12?15]针对单输入、单输出(SISO)情况利用多种正交基函数 系构造正交基前馈神经网络实现函数逼近,并提出一种直接计算网络权值方法以及依照训 练精度要求自适应确定隐含层神经元数目的算法,大大提高了网络的训练速度。
[0005] 基于机器视觉的动态手势识别是一个典型的多输入、多输出非线性系统,其输入 是动态手势轨迹向量,具有多个分量,其输出是手势识别结果,是一个表明各种手势可能性 的向量。文献[16]利用Laguerre正交基函数系构造一个多输入、多输出的正交基神经网 络,并在动态手势学习肯识别中取得不错效果。本文将Chebyshev前馈神经网络推广到多 输入、多输出(MMO)情况,提出网络权值直接计算方法以及依照训练精度要求自适应确定 隐含层神经元数目的算法,并将其应用于动态手势学习和识别,提高动态手势的学习速度 和识别正确率。

【发明内容】

[0006] 本发明的目的在于提供基于Chebyshev神经网络的动态手势学习和识别方法,解 决了现有方法对于动态手势的学习速度慢,且识别正确率低的问题。
[0007] 本发明所采用的技术方案是按照以下步骤:
[0008] 步骤1:建立MMO-CNN神经网络模型;
[0009] 输入层有n个节点,Xk= (Xl,k,x2,k,...,xn, k)TG Rn为网络的输入向量;输出层有 m个节点,Yk= (y 1>k,y2,k,. . .,ym,k)TG Rm为网络的输出向量,输出层节点中的E表示输出 层神经元采用线性激励函数;隐含层有h个神经元,采用Chebyshev正交多项式Tj(x) (j = 0,1,2,. . .,h_l)作为其激励函数;输入层节点到隐含层神经元的权值全部为1,W e RhXmS 隐含层到输出层的权矩阵,其中Wp为隐含层第j个神经元与输出层的第i个节点的连接 权值;
[0010] 步骤2 :采用p个学习样本对MMO-CNN神经网络模型进行训练,这些学习样本 的输入分别为X2,......,Xp,相应的预期输出为山 1,D2,......,Dp,实际输出为A1, Y2,......,Yp,网络的实际输入输出关系表示为:
[0011]
【主权项】
1.基于Chebyshev神经网络的动态手势学习和识别方法,其特征在于按照以下步骤进 行: 步骤1 :建立MMO-CNN神经网络模型; 输入层有n个节点,Xk= (Xl,k,x2,k,...,xn,k)TGRn为网络的输入向量;输出层有m个 节点,Yk=(yu,y2,k,. . .,ym,k)TeRn为网络的输出向量,输出层节点中的E表示输出层神 经元采用线性激励函数;隐含层有h个神经元,采用Chebyshev正交多项式Tj(x)(j= 0,1, 2, . . .,h-1)作为其激励函数;输入层节点到隐含层神经元的权值全部为1,WeRhXm为隐 含层到输出层的权矩阵,其中Wp为隐含层第j个神经元与输出层的第i个节点的连接权 值; 步骤2 :采用p个学习样本对MMO-CNN神经网络模型进行训练,这些学习样本的输入 分别为AX2,......",相应的预期输出为山1#,......,,实际输出为^,......, Yp,网络的实际输入输出关系表示为:
定义误差函数:-乃,* 其中:为学习样本的理想输出,yu为实际输出; 步骤3 :确定MMO-CNN权值:通过公式
其中:Wj, k=(wu,Wj,2,...,Wj, k),
in为学习速度且要求〇 <n< 1 ;权值迭代公式的矩阵形式为:w(r+l) =w(r)-n〇T(〇W(r)-D),其中:
GRpXh为输入转换矩阵,r= 0,1,2,…为迭代次 数,当网络训练达到稳态后(即r足够大时)有:
,代入W(r+1) =W(r)-n〇T(〇W(r)-D)则有: 〇T(〇ff-D) = 0 由此可以得到MIMO-Chebyshev网络权值直接计算公式: W = (oTo)-1?^ 其中pinv(O) = (〇T〇r〇T称为〇的伪逆,基于伪逆的权值计算方法能够直接通过 矩阵运算一步得到MIM0-CNN的网络权值,避免了冗长的迭代训练,能够适应动态手势的快 速学习和识别; 步骤4 :网络隐含层神经元数目自适应确定; 给定网络目标精度e>0,满足该精度要求的最小隐含层神经元数目自适应确定算法 下: (1)设定目标精度,取e= 0.005,设定神经网络的隐含层神经元数目最大值
(2) 如果h>MaxHideNode,则说明在MaxHideNode范围内,无法满足网络目标精度要 求,程序退出,否则跳转至(3); (3) 计算当隐含层神经元数目为h时,神经网络的权值矩阵W及最小均方误差(MSE); (4) 如果MSE<e,则说明找到了满足网络目标精度要求的最小隐含层神经元数目h, 程序退出,否则h=h+1,跳转至(2); 步骤5 :进行指尖跟踪;通过二部图的最优匹配算法,如Kuhn-Munkrs算法等实现两帧 图像中的指尖匹配,从而间接实现指尖跟踪; 步骤6 :动态手势轨迹提取;动态手势轨迹是由一个手的两个指尖(拇指、食指)运动 形成,当检测到有两个指尖渐近且距离小于某个阈值时开始手势记录,即落笔,当检测到有 两个指点渐远且距离大于某个阈值时结束手势记录,即抬笔,从落笔开始,按照一定的时间 间隔记录两个指尖的中间位置,直到抬笔结束,如此得到动态手势经过的点的集合,即手势 轨迹,为了后面的动态手势学习和识别的需要,我们从手势轨迹的点集合中选取确定数目 的代表点,如果手势轨迹的点数超过15个,可以通过查找到跨度最小的两个点,并用它们 的中点取代它们,重复执行,直到手势轨迹中点的数目为15个,这些点就可以看成一个手 势轨迹的代表点,根据手势轨迹的15个代表点可以得到14个向量并对它们进行归一化处 理,然后将该手势笔画的向量依次连接,即可构成表示该手势轨迹的向量; 步骤7 :基于MM0-CNN的动态手势学习和识别; (1) 神经网络输入输出设计: 输入节点数量根据手势轨迹向量的分量数目确定,同时利用手势轨迹向量的各个分量 作为神经网络的输入;输出层节点数设置对应动态手势的种类数m,长度为m的输出向量可 以作为动态手势判断的依据; (2) 隐含层神经元数量和神经网络权值的确定: 动态手势学习的关键是根据手势训练样本,确定相应的神经网络的隐含层神经元数量 和网络权值,对于这些训练样本的输入向量,通过前面介绍的动态手势轨迹提取方法获取, 而对于这些训练样本的预期输出向量,由于动态手势分为m种,所以设置m个长度为m的单 位向量对应m种手势,其中第N种手势的预期输出向量(yi,y2, ....ym)T用如下公式确定:
设定网络精度目标为0.005,利用给出的训练样本,采用最小隐含层神经元数目自适 应确定算法可以确定隐含层神经元数量,通过将训练样本的输入向量和预期输出向量送 入神经网络,利用公式W=(①1?)-1?%,可以求出MM0-CNN的最优权值矩阵W,之后该 MIM0-CNN就可以用于动态手势识别; (3) 动态手势的识别: 获取动态手势轨迹后,将手势轨迹向量(Xl,k,x2,k,. . . .,xn,k)T作为输入向量输入到已 确定权值的MIM0-CNN,利用公式
计算得到网络 输出向量(yu,x2,k,. . . .,Xm,k)T,根据该输出向量即可进行手势识别:找出该向量的最大元 素,如果该元素大于某个阈值,则该元素在向量中的位置就是要识别的动态手势编号。
【专利摘要】本发明公开了基于Chebyshev神经网络的动态手势学习和识别方法,本发明以Chebyshev正交多项式作为隐含层神经元激励函数构造多输入、多输出三层前馈神经网络,并给出权值直接确定方法和隐含层节点数目自适应确定算法。给出一个基于颜色直方图的指尖检测算法和基于二部图最优匹配的指尖跟踪算法以便实时获取动态手势轨迹。针对动态手势识别要求对MIMO-CNN进行输入输出结构设计和网络权值学习训练,并运用经过训练的MIMO-CNN识别动态手势。测试结果表明:MIMO-CNN能够提高网络训练速度和精度,从而提高动态手势学习速度和识别准确率,而且在动态手势识别方面具有较好的鲁棒性和泛化能力。
【IPC分类】G06K9-66, G06N3-02, G06K9-00
【公开号】CN104573621
【申请号】CN201410514602
【发明人】李文生, 邓春健, 吕燚
【申请人】李文生, 邓春健, 吕燚
【公开日】2015年4月29日
【申请日】2014年9月30日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1