一种基于组合神经网络的动态手势识别方法与流程

文档序号:11262144阅读:444来源:国知局
一种基于组合神经网络的动态手势识别方法与流程

本发明涉及一种计算机视觉与机器学习技术,特别涉及一种基于组合神经网络的动态手势识别方法。



背景技术:

随着许多增强现实和虚拟现实设备产品的推出,给人机交互方面研究的热度又增加了不少。纵观人体全身,手已经被认为是最重要和普遍的交互工具了。同时,在人机交互领域,手势识别已经是一个很重要的研究方向。手势识别分为静态手势识别和动态手势识别,相对于静态手势识别,动态手势识别可以带给我们更加丰富的交互方式和交互体验,因为动态手势可以由很多的手部动作组合而成。

目前,由于数字摄像头的广泛普及,基于图像和视频的手势识别研究已经成为计算机视觉领域的一个重要研究方向之一。许多关于各种各样的动态手势识别的传统方法早也已经被提出来,例如隐马尔科夫模型(hmm)、有限状态机(fsm)、动态贝叶斯网络(dbn)、动态时间规划(dtw)和人工神经网络(ann)。这些传统方法模型通常是需要人工预定义特征,如尺度不变特征转换(sift)、加速度尺度不变特征(surf)、方向梯度直方图(hog)、傅里叶描述子等手形特征描述和基于光流、运动跟踪方法的手势运动信息描述,人工选择特征的方法有很大的局限性,通常需要先验知识、经验和大量的手工调整,而且算法模型的识别率容易因为动态手势操作速度、方向、手形大小的差异产生很大的影响。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供一种基于组合神经网络的动态手势识别方法。

本发明的目的通过下述技术方案实现:一种基于组合神经网络的动态手势识别方法,包括如下步骤:

(1)打开设备的摄像头采集含有手势动作的2d图像序列。

(2)利用训练好的基于haar特征的快速手掌检测器和camshift手掌跟踪器对图像序列中的手掌进行跟踪定位,然后对图像序列中的背景进行剔除,剪切得到含有手势动作的动态手势子图像序列,序列中图像大小为240*160像素。

(3)对步骤2中得到的动态手势的子图像序列,输入到一个预先训练好的组合神经网络提取动态手势图像序列的时空特征,组合神经网络包括一个6层的卷积神经网络(cnn)串接一个1层的时间递归神经网络(lstmrnn);卷积神经网络含有3层的卷积层和3层的下采样层,主要是提取手掌的方向和形状特征等空间特征;一层的时间递归神经网络lstmrnn,主要是提取动态手势序列的时间关系特征,并结合卷积神经网络提取的空间特征得到动态手势序列的时空特征。

(4)组合神经网络得到的时空特征,输入到n个softmax单元的分类器输出层,其中n为动态手势的类别数,根据分类器出来的结果从而可得最终的手势识别结果。

作为对本技术方案的进一步限定,所述步骤(2)包括如下步骤:

(2.1)摄像头得到的图像序列尺寸比较大,一般都是640*480,如果是手机摄像头则更大,快速手掌检测器采用时间滑动窗口检测的方法,可以把检测的速度提高几倍。

(2.2)若检测器检测到图像中存在手掌,则判断为动态手势的初始状态,把检测结果输入到camshift手掌跟踪器,同时开始保存动态手势的手势图像。

(2.3)当手掌跟踪器跟踪到手掌时,以跟踪框的中心点为中心,剪切得到像素为240*160的手掌子图序列,保存起来。

(2.4)若手掌跟踪器跟踪不到手掌的连续帧数超过3帧时,则判断为动态手势的结束状态,然后把保存的手势图像序列输入到组合神经网络进行特征提取。

作为对本技术方案的进一步限定,所述步骤(3)中组合神经网络的一些参数设定如下:

(3.1)卷积神经网络一共6层,分别是inputlayer->c1->s1->c2->s2->c3->s3。其中c代表卷积层,s代表下采样层。inputlayer是图像输入层,输入层具有3072个线性单元,代表32*32像素的rgb通道的输入图像区域。3个卷积层的卷积核大小都是5*5,c1、c2卷积层各有32个特征图,c3卷积层有64个特征图。3个下采样层都采用2*2的最大池化。

(3.2)时间递归神经网络只有1层,串接在卷积神经网络s3的后面,s3层的所有单元输出都输入到lstmrnn层的输入单元和3个输入门:inputgate、forgetgate、outputgate。

本发明相对于现有技术具有如下的优点及效果:

本发明首先通过手掌检测器和手掌跟踪器采集到动态手势的图像序列,可以避免组合神经网络训练中人工采集手势样本的繁琐性,在动态手势识别的过程也显得更智能和系统化,不需要预先采集手势图像序列再人工输入到特征提取网络;在动态手势特征方面,相对目前的人工定义特征的许多方法更加简易和高效,通过训练组合神经网络结构的方法,让组合神经网络自动去学习对于动态手势分类有用的时空特征,使得该手势识别方法更加鲁棒,手势识别率更加稳定,同一手势不同操作速度、方向、角度、手型对识别率的影响更小。

附图说明

图1为本发明一种基于组合神经网络的动态手势识别方法的流程示意图。

图2为本发明中手掌检测器时间滑动窗口检测方法的示意图。

图3为本发明中组合神经网络的结构图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例

一种基于组合神经网络的动态手势识别方法,如图1所示,包括如下步骤:

(1)打开设备的摄像头采集含有手势的2d图像序列。

(2)摄像头采集到的图像直接输入到快速手掌检测器,判断图像序列中是否包含有手掌。若检测到手掌,则把检测到的手掌子图输入到手掌跟踪器,并把由跟踪结果得到的动态手势图像序列保存下来。

(3)步骤(2)得到的动态手势图像序列输入到组合神经网络进行动态手势时空特征的提取。

(4)步骤(3)得到的手势时空特征输入到softmax分类器输出层,即可得到最终的手势识别结果。

优选地,所述步骤(1)中,摄像头采集到的图像像素会随摄像头的种类而改变,一般的摄像头像素是640*480或者320*240,然而移动设备上的一些网络摄像头像素可达上千。不论任何一种摄像头,都可以作为系统的摄像头,因为步骤(2)中的快速手掌检测器可以针对不同像素尺寸的输入图像而改变检测区域的大小。

优选地,所述步骤(2)中,基于harr特征的快速手掌检测器可以针对不同尺寸的输入图像自适应的调整检测子区域的大小,如附图中的图2所示。本实施中,输入图像是640*480,手掌检测器每次的检测区域的大小为160*120,检测器检测一次的时间大概是5ms。若检测器检测到手掌,则把当前帧的图像判断为动态手势操作的初始状态,并把检测结果输入camshift手掌跟踪器进行手掌跟踪,进入手掌跟踪状态后,摄像头接下来的图像序列可以跳过检测器直接输入到手掌跟踪器。如果手掌跟踪器成功的跟踪到手掌,则以当前跟踪框的中点为中心保存尺寸为240*160的手掌图像;若手掌跟踪器跟踪不到手掌的连续帧数超过3帧,则判断为动态手势的结束状态,此时可以把保存的图像序列输入到组合神经网络。

优选地,所述步骤(3)中,组合神经网络包括卷积神经网络(cnn)和时间递归神经网络(lstmrnn)。卷积神经网络具有转换不变的特性,可以用来提取动态手势序列中每张手势图像的手掌形状和方向特征等具有尺度不变特性的空间特征。卷积神经网络包括3个卷积层和3个下采样层,所有卷积层的卷积核大小为5*5,第一和第二个卷积层的特征图数量为32个,第三个卷积层的特征图数量为64个;下采样层都是采用2*2的最大值池化。卷积神经网络的输入层具有3072(=3×32×32)个线性单元,用来处理32*32的rgb通道输入图像。卷积神经网络激活函数采用的是logisticsigmoid,整个卷积神经网络权重数量为79200个。一层的时间递归神经网络lstmrnn的作用是提取手势序列的时间关系特征,结合前面cnn网络得到的空间特征就可以得到最后分类所需的时空特征。1层lstmrnn网络串接在cnn网络的第三个下采样层s3后面,如附图中的图3所示。s3下采样层的所有输出单元都分别与lstmrnn的输入单元input和三个门(inputgate、forgetgate、outputgate)相连接,同时lstmrnn的输出单元会反馈连接到输入单元input和三个门单元。时间递归神经网络也是采用logisticsigmoid激活函数,网络的权值数量为99456个。整个组合神经网络训练好后,只需要保存网络中的权值,整个组合神经网络需要的总存储空间为:(79200+99456)×32bit,约为8mb大小。

优选地,所述步骤(4)中,softmax分类器输出层的作用是把组合神经网络得到的时空特征输入到具有n个softmax单元的分类器进行分类输出,其中n代表动态手势的类别数。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1