一种基于拳头检测作为辅助信息的手势跟踪方法与流程

文档序号:12796248阅读:255来源:国知局
一种基于拳头检测作为辅助信息的手势跟踪方法与流程
本发明涉及电子设备的手势识别及跟踪领域,特别涉及一种基于拳头检测作为辅助信息的手势跟踪方法。

背景技术:
现有技术中,手势识别算法大体分为两类,一类是基于3D模型的,例如Kinect使用红外检测目标深度值,另一类是基于图像。基于3D模型的方案,往往需要特殊硬件设备支持,使用成本高,并且有使用场合上的限制。基于图像的方案只需要有普通摄像头支持,直接根据可见光图像检测某种手势,使用成本较低,使用自然、方便,符合以人为本的要求。但是由于现实环境中复杂的背景、不匀的光照,以及摄像头本身的精度和噪声差别等等因素,极大的增加了手势识别的难度,导致准确率比较低、鲁棒性差等问题。进一步详细分析可知,基于图像的手势识别相对基于3D模型的最大的问题是准确率低,鲁棒性差,容易丢失目标。导致这个问题主要有两个因素:1.现实环境中,背景和光照复杂,摄像头本身的参数、精度和噪声强度千差万别。2.手的关节多,自由度大,姿态很复杂。第一个因素极大的增加了在图像中检测到手并识别出手势的难度;第二个因素增加了对手势检测和识别器的学习难度。第一个因素随环境变化而不同,是无法做到人为控制的,只能从第二个因素入手。经分析可知,拳头在手的各种姿态中,自由度最少,因此简单而易于识别。本发明将拳头这个特殊的手势用于辅助普通手势的检测、跟踪和识别,可以有效的提高手势检测的灵敏度和准确率,还可以解决跟踪初始化,以改进手势丢失、自动恢复跟踪等问题。

技术实现要素:
有鉴于此,本发明的主要目的在于提供一种基于拳头检测作为辅助信息的手势跟踪方法。总共分三部分:分别为拳头图像训练方法、拳头跟踪方法和拳头作为辅助信息的手势跟踪方法。1)拳头图像的训练方法,包括如下步骤:step11:初始化训练样本集合,该集合由若干正样本和负样本图片组成,所谓正样本,即刚好包含着拳头的图片,负样本是不含有拳头的任何图片;step12:设定训练的参数:Haar特征的类型,检测器层数N,每一层的目标检测率P和误检率R,每一层的最大弱检测器数T;step13:初始化i,i=1;step14:训练第i层,训练根据定义好的Haar类型提取特征,用AdaBoost算法进行训练,训练的停止准则是检测率P和误捡率R是否达到,或者弱检测器个数是否达到T;step15:更新i,i=i+1,如果i>=N,跳转到step17;step16:更新训练样本集合,用已经训练好的若干层组成的层级检测器对当前正负样本进行检测,将被拒绝的样本从训练集合里剔除,跳转到step14;step17:训练停止。2)拳头图像的检测方法,包括如下步骤:step21:根据预设的窗口尺寸和步长扫描图片,将当前窗口里的图像数据作为待定目标输入检测器;step22:检测待定目标,对于每一层,根据学习好的模型里指定的若干特征计算响应值,输入该层的分类器h,得到判决,如果判决为负样本,则检测完成;如果该样本通过了所有层的检测,则为正样本,因此则可以认为这张图像里含有拳头。3)拳头检测作为辅助信息的手势跟踪方法,包括如下步骤:step30:应用启动拳头检测器;step31:拳头检测器处于伺候状态,监视每一帧视频图像;step32:使用2)部分的拳头检测方法对图像进行检测,如果检测到拳头,则提示用户可以开始具体的手势指令,并将监视视频的控制权交给应用程序,应用程序启动普通手势识别器进行手势的跟踪和识别;step33:如果在某个完整的手势序列完成之前发生了手势丢失的情况,应用程序提示用户发生了跟踪丢失的情况,开始倒计时,并将监视视频的控制权交给拳头检测器,跳转到step35,恢复跟踪;step34:如果在完整的手势指令完成之后,新的手势指令开始之前发生了丢失,则跳转到step31;step35:如果用户出示拳头并被检测到,跳转回step32,继续进行检测到拳头后的步骤;step36:如果超过预设的时间,用户没有出示拳头或者没有被检测到,则视为用户取消了本次手势指令,跳转回step31。优选的,应用程序通过文字、语音或者图标方式对用户进行提示。附图说明图1为本发明实施例拳头检测方法的示意流程图。其中layer表示迭代的索引值,L表示最大迭代层数,x表示输入的一个待测样本,hi(x)表示第i层的判决器,y是判决器的输出值。图2为本发明实施例基于拳头作为辅助信息的手势跟踪流程图。具体实施方式下面结合附图,详细介绍本发明提供的基于拳头检测作为辅助信息的手势跟踪方法及装置。第一部分,作为识别拳头图像的基础,本发明提供了一种拳头图像的训练方法,本发明的拳头训练属于有监督学习算法。训练流程如下:step11:初始化训练样本集合,该集合由若干正样本和负样本图片组成。所谓正样本既刚好包含着拳头的图片,负样本是不含有拳头的任何图片,图片大小例如为24×24。step12:设定训练的参数:Haar特征的类型,检测器层数N,每一层的目标检测率P和误检率R,每一层的最大弱检测器数T。step13:初始化i,i=1。step14:训练第i层。训练根据定义好的Haar类型提取特征,用AdaBoost算法进行训练,训练的停止准则是检测率P和误捡率R是否达到,或者弱检测器个数是否达到T。step15:更新i,i=i+1。如果i>=N,跳转到step17。step16:更新训练样本集合。用已经训练好的若干层组成的层级检测器对当前正负样本进行检测,将被拒绝的样本从训练集合里剔除。跳转到step14。step17:训练停止。第二部分,基于上述对拳头图像的训练,即可完成对拳头图像的检测工作,如图1所示,拳头图像检测方法包括步骤:step21:根据预设的窗口尺寸和步长扫描图片,将当前窗口里的图像数据作为待定目标输入检测器。step22:检测待定目标。对于每一层,根据学习好的模型里指定的若干特征计算响应值,输入该层的分类器h,得到判决。如果判决为负样本,则检测完成;如果该样本通过了所有层的检测,则为正样本。因此则可以认为这张图里有拳头,检测过程可以提前中止。第三部分,基于拳头检测作为辅助信息进行手势跟踪实现流程。本发明的手势跟踪方法要求用户在发出手势指令之前,首先用拳头告诉识别软件要准备发出手势指令,当识别软件检测到拳头,就告诉用户可以发出手势指令,然后跟踪用户的手势指令进行下一步操作。如果发生手势跟踪丢失,用户可以通过拳头恢复跟踪。本方案可以内嵌到使用手势检测和识别的应用中,帮助该应用提高手势的检测率。具体流程如下:step30:应用启动拳头检测器。step31:拳头检测器处于伺候状态,监视每一帧视频图像。step32:使用前述拳头检测方法对图像进行检测,如果检测到拳头,则以例如文字、语音或者图标等方式提示用户可以开始具体的手势指令,并将监视视频的控制权交给应用程序,应用程序启动普通手势识别器进行手势的跟踪和识别。step33:如果在某个完整的手势序列完成之前发生了手势丢失的情况,应用程序以例如文字、语音或者图标等方式提示用户发生了跟踪丢失的情况,开始倒计时,并将监视视频的控制权交给拳头检测器,跳转到step35;step34:如果在完整的手势指令完成之后,新的手势指令开始之前发生了丢失,则跳转到step31。step35:如果用户出示拳头并被检测到,跳转回step32,继续进行检测到拳头后的步骤。step36:如果超过预设的时间,用户没有出示拳头或者没有被检测到,则视为用户取消了本次手势指令,跳转回step31。本发明中,拳头检测器由若干层子检测器级联组成,只有通过所有层的检验的目标才被认为是拳头,该检测器的设计方式提高了拳头检测的正确率。本领域的技术人员应该理解,本发明的方法和装置可以采用硬件、软件、或硬件和软件相结合的方式,通过微处理器、数字信号处理器、现场可编程逻辑单元、或门阵列等各种方式实现。综上所述,虽然本发明已以优选实施例披露如上,然而其并非用以限定本发明。本发明所属技术领域的普通技术人员,在不脱离本发明的精神和范围内,可作各种变动与修饰。因此,本发明的保护范围当视后附的权利要求所界定的范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1