一种基于深度传感器的手势识别方法转让专利

申请号 : CN201710950139.6

文献号 : CN107742102B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王行盛赞李骊杨高峰周晓军

申请人 : 北京华捷艾米科技有限公司

摘要 :

本发明公开了一种基于深度传感器的手势识别方法,步骤依次为获取深度流信息和人体骨架节点数据;分割手势区域;对手势区域的3D点云坐标进行正面化和二值化;手势特征提取、归一化和降维处理;对手势特征进行筛选,得到最优手势特征子集;采用支持向量机训练手势分类器,得到分类结果;对手势分类结果进行滤波。本发明弥补了现有技术的缺陷,提高了手势识别的精度、稳定性和效率。

权利要求 :

1.一种基于深度传感器的手势识别方法,其特征在于,包括以下步骤:(1)通过深度传感器获取深度流信息和人体骨架节点数据;

(2)根据深度流信息和人体骨架节点数据分割出手势区域;

(3)对手势区域的3D点云坐标进行正面化,并将正面化的3D点云进行空间三个平面的映射,得到三个平面的手势二值化图;

(4)对三个平面的手势二值化图进行手势特征提取,然后对提取的手势特征依次进行归一化和降维处理;

(5)对归一化和降维处理后的手势特征进行特征筛选,得到最优手势特征子集;

(6)采用支持向量机训练手势分类器,将最优手势特征子集输入手势分类器,得到分类结果;

(7)对手势分类结果进行滤波,将手势分类器输出的分类结果评判分数与手势相对深度传感器的方向分数、手势的运动速度分数作为参数因子,将三个参数因子相乘并归一化后的值作为滤波结果;其中,分类结果评判分数的求取方法如下:训练两个手势分类器来同时识别深度图上的手势,第一个分类器采集深度距离小于1米的手势样本来进行训练,第二个分类器采集深度距离大于1.6米的手势样本来进行训练,得到两个分类器的置信分数,然后采用线性加权的方式将两个置信分数融合在一起,得到分类结果评判分数Classifier_score:上式中,classifier0和classifier1分别为第一个分类器和第二个分类器的置信分数,d为深度距离。

2.根据权利要求1所述基于深度传感器的手势识别方法,其特征在于,步骤(2)的具体步骤如下:(201)深度传感器获取的图像为w*h平面图像,它是以图像中心为原点,其中w为平面图像的宽,h为平面图像的高,首先将深度传感器采集的深度值转换为实际的深度距离值d:d=K*tan(draw/2842.5+1.1863)-0.037上式中,K为深度传感器焦距,draw表示原始图像深度值;

(202)然后将像素位置(i,j,d)转换到实际位置信息(x,y,z):其中,s为缩放尺度,(i,j)为像素的平面坐标;

(203)根据实际位置信息和人体手部的骨架节点进行手势分割。

3.根据权利要求2所述基于深度传感器的手势识别方法,其特征在于,步骤(203)的具体过程步骤如下:(2031)计算手腕关键点v1到手肘关键点v2之间的欧式距离d12:上式中,v1.x、v1.y、v1.z分别为手腕关键点v1的实际位置信息,v2.x、v2.y、v2.z分别为手肘关键点v2的实际位置信息;

(2032)然后以手掌中央关键点v0为中心,以d12×2/3为半径,设置一个圆形的感兴趣区域,在该感兴趣区域内通过深度距离和最近邻法去分割手势。

4.根据权利要求3所述基于深度传感器的手势识别方法,其特征在于,为了防止手部和身体区域的粘连,计算身体平面的一个平均深度值Vmax和手势的最小深度值Vmin,构造一个以手掌中央关键点v0为球心,以d12为x,y轴半径,以v0-Vmin和Vmax-v0为前、后深度半径的椭圆3D空间,然后通过阈值分割把手部的3D点云分割出来。

5.根据权利要求1所述基于深度传感器的手势识别方法,其特征在于,步骤(3)的具体步骤如下:(301)对手势区域的3D坐标利用最小二乘法进行平面拟合,得到手势点云的平面法向量(a,b,c);

(302)计算该法向量与二维X-Y平面平行时需要绕X轴旋转的角度α以及该法向量与二维Y-Z平面平行时需要绕Y轴旋转的角度β:(303)对手势3D点云进行正面化:

上式中, 为手势3D点云原始坐标, 为正面化后的坐标;

(304)对正面化后的手势3D点云求取3维空间的包围圈Box3D,该包围圈以手势中心为原点,然后求取最左最右最上最下四个方向的边界像素坐标,以所有手势区域点集的深度数据的中间值作为手部中心原点的深度值,以正负40 为前后距离,然后以该Box3D把手势区域分割出来做主成分分析,得到对应的特征向量和特征值,特征值的前3维信息分别代表了x,y,z三个方向的主要信息,通过特征值来分别重构出X,Y,Z三个轴的点云信息,映射后得到X-Y,Y-Z,Z-X三个平面的手势二值化图。

6.根据权利要求1所述基于深度传感器的手势识别方法,其特征在于,步骤(4)中手势特征提取的具体步骤如下:(401)首先对所得到的手势二值化图做形态学处理,以消除孔洞和细节影响,再使用八领域搜索算法提取手势边界坐标信息;

(402)边界坐标信息是一些离散的点坐标,对描述整个手势的轮廓信息不够充分,因此对其进行曲线拟合差值,保证差值后得到N个点坐标序列,设这N个坐标为(x0,y0),(x1,y2)···(xN-1,yN-1),把每一个点的坐标用复数表示:Cn=xn+i×yn,n=0,1,2…,N;

(403)然后对该复数坐标序列进行傅里叶变换,得到傅里叶变换系数k=0~255,为了得到旋转、平移和缩放的不变性,对zk进行归一化,得到归一化的傅里叶描述子;

(404)傅里叶描述子的高频成分主要集中了图像的细节信息,而其低频成分保留了图像的轮廓信息,截取傅里叶描述子两端的低频成分;

(405)Hu七阶距具有旋转、缩放、尺度不变性,提取Hu七阶距,与傅里叶描述子的低频成分融合成手势轮廓特征。

7.根据权利要求1所述基于深度传感器的手势识别方法,其特征在于,步骤(5)的具体步骤如下:(501)求每个样本中第1个手势特征与该样本中其余手势特征的欧式距离,找出欧式距离最小的特征,将该特征所对应的分类类别与第1个手势特征所对应的分类类别比较,若二者一致就记录下来,将所有样本中的一致个数与样本总量相除,得到第1个手势特征的正确率;

(502)按照步骤(501 ),依次计算后续手势特征的正确率,将后一个手势特征的正确率小于前一个手势特征的正确率作为停止条件,从而得到最优手势特征子集。

8.根据权利要求1所述基于深度传感器的手势识别方法,其特征在于,在步骤(7)中,当求取了分类结果评判分数Classifier_score之后的具体步骤如下:(701)将手掌与深度传感器的夹角作为手势相对深度传感器的方向分数Acc_Score,夹角越小,则被遮挡的图像越多,那么分类器所得出的结果也就越不确定;

(702)当手势运动速度小于0.1m/s时,把手势的运动速度分数Velocity_Score设置为

1,而当速度大于0.55m/s时,把Velocity_Score设置为0,在0.1~0.55m/s之间时,采用一种线性下降的方式设置Velocity_Score;

(703)将三个参数因子相乘Classifier_score×Acc_Score×Velocity_Score,再做归一化处理,即得到最终的滤波结果。

说明书 :

一种基于深度传感器的手势识别方法

技术领域

[0001] 本发明涉及深度测量和手势分类领域,特别涉及了一种基于深度传感器的手势识别方法。

背景技术

[0002] 手势识别一直是人际交互应用中非常重要的一种技术,其中基于深度信息的手势识别与传统的基于计算机视觉的手势识别相比具有先天优势,比如在黑暗环境或者光照比较强烈的时候都会影响彩色图上面的提取的特征,从而影响最终的识别率。
[0003] 现有基于深度信息手势识别技术一般都是提取手势轮廓特征进行分类,基于形状特征的方法主要有:(1)形状内容分析;(2)模板匹配;(3)豪斯多曼距离;(4)方向直方图;(5)Hu不变距。现有基于深度信息手势识别方法在算法效率、识别精度和稳定性以及模型数据包大小等方面均存在缺陷,制约了手势识别技术的应用。

发明内容

[0004] 为了解决上述背景技术提出的技术问题,本发明旨在提供一种基于深度传感器的手势识别方法,弥补现有技术的缺陷,提高手势识别的精度、稳定性和效率。
[0005] 为了实现上述技术目的,本发明的技术方案为:
[0006] 一种基于深度传感器的手势识别方法,包括以下步骤:
[0007] (1)通过深度传感器获取深度流信息和人体骨架节点数据;
[0008] (2)根据深度流信息和人体骨架节点数据分割出手势区域;
[0009] (3)对手势区域的3D点云坐标进行正面化,并将正面化的3D点云进行空间三个平面的映射,得到三个平面的手势二值化图;
[0010] (4)对三个平面的手势二值化图进行手势特征提取,然后对提取的手势特征依次进行归一化和降维处理;
[0011] (5)对归一化和降维处理后的手势特征进行特征筛选,得到最优手势特征子集;
[0012] (6)采用支持向量机训练手势分类器,将最优手势特征子集输入手势分类器,得到分类结果;
[0013] (7)对手势分类结果进行滤波,将手势分类器输出的分类结果评判分数与手势相对深度传感器的方向分数、手势的运动速度分数作为参数因子,将三个参数因子相乘并归一化后的值作为滤波结果。
[0014] 进一步地,步骤(2)的具体步骤如下:
[0015] (201)深度传感器获取的图像为w*h平面图像,它是以图像中心为原点,其中w为平面图像的宽,h为平面图像的高,首先将深度传感器采集的深度值转换为实际的深度距离值d:
[0016] d=K*tan(draw/2842.5+1.1863)-0.037
[0017] 上式中,K为深度传感器焦距,draw表示原始图像深度值;
[0018] (202)然后将像素位置(i,j,d)转换到实际位置信息(x,y,z):
[0019]
[0020] 其中,s为缩放尺度,(i,j)为像素的平面坐标;
[0021] (203)根据实际位置信息和人体手部的骨架节点进行手势分割。
[0022] 进一步地,步骤(203)的具体过程步骤如下:
[0023] (2031)计算手腕关键点v1到手肘关键点v2之间的欧式距离d12:
[0024]
[0025] 上式中,v1.x、v1.y、v1.z分别为手腕关键点v1的实际位置信息,v2.x、v2.y、v2.z分别为手肘关键点v2的实际位置信息;
[0026] (2032)然后以手掌中央关键点v0为中心,以d12×2/3为半径,设置一个圆形的感兴趣区域,在该感兴趣区域内通过深度距离和最近邻法去分割手势。
[0027] 进一步地,为了防止手部和身体区域的粘连,计算身体平面的一个平均深度值Vmax和手势的最小深度值Vmin,构造一个以手掌中央关键点v0为球心,以d12为x,y轴半径,以v0-Vmin和Vmax-v0为前、后深度半径的椭圆3D空间,然后通过阈值分割把手部的3D点分割出来。
[0028] 进一步地,步骤(3)的具体步骤如下:
[0029] (301)对手势区域的3D坐标利用最小二乘法进行平面拟合,得到手势点云的平面法向量(a,b,c);
[0030] (302)计算该法向量与二维X-Y平面平行时需要绕X轴旋转的角度α以及该法向量与二维Y-Z平面平行时需要绕Y轴旋转的角度β:
[0031]
[0032]
[0033] (303)对手势3D点云进行正面化:
[0034]
[0035]
[0036] 上式中, 为手势3D点云原始坐标, 为正面化后的坐标;
[0037] (304)对正面化后的手势3D点云求取3维空间的包围圈Box3D,该包围圈以手势中心为原点,然后求取最左最右最上最下四个方向的边界像素坐标,以所有手势区域点集的深度数据的中间值作为手部中心原点的深度值,以正负40为前后距离,然后以该Box3D把手势区域分割出来做主成分分析,得到对应的特征向量和特征值,特征值的前3维信息分别代表了x,y,z三个方向的主要信息,通过特征值来分别重构出X,Y,Z三个轴的点云信息,映射后得到X-Y,Y-Z,Z-X三个平面的手势二值化图。
[0038] 进一步地,步骤(4)中手势特征提取的具体步骤如下:
[0039] (401)首先对所得到的手势二值化图做形态学处理,以消除空洞和细节影响,载使用八领域搜索算法提取手势边界坐标信息;
[0040] (402)边界坐标信息是一些离散的点坐标,对描述整个手势的轮廓信息不够充分,因此对其进行曲线拟合差值,保证差值后得到N个点坐标序列,设这N个坐标为(x0,y0),(x1,y2)···(xN-1,yN-1),把每一个点的坐标用复数表示:Cn=xn+i×yn,n=0,1,2…,N;
[0041] (403)然后对该复数坐标序列进行傅里叶变换,得到傅里叶变换系数k=0~255,为了得到旋转、平移和缩放的不变性,对zk进行归一化,得到归一化的傅里叶描述子;
[0042] (404)傅里叶描述子的高频成分主要集中了图像的细节信息,而其低频成分保留了图像的轮廓信息,截取傅里叶描述子两端的低频成分;
[0043] (405)Hu七阶距具有旋转、缩放、尺度不变性,提取Hu七阶距,与傅里叶描述子的低频成分融合成手势轮廓特征。
[0044] 进一步地,步骤(5)的具体步骤如下:
[0045] (501)求每个样本中第1个手势特征与该样本中其余手势特征的欧式距离,找出欧式距离最小的特征,将该特征所对应的分类类别与第1个手势特征所对应的分类类别比较,若二者一致就记录下来,将所有样本中的一致个数与样本总量相除,得到第1个手势特征的正确率;
[0046] (502)按照步骤(502),依次计算后续手势特征的正确率,将后一个手势特征的正确率小于前一个手势特征的正确率作为停止条件,从而得到最优手势特征子集。
[0047] 进一步地,步骤(7)的具体步骤如下:
[0048] (701)首先求取手势分类结果评判分数Classifier_score,训练两个手势分类器来同时识别深度图上的手势,第一个分类器采集深度距离小于1米的手势样本来进行训练,第二个分类器采集深度距离大于1.6米的手势样本来进行训练,得到两个分类器的置信分数,然后采用线性加权的方式将两个置信分数融合在一起,得到Classifier_score:
[0049]
[0050]
[0051] 上式中,classifier0和classifier1分别为第一个分类器和第二个分类器的置信分数,d为深度距离;当深度距离小于1米时,只考虑第一个分类器所得出的分类概率;当深度距离大于1.6米时,只考虑第二个分类器所得出的分类概率;当深度距离在1~1.6米之间时,将两个分类结果以线性加权的方式组合,当两个分类器所得出的分类结果不同时,将两个分类器的结果相减,当两个分类器所得出的分类结果相同时,将两个分类器的结果相加;
[0052] (702)将手掌与深度传感器的夹角作为手势相对深度传感器的方向分数Acc_Score,夹角越小,则被遮挡的图像越多,那么分类器所得出的结果也就越不确定;
[0053] (703)当手势运动速度小于0.1m/s时,把手势的运动速度分数Velocity_Score设置为1,而当速度大于0.55m/s时,把Velocity_Score设置为0,在0.1~0.55m/s之间时,采用一种线性下降的方式设置Velocity_Score;
[0054] (704)将三个因子相乘Classifier_score×Acc_Score×Velocity_Score,再做归一化处理,即得到最终的滤波结果。
[0055] 采用上述技术方案带来的有益效果:
[0056] 本发明对手势分割后的3D点云坐标信息进行3D空间旋转,使其平行X-Y平面,然后将其映射到X-Y-Z,Z-X三个平面,获取了三个平面的手势二值化图像。本发明采用了特征融合以及特征筛选的方法,使整个算法在算法效率、识别率以及模型数据包的大小方面都得到了很好的提升。本发明采用了一种手势后处理的方法,将分类器结果、传感器的角度、手势的运动速度三个参数因子相结合,得到稳定的手势识别率。为了解决在不同距离获取的手势深度有偏差的问题,本发明采用了一种结合远近分类器线性加权的方法,使手势的分类结果在远距离和近距离都可以得到比较好的分类结果。

附图说明

[0057] 图1是本发明的整体流程图;
[0058] 图2是深度传感器获取的平面图像;
[0059] 图3是本发明中手势的运动速度分数设置示意图。

具体实施方式

[0060] 以下将结合附图,对本发明的技术方案进行详细说明。
[0061] 一种基于深度传感器的手势识别方法,如图1所示,具体步骤如下。
[0062] 1、通过3D深度传感器获取深度流信息以及人体骨架节点
[0063] 2、手势分割
[0064] 深度设备采集得到深度流信息和人体骨架节点后,将分割手部区域,得到只包含手势区域的3D点云坐标,具体步骤如下:
[0065] 图2为深度设备获取的w*h平面图像,它是以图像中心为原点。由于直接从深度设备上面采集的深度值不是实际距离。所以需要将其转换为实际的深度距离值:
[0066] d=K*tan(draw/2842.5+1.1863)-0.037
[0067] K=0.1236m,draw表示原始图像深度数据。
[0068] 这样就得到每个点的实际深度值,然后再根据以下公式将像素位置(i,j,d)转换得到实际坐标位置信息(x,y,z):
[0069]
[0070] 其中s=0.0021。
[0071] 得到了实际坐标信息,然后根据手部的骨架节点位置确定手部分割的感兴趣区域,具体做法如下:
[0072] 计算手腕关键点v1到手肘关键点v2之间的欧式距离d12:
[0073]
[0074] 以手掌中央关键点v0为中心,以d12×2/3为半径设置一个圆形的感兴趣区域内通过深度距离和最近邻法去分割手势。为了防止手部和身体区域的粘连,我们首先计算身体平面的一个平均深度值Vmax,以及手势的最小深度值Vmin,这样我们就可以构造出一个以手掌中央关键点为球心,以d12为x,y轴半径,以v0-Vmin和Vmax-v0为前后深度半径的一个椭圆3D空间,然后通过阈值分割,就可以把手部的3D点分割出来。
[0075] 3、手势正面化
[0076] 为了提高最终的手势识别率,需要将得到的手势的方向和尺度进行校正,使其尽可能的统一。首先通过对手势部分的3D坐标利用最小二乘算法进行平面拟合,得到手势点云的平面法向量为(a,b,c),然后我们根据该法向量计算得到其到与二维X-Y平面平行的时候需要绕X轴旋转α度,与二维Y-Z平面平行的时候需要绕Y轴旋转β度,那么就可以通过以下公式对3D手势点云进行旋转,假设3D手势点云原始坐标为 正面化后的坐标为那么我们就可以通过以下公式得到。
[0077]
[0078]
[0079]
[0080]
[0081] 在正面化之后,对正面化后的手部3D点云求取3维空间的包围圈Box3D,该包围圈以手势中心为原点,然后求取最左最右最上最下四个方向的边界像素坐标,深度空间的距离以所有手部区域点集的深度数据的中间值作为手部中心原点的深度值,以正负40为前后距离,然后以该Box3D把手部区域分割出来做主成分分析(PCA),这样就可以得到对应的特征向量和特征值,我们知道特征值的前面3维信息分别代表了x,y,z三个方向的主要信息,这样我们就可以通过特征值来分别重构出X,Y,Z三个轴的点云信息,这样我们通过映射后就可以得到了3个平面手势二值化图。
[0082] 4、手势特征提取
[0083] 下面进行手势特征提取,具体步骤如下:
[0084] 我们知道傅里叶描述子在物体形状识别方面具有很好分类特征(尺度缩放,旋转,平移不变形),利用得到的轮廓边界坐标对其进行提取傅里叶变换系数,具体步骤如下:
[0085] 首先对所得到的手势二值化图做形态学处理(使用3×3的核先进行腐蚀操作,然后再进行膨胀操作),以消除空洞以及一些细节的影响,然后使用八领域搜索算法提取手势边界坐标信息。
[0086] 得到边界信息后,因为所得到的一些离散的点坐标,这对描述整个手势的轮廓信息是不够充分的,所以需要对其进行曲线拟合差值,保证差值后得到1000个点坐标序列。设这1000个坐标为(x0,y0),(x1,y2)···(x999,y999),把每一点的坐标用复数表示:Cn=xn+i×yn,然后对该复数坐标序列进行傅里叶变换,就可以得到我们想要的傅里叶变换系数为了得到旋转、平移和缩放的不变性,需要对其进行转换这样就得到了归一化后的傅里叶描述子。因为傅里叶描述子的高频成分主要集中了图像的细节信息,低频成分保留了图像的轮廓信息,通过傅里叶变换后,低频成分主要集中在两端,所以我截取了Nork的前端64维和末端64维特征,组成了一个128维的特征F。
[0087] Hu的七阶距具有旋转、缩放、尺度不变形,为了使特征更丰富,还提取Hu七阶距,这样就可以与128维傅里叶描述子组合成一个135维的手势轮廓特征描述子。
[0088] 特征归一化是许多机器学习模型都需要注意的一个步骤,通过特征归一化后不仅能够提升模型的熟练速度,而且可以提升模型的精度。没有对数据进行归一化,会使模型参数被分布范围较大或者较小的数据控制。本发明中对数据采用按列进行归一化,相比传统的按行进行归一化得到了更高的识别率。这里采用线性归一化的方式把数据归一化到[0,1]之间,具体公式如下:
[0089]
[0090] 因为在大量样本信息中有着很多冗余和重复的信息的存在,所以需要对的数据做降维处理,这不仅可以消除数据间的冗余,简化数据,减少数据存储容量,还可以改善数据的可理解性,减少噪声的影响,提高学习算到的精度。在本发明中,通过实验得到,当把135维数据降低到108维的时候,依然可以保留原来99%的能量信息,因此只需要存储映射矩阵,这为后面的特征选择节省了训练时间。
[0091] 5、特征选择
[0092] 特征选择在机器学习方面具有非常重要的作用,它通过在原来大数据集上选择重要特征构成特征子集,这对于我们构建一个高识别率、低功耗的嵌入式手势分类系统非常重要,特别是对于提高支持向量机在泛化能力和最小错误率方面更有显著的作用。
[0093] 在上述经过PCA压缩特征提取后,我们已经得到了一个高维空间的108维的特征映射矩阵,下面我们就需要从这108维的特征映射矩阵中寻找出最优特征子集,这样做有3个目的:压缩训练模型数据包大小;抛弃掉无用的特征,提高识别率;提高训练速度和计算速度。以下是具体的特征选择步骤:
[0094] 特征选择策略采用前向顺序搜索方式,采用了10000*108矩阵大小,表示10000个样本,每个样本108个特征,我们需要从里面挑选出使总体识别率达到最优的那个特征子集。从第一个特征开始选择,将该特征与样本中剩余的特征求欧式距离,这样得到一个欧式距离最近的特征,将这个最近的特征所对应的分类类别与输入特征的类别进行比较,如果一致就记录下来,最后将所有样本的一致个数与样本的总量进行相除得到第1个特征的正确率,以此类推当进行后续特征选择,将后一个特征的正确率小于上一个特征的正确率的时候作为停止条件,这样就可以得到最优特征子集。在本实施例中从108个特征中挑选出了30个特征,可以达到比原来更好的识别率。
[0095] 6、支持向量机
[0096] 因为支持向量机在解决小样本、非线性及高维模式识别中表现出许多特有的优势,所以本发明选取支持向量机来构造一个手势类别分类器。选择原始特征经过PCA以及特征选择以后的数据作为支持向量机的训练集,并且标注样本类别。选取RBF核函数,采用交叉验证选择最佳参数C和g,对于训练一个最优的分类器,首先选取一个最优的惩罚系数。利用得到的最佳参数C和g,然后对整个训练集进行训练,并且得到手势类别分类器。对训练所得分类辨别器在公开的MSRA手势数据集上面进行交叉验证,最后得到98.9%的正确识别率。
[0097] 7、手势后处理
[0098] 为了提高在实时中的手势识别率,本发明采用了一种线性权重加权的方式,除了手势分类器所得出的分类结果评判分数Classifier_score外,还包括手势相对深度传感器的方向Acc_Score和手势的运动速度Velocity_Score。
[0099] 对于手势分类结果Classifier_score的求取,训练两个手势分类器来同时识别深度图上的手势,第一个分类器采集深度距离小于1米的手势样本来进行训练,第二个分类器采集深度距离大于1.6米的手势样本来进行训练,得到两个分类器的置信分数,然后采用线性加权的方式将两个置信分数融合在一起,得到Classifier_score:
[0100]
[0101]
[0102] 由公式可知,当深度距离小于1米的时候,我们就只考虑近距离分类器所得出来的分类概率,当深度距离大于1.6米的时候,我们只考虑远距离分类器所得出的分类概率。只有当手势距离在1到1.6米时候,才需要将两个分类结果线性加权的方式来组合:当两个分类器所得出的分类结果不一样的时候,我们将两个分类器的结果进行相减,而他们相同的时候则进行相加合并。
[0103] 当手掌与传感器正交的时候,则能获取整只手比较好的视图,当与传感器的夹角越小,则被遮挡的图像越多,那么用分类器所得出的结果也就越不确定。所以将手势方向与传感器的夹角作为手势分类其中的一个因子Acc_Score。
[0104] 手势的运动速度会直接影响到我们最终的分类识别,移动越快则精度越低。在本发明中,把当速度小于0.1m/s的时候,把速度分数Velocity_Score设置为1,而当速度大于0.45m/s的时候把Velocity_Score设置为0,在0.1到0.55m/s的时候采用一种线性下降的方式设置Velocity_Score,如图3所示。
[0105] 通过相乘这三个因子Classifier_score×Acc_Score×Velocity_Score,就可以得出滤波后的当前帧的手势状态以及对应的概率。
[0106] 以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。