1.一种基于Kinect的手势动作识别方法,其特征在于,具体按照以下步骤实施:步骤1,使用手势主趋势来对手势朝向和手势姿态进行表征,实现对相邻帧手势朝向和手势姿态差异的度量;使用相邻帧的手势中心点距离来对手势的运动速度进行度量,完成对独立手势序列关键帧的提取;
步骤2,采用邻域分析法提取包含手势的局部邻域场景,通过对局部邻域场景进行聚类,并基于聚类结果中手势区域的顶点数量变化来实现对交互手势序列关键帧的提取;
步骤3,基于DTW算法实现手势运动路径序列间相似性的度量,进行空间不同朝向的手势运动路径识别;
步骤4,根据步骤3获得的手势运动路径,结合步骤1获取的独立手势序列关键帧和步骤
2获取的交互手势序列关键帧,识别手势起始姿态、手势序列关键帧和手势终止姿态,进而进行基于运动路径的手势动作识别。
2.根据权利要求1所述的一种基于Kinect的手势动作识别方法,其特征在于,所述步骤
1具体为:
步骤1.1:以手腕关节点为初始种子坐标,通过对其的邻域像素进行递归遍历,提取手势区域并转化为手势点云数据;
步骤1.2:针对步骤1.1获得的手势点云数据中所有顶点进行加权平均得到手势中心点pc其中,p1,p2,…pn是手势点云数据的n个顶点;
步骤1.3:依据步骤1.2获得的手势中心点pc,结合手势点云数据顶点pi通过主成分分析法计算手势三维点云数据的主趋势方向,主趋势向量记为步骤1.4,计算相邻帧的手势主趋势夹角θ和相邻帧的手势中心点距离d;
其中gfront和gback为相邻帧手势, 和 为gfront和gback对应的手势主趋势,pfront和pback为gfront和gback对应的手势中心点坐标, 为三维坐标的方向向量对应值, 为 三维坐标的
方向向量对应值;
步骤1.5:基于步骤1.4求得的θ和d构造帧差异特征向量 用来描述两相邻帧手势运动状态之间的差异;
其中,i和j分别为帧序号,对于当前帧i处相邻帧帧差异特征向量的构造,令j=i+1;
步骤1.6:生成相邻帧帧差异特征值fi,i+1
fi,i+1=ω1·θi,i+1+ω2·di,i+1 (7)其中ω1和ω2为权值参数,满足式(8)
ω1+ω2=1 (8)通过设定自适应提取阈值,来实现对备选相邻帧帧差异特征值的提取;如果当前相邻帧的帧差异特征值fi,i+1大于当前相邻帧的自适应提取阈值 那么当前相邻帧的帧差异特征值fi,i+1就是备选相邻帧帧差异特征值;
其中,自适应提取阈值 根据当前帧前15帧与后15帧范围内的相邻帧差异特征值fi,i+1计算得到步骤1.7:通过提取备选相邻帧帧差异特征值局部邻域中的最大值点处所对应的帧,即为对应的独立手势序列关键帧。
3.根据权利要求2所述的一种基于Kinect的手势动作识别方法,其特征在于,所述步骤
1.1具体为:
步骤1.1.1,从微软Kinect实时追踪得到的人体骨架信息中获取人体手腕关节点坐标P;
步骤1.1.2,以手腕关节点P为初始种子像素点,计算其与八邻域各点Pi,i∈[0,7]的深度差值difi,i∈[0,7],当difi小于深度阈值Tdepth时,像素点Pi属于手势区域,将其加入手势区域G,并设置Pi为种子像素;
步骤1.1.2,以Pi为种子像素,重复步骤1.1.2,通过对种子点邻域像素进行递归遍历得到手势区域G。
4.根据权利要求2所述的一种基于Kinect的手势动作识别方法,其特征在于,所述步骤
1.3具体为:
计算三维点云数据的协方差矩阵C,
其中p c为三维 点云数 据的 手势中 心点 ,pi为手 势点云数 据顶点 ,xi,yi,zi中是点pi的坐标;
通过对协方差矩阵C进行求解得到三个特征值λ1、λ2、λ3和它们对应的特征向量v1、v2、v3,而最大的特征值所对应的特征向量方向就是三维点云数据的主趋势方向,主趋势向量记为
5.根据权利要求3所述的一种基于Kinect的手势动作识别方法,其特征在于,所述步骤
2具体为:
步骤2.1,对包含手势的场景进行聚类,得到场景中的各个物体对象;
步骤2.2,从Kinect追踪的人体骨架信息中直接提取出手势手腕关节点坐标,以手腕关节点为初始种子像素点,迭代使用像素邻域扩张策略来对手势区域进行提取,方法同步骤
1.1;
步骤2.3,通过对比相邻帧场景中手势区域聚类结果的点集数量变化情况,来分析手势是否与场景中的其它对象发生了交互;
当手势与场景中其它对象进入交互状态的瞬间,手势点云聚类结果的顶点数量会突然增多;当手势与场景中其它对象退出交互状态的瞬间,手势点云聚类结果的顶点数量会突然减少,根据这个规律,对手势与场景中对象发生交互的交互初始状态和交互终止状态进行识别,进而提取出交互手势序列关键帧。
6.根据权利要求3所述的一种基于Kinect的手势动作识别方法,其特征在于,所述步骤
3具体为:
步骤3.1,按照曲线路径弯曲程度从强到弱将曲线划分为cur_large、cur_mid、cur_small三类并建立手势运动路径库;
步骤3.2:依据步骤1.2计算手势运动路径中每一帧的手势中心点坐标,从而得到手势运动路径;
步骤3.3:以步骤3.2计算得来的手势运动路径的手势中心点为初始手势中心点,以该点为原点,初始手势中心点p1指向终止手势中心点pn的向量 为u轴,过初始手势中心点p1垂直于 为v轴,建立手势运动路径度量坐标系;
步骤3.4:选取u坐标轴和v坐标轴的单位长度ue,来对手势运动路径进行规范化度量;
基于单位长度ue对手势运动路径上任意手势中心点p进行度量,计算对应度量结果pmeasure:其中 表示点p到向量 的距离;
步骤3.5:使用步骤3.3-3.4的度量方法对源手势运动路径和目标手势运动路径进行度量,转化为规范化后的手势运动路径序列;
步骤3.6:将经步骤3.5规范化处理后的手势运动路径序列作为源手势运动路径,通过使用动态时间规整算法DTW在步骤3.1建立的手势运动路径库中查找最佳匹配的目标手势运动路径,从而实现对手势运动路径的识别。
7.根据权利要求5所述的一种基于Kinect的手势动作识别方法,其特征在于,所述步骤
4具体为:
步骤4.1:根据步骤1和步骤2的手势序列划分方法提取待识别手势动作的独立手势序列关键帧和交互手势序列关键帧;
步骤4.2:根据步骤3获得的手势运动路径,结合步骤4.1获取的独立手势序列关键帧和交互手势序列关键帧,识别手势起始姿态、手势序列关键帧和手势终止姿态;
步骤4.3:基于手势起始姿态和手势终止姿态对手势动作序列所有可能的候选手势动作类型进行初步估计;
步骤4.4:对手势运动路径上的每个手势序列关键帧,计算该手势序列关键帧沿着手势运动路径到手势起始姿态和手势终止姿态的距离比值λ:其中,dstart和dstart分别代表从当前手势序列关键帧处沿着手势运动路径到达手势起始姿态和手势终止姿态的距离;
步骤4.5,对手势起始姿态和手势终止姿态进行插值变形,得到该手势动作序列所有关键帧处的预期手势姿态Gkey:其中,Gkey、Gstart、Gend分别表示关键帧处的手势姿态、手势起始姿态和手势终止姿态;
步骤4.6:通过对该手势动作序列的预期手势姿态和候选手势动作序列相同时序处手势姿态的相似度进行计算,按式(12)累积当前手势动作序列所有手势序列关键帧处的相似度,选取累积相似度最高的那个候选手势动作类型,作为该手势动作序列的语义,实现对该手势动作的识别;
其中,γi表示关键帧i(i=1,2…k)处预期手势姿态和候选手势动作序列相同时序处手势姿态的相似度。