一种手势识别方法和系统与流程

文档序号:12720969阅读:221来源:国知局
一种手势识别方法和系统与流程

本发明涉及手势识别领域,尤其是一种手势识别方法和系统。



背景技术:

手势识别是指从包含手势的单帧图像或图像序列中识别手势类型的过程。通过手势,不仅可以有效传递信息,还可以与环境进行交互。手势识别广泛应用于人机交互、手语交互、虚拟现实、教育辅助等场合。

目前,根据手势识别所使用的传感器形态,手势识别方法可分为:基于惯性传感器的识别方法,基于图像传感器的识别方法,基于深度信息传感器的识别方法等。

惯性传感器在手势识别中的不足:传感器输出为空间三个方向的重力加速度和角度,但是多种因素均会影响惯性传感器的输出,使之具有相似的输出,难以区分。比如,除手掌和前臂之外,身体其他部位的动作,也会产生与手势相似的传感器输出,手势识别准确度低。

深度信息传感器在手势识别中的不足:1、目前市面上缺少高精度的深度传感器;2、成本相对其他模态传感器成本较高。

而基于图像传感器的识别方法,一般是利用手势图像序列进行手势识别,手势图像序列反映了手势内容和变化过程,但是,通常图像序列的采集频率较手势的变换频率高出很多,这使得采集得到图像序列较为冗余,图像帧之间相似程度较高,运算量巨大,处理负担较重;而且利用手势图像序列进行手势识别也存在以下难点:

A、轨迹时空分割的不确定性,也即如何界定手势的起始帧、终止帧和手势进行过程中关键帧;

B、轨迹的时空变化性,也即同一人在不同时刻,不同人在不同时刻做的同一手势存在幅度、持续时长、距离传感器远近不一的特点。

因此,基于图像传感器的识别方法实现比较困难。



技术实现要素:

为了解决上述技术问题,本发明的目的是提供一种利用图像序列关键帧实现高效率手势识别的手势识别方法和系统。

本发明所采用的技术方案是:一种手势识别方法,包括以下步骤:

S1、分别对不同手势的手势图像序列进行处理,获取所述手势图像序列的多个关键帧图像,所述多个关键帧图像组成关键帧集合,得到对应不同手势的多个关键帧集合;

S2、根据所述对应不同手势的多个关键帧集合设计分类器;

S3、获取待识别手势的手势图像序列的关键帧集合,并利用所述分类器对其进行手势识别。

进一步地,所述手势图像序列的多个关键帧图像的获取方法包括以下步骤:

获取手势图像序列中每帧图像的信息熵,并将其映射到一个二维空间坐标平面上,构成手势图像序列的信息熵序列;

从所述二维空间坐标平面上的信息熵序列中获取多个局部极值点,所述局部极值点包括局部极大值和局部极小值;

进行密度聚类,获取所述多个局部极值点的局部密度,并获取每个局部极值点与局部密度比其大的局部极值点之间的最小距离;

获取所述最大的N个最小距离所对应的图像帧为关键帧图像,所述N个关键帧图像组成关键帧集合,所述N为预设特定数目。

进一步地,所述步骤S2包括以下步骤:

S21、利用特征描述子分别对多个关键帧集合的多个关键帧图像进行统一描述实现特征提取,得到多个关键帧特征图集合;

S22、对所述多个关键帧特征图集合进行编码;

S23、根据多个编码后的关键帧特征图集合设计分类器。

进一步地,所述特征描述子包括SIFT特征描述子、SURF特征描述子、VLBP特征描述子、LBP-TOP特征描述子、SIFT-3D特征描述子、HOG特征描述子、角点描述子或边缘描述子。

进一步地,所述步骤S22中的编码方法包括词袋模型。

进一步地,所述步骤S23包括以下步骤:

S231、建立手势类别标签与多个编码后的关键帧特征图集合的对应关系,所述手势类别标签与多个编码后的关键帧特征图集合构成手势识别训练集;

S232、分类器根据手势识别训练集进行参数学习以获取分类器的模型参数实现分类器设计。

进一步地,所述分类器包括支持向量机分类器、最近邻分类器或随机森林分类器。

本发明所采用的一种实施方案是:一种手势识别系统,包括

关键帧集合获取装置,用于分别对不同手势的手势图像序列进行处理,获取所述手势图像序列的多个关键帧图像,所述多个关键帧图像组成关键帧集合,得到对应不同手势的多个关键帧集合;

分类器获取装置,用于根据所述对应不同手势的多个关键帧集合设计分类器;

手势识别装置,用于获取待识别手势的手势图像序列的关键帧集合,并利用所述分类器对其进行手势识别。

进一步地,所述关键帧集合获取装置包括

信息熵获取与映射单元,用于获取手势图像序列中每帧图像的信息熵,并将其映射到一个二维空间坐标平面上,构成手势图像序列的信息熵序列;

局部极值点获取单元,用于从所述二维空间坐标平面上的信息熵序列中获取多个局部极值点,所述局部极值点包括局部极大值和局部极小值;

局部密度与最小距离获取单元,用于进行密度聚类,获取所述多个局部极值点的局部密度,并获取每个局部极值点与局部密度比其大的局部极值点之间的最小距离;

关键帧集合获取单元,用于获取所述最大的N个最小距离所对应的图像帧为关键帧图像,所述N个关键帧图像组成关键帧集合,所述N为预设特定数目。

进一步地,所述分类器获取装置包括

关键帧图像特征提取单元,用于利用特征描述子分别对多个关键帧集合的多个关键帧图像进行统一描述实现特征提取,得到多个关键帧特征图集合;

关键帧图像特征编码单元,用于对所述多个关键帧特征图集合进行编码;

分类器获取单元,用于根据多个编码后的关键帧特征图集合设计分类器。

本发明的有益效果是:本发明一种手势识别方法和系统,利用关键帧集合代替整个手势图像序列进行手势识别,可以极大的降低手势识别时需要处理的数据量,便于处理和存储;进而便于后续环节处理,极大的减小了手势识别时的计算量,提高了手势识别时整体的处理效率和实时性。

另外,由于使用了信息熵,从信息论的角度看,这个过程对于原始数据的信息量并没有较明显的降低,以尽可能小的数据量保留了尽可能大的信息量,从而加快了识别的处理过程。

附图说明

下面结合附图对本发明的具体实施方式作进一步说明:

图1是本发明中一种手势识别方法的步骤流程图;

图2是本发明中一种手势识别系统的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

一种手势识别方法,参考图1,图1是本发明中一种手势识别方法的步骤流程图,包括以下步骤:

S1、分别对不同手势的手势图像序列进行处理,获取手势图像序列的多个关键帧图像,多个关键帧图像组成关键帧集合,得到对应不同手势的多个关键帧集合;

S2、根据对应不同手势的多个关键帧集合设计分类器;

S3、获取待识别手势的手势图像序列的关键帧集合,并利用分类器对其进行手势识别。

关键帧集合是指能够最大程度的表示该图像序列内容的图像帧构成的集合,其能够反映手势运动过程重要节点和主要内容,它包含了手势运动过程中的速度变化、停顿、换向、手型旋转等具有代表性的状态变化。本发明一种手势识别方法,利用关键帧集合代替整个手势图像序列进行手势识别,可以极大的降低手势识别时需要处理的数据量,便于处理和存储;进而便于后续环节处理,极大的减小了手势识别时的计算量,提高了手势识别时整体的处理效率和实时性。另外,选择图像传感器实现手势识别,图像传感器的成本低;而且相比于惯性和深度信息传感器,图像相关的处理方法较为成熟,手势识别的可靠性高。

作为技术方案的进一步改进,手势图像序列的多个关键帧图像的获取方法包括以下步骤:

首先,获取手势图像序列中每帧图像的信息熵,并将其映射到一个二维空间坐标平面上,构成手势图像序列的信息熵序列。假设一个包含n帧的手势图像序列V中的每一帧图像可以用fi来表示,其中i=1,2,...,n,关键帧集合可表示为:SKeyframes=fKeyframes(V),其中fKeyframes表示关键帧集合的提取操作。由于信息熵依赖于上下文的测量,因此信息熵能够代表一组数据的杂质或者不可预知性。对于单一的一帧图像fi,它的灰度分布可以表示成p={p1,p2,...,pn},这帧图像的信息熵定义为:其中为通过归一化灰色像素强度直方图得到的fi的概率密度分布函数;根据上述方法得到手势图像序列的多个信息熵,将多个信息熵E(fi)映射到一个二维空间坐标平面上。由于使用了信息熵,从信息论的角度看,这个过程对于原始数据的信息量并没有较明显的降低,以尽可能小的数据量保留了尽可能大的信息量,从而加快了识别的处理过程。

接着,从上述的二维空间坐标平面上的信息熵序列中获取多个局部极值点,局部极值点包括局部极大值和局部极小值。局部极大值可以通过下面公式得到:同样,局部极小值可以通过下面公式得到:其中i=1,2,...,n。将多个局部极大值和多个局部极小值联合起来,得到多个局部极值点Pextreme:Pextreme=Pmax∪Pmin

接着,进行密度聚类,获取多个局部极值点的局部密度,并获取每个局部极值点与局部密度比其大的局部极值点之间的最小距离。

用于密度聚类的数据具有以下分布特点:1、聚类中心被一群比它密度低的点群包围;2、密度相对较高的点与另外密度相对较高的点之间的距离相对较远。密度聚类相比于传统的聚类方法(比如Kmeans)能够更好的捕获二维空间的数据结构。这种数据分布的特点正好符合上述局部极值点分布的特点。对于每个局部极值点Pextreme,接下来用Pk代表某一局部极值点,分别计算两个量,一个是局部极值点Pk的局部密度以及局部极值点Pk与比它局部密度大的局部极值点之间的最小距离

局部极值点Pk的局部密度定义为:其中,时,其他情况,dc表示截断距离,Pl表示除局部极值点Pk之外的其他局部极值点。实际上,截断距离dc作为阈值,用于界定所处的范围,在dc之内的局部极值点构成一个集合,在dc之外的局部极值点构成另一个集合,这两个集合的边界是根据dc决定的。在实际使用中,dc的取值根据实验效果和经验决定,通常不大于20。基本上,局部极值点Pk的局部密度等于离局部极值点Pk的距离接近dc的局部极值点的个数;该算法仅仅对不同局部极值点Pk的局部密度的相对大小敏感,局部密度实际上是一个统计值,它统计了所有小于dc的局部极值点个数,经过局部密度计算,所有局部极值点增加了各自的局部密度属性。仅仅通过计算局部极值点Pk与其他任意比Pk局部密度高的局部极值点之间的最小距离来衡量,经过计算所有数据点又增加了一种属性和这两个量仅仅依赖于局部极值点之间的距离

最后,获取最大的N个最小距离所对应的图像帧为关键帧图像,N个关键帧图像组成关键帧集合,N为预设特定数目。根据各个局部极值点的选择最大的N个所对应的局部极值点构成集合,这个集合所对应的图像帧集合即是手势图像序列的关键帧集合。

进一步地,采用上述的图像序列的多个关键帧图像的获取方法,得到对应不同手势的多个关键帧集合,接着利用多个关键帧集合设计分类器,具体包括以下步骤:

S21、利用特征描述子分别对多个关键帧集合的多个关键帧图像进行统一描述实现特征提取,得到多个关键帧特征图集合;关键帧图像的特征提取用于建立对关键帧图像的描述,选取感兴趣区域,利用特征描述子对这些区域进行统一描述,得到关键帧图像对应的特征图;可以采用的特征描述子包括SIFT特征描述子、SURF特征描述子、VLBP特征描述子、LBP-TOP特征描述子、SIFT-3D特征描述子、HOG特征描述子、角点描述子或边缘描述子;

S22、对多个关键帧特征图集合进行编码;关键帧图像的特征编码用于将经过特征描述子描述的关键帧特征图转化为统一格式的编码形式,方便后续环节统一开展分类器学习和识别;常用的编码方法包括但不限于词袋模型(Bag of words);

S23、根据多个编码后的关键帧特征图集合设计分类器。

进一步地,步骤S23包括以下步骤:

S231、建立手势类别标签与多个编码后的关键帧特征图集合的对应关系,手势类别标签与多个编码后的关键帧特征图集合构成手势识别训练集;

S232、分类器根据手势识别训练集进行参数学习以获取分类器的模型参数实现分类器设计。

进一步地,上述分类器包括支持向量机分类器、最近邻分类器或随机森林分类器。

下面以支持向量机(SVM,Support Vector Machine)分类器为例,具体说明分类器的设计过程和手势识别的过程:

在实验数据的采集过程中,记录当前被试的不同手势类型(画直线、画圆圈、画波浪线,画对勾、画叉号等)对应的手势图像序列,并建立实验数据即不同手势图像序列与手势类别标签之间的对应关系,手势类别标签可以为0、1、2、3、4…;可以进行多人多次重复实验,根据手势图像序列得到相应的关键帧集合,关键帧集合经过特征提取和特征编码后的数据连同手势类别标签一起构成手势识别训练集,用于训练SVM分类器,得到SVM分类器的模型参数。具体训练SVM分类器的过程如下:1)将实验数据提取的特征进行归一化操作,即关键帧集合获取、特征提取和特征编码;2)连同手势类别标签一起送入SVM分类器进行参数学习用以得到手势识别分类器的具体模型参数。本发明使用的LIBSVM软件进行SVM分类器学习和手势识别,得到的模型参数被自动存储为train.scale.model文件,该文件包含利用LIBSVM软件进行手势预测所需要的参数:nr_class代表训练样本集包含的类别个数,rho是判决函数的常数项b,nr_sv是各个类中落在边界上的向量个数,obj是对SVM问题的优化目标函数的值,nSV是支持向量的个数,nBSV是边界支持向量的个数。

得到SVM分类器的模型参数之后,对于待识别的手势图像序列,先获取待识别的手势图像序列的关键帧集合,再进行特征提取和特征编码后,送入SVM分类器进行识别,SVM分类器根据上述获取得到的模型参数,对待识别的手势进行手势类别标签预测。

一种手势识别系统,参考图2,图2是本发明中一种手势识别系统的示意图,包括

关键帧集合获取装置,用于分别对不同手势的手势图像序列进行处理,获取手势图像序列的多个关键帧图像,多个关键帧图像组成关键帧集合,得到对应不同手势的多个关键帧集合;

分类器获取装置,用于根据对应不同手势的多个关键帧集合设计分类器;

手势识别装置,用于获取待识别手势的手势图像序列的关键帧集合,并利用分类器对其进行手势识别。

本发明一种手势识别系统,利用关键帧集合代替整个手势图像序列进行手势识别,可以极大的降低手势识别时需要处理的数据量,便于处理和存储;进而便于后续环节处理,极大的减小了手势识别时的计算量,提高了手势识别时整体的处理效率和实时性。另外,选择图像传感器实现手势识别,图像传感器的成本低;而且相比于惯性和深度信息传感器,图像相关的处理方法较为成熟,手势识别的可靠性高。手势识别系统的具体工作过程如上述手势识别方法的具体描述,不再赘述。

进一步地,关键帧集合获取装置包括

信息熵获取与映射单元,用于获取手势图像序列中每帧图像的信息熵,并将其映射到一个二维空间坐标平面上,构成手势图像序列的信息熵序列;由于使用了信息熵,从信息论的角度看,这个过程对于原始数据的信息量并没有较明显的降低,以尽可能小的数据量保留了尽可能大的信息量,从而加快了手势识别系统的处理过程;

局部极值点获取单元,用于从二维空间坐标平面上的信息熵序列中获取多个局部极值点,局部极值点包括局部极大值和局部极小值;

局部密度与最小距离获取单元,用于进行密度聚类,获取多个局部极值点的局部密度,并获取每个局部极值点与局部密度比其大的局部极值点之间的最小距离;

关键帧集合获取单元,用于获取最大的N个最小距离所对应的图像帧为关键帧图像,N个关键帧图像组成关键帧集合,N为预设特定数目。

关键帧集合获取装置的具体工作过程如上述关键帧集合的获取方法的具体描述,不再赘述。

进一步地,分类器获取装置包括

关键帧图像特征提取单元,用于利用特征描述子分别对多个关键帧集合的多个关键帧图像进行统一描述实现特征提取,得到多个关键帧特征图集合;

关键帧图像特征编码单元,用于对多个关键帧特征图集合进行编码;

分类器获取单元,用于根据多个编码后的关键帧特征图集合设计分类器。

分类器获取装置的具体工作过程如上述设计分类器的实现方法的具体描述,不再赘述。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

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