CN110895684A - 一种基于Kinect的手势动作识别方法 - Google Patents

一种基于Kinect的手势动作识别方法 Download PDF

Info

Publication number
CN110895684A
CN110895684A CN201910979735.6A CN201910979735A CN110895684A CN 110895684 A CN110895684 A CN 110895684A CN 201910979735 A CN201910979735 A CN 201910979735A CN 110895684 A CN110895684 A CN 110895684A
Authority
CN
China
Prior art keywords
gesture
point
sequence
motion path
posture
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910979735.6A
Other languages
English (en)
Other versions
CN110895684B (zh
Inventor
王映辉
赵艳妮
宁小娟
王东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian University of Technology
Original Assignee
Xian University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian University of Technology filed Critical Xian University of Technology
Priority to CN201910979735.6A priority Critical patent/CN110895684B/zh
Publication of CN110895684A publication Critical patent/CN110895684A/zh
Application granted granted Critical
Publication of CN110895684B publication Critical patent/CN110895684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种基于Kinect的手势动作识别方法,具体为:对独立手势序列关键帧的提取,对交互手势序列关键帧的提取,基于DTW算法实现手势运动路径序列间相似性的度量,进行空间不同朝向的手势运动路径识别;根据手势运动路径、独立手势序列关键帧、交互手势序列关键帧,识别手势起始姿态、手势序列关键帧和手势终止姿态,进而进行基于运动路径的手势动作识别。本发明在手势运动路径跟踪的基础上实现对手势动作的识别,给出了基于手势起始姿态、手势运动路径和手势终止姿态对手势动作进行识别的策略。

Description

一种基于Kinect的手势动作识别方法
技术领域
本发明属于虚拟现实和人机交互方法技术领域,涉及一种基于Kinect 的手势动作识别方法。
背景技术
手势识别技术是自然人机交互的重点研究内容之一,手势作为自然的人机交互手段可以提高虚拟场景中的互操作性并带来更加真实自然的沉浸式体验,从而为复杂交互任务的完成提供了可能。手势识别技术使用比较广泛,比如安全驾驶中的辅助驾驶、聋哑人交流的手语识别等方面,总之,手势识别技术在教育、医疗、无人机等领域都有着广泛的应用。
目前手势识别技术主要基于二维和三维的,二维手势识别是在图像层面上的手势识别,三维是在深度图或者点云数据上的手势识别。相比于二维图像上的手势识别,基于三维深度图数据或点云数据的手势识别因其数据本身增加了场景深度信息,因此可以更为准确的反映手势的细节信息、三维位置信息和三维表面信息,更加符合人眼看物体的视觉特性,同时也回避了基于二维是投影结果所带来的先天不足。本发明将基于Kinect采集的三维信息进行手势的识别研究。
基于外表轮廓特征的手势识别是基于Kinect采集的深度图数据上的手势动作识别。Pugeault N,Bowden R.Spelling it out:Real-time ASL fingerspellingrecognition[C]//2011IEEE International conference on computer visionworkshops(ICCV workshops).IEEE,2011:1114-1119.,通过用OpenNI+NITE 框架进行手势检测和追踪并使用Gabor滤波器进行手势形状轮廓特征提取实现动态识别;Yao Y,FuY.Contour model-based hand-gesture recognition using the Kinect sensor[J].IEEE Transactions on Circuits and Systems for Video Technology,2014,24(11):1935-1944,对手势进行分割和分类并构建手势轮廓模型库,针对图形构造三维手势轮廓并在模型库匹配从而实现手势识别。
基于形态拓扑特征的手势识别是基于手势深度图拓扑结构的识别方法。 Tang D,Jin Chang H,Tejani A,et al.Latent regression forest:Structured estimation of3d articulated hand posture[C]//Proceedings of the IEEE conference oncomputer vision and pattern recognition.2014:3786-3793,利用训练出的符合人手层级拓扑的潜在回归森林对每个像素点进行分类评估并确定出关节点像素,进而得到手势层级拓扑结构,实现对手势姿态的准确估计。
基于内部骨架特征的手势识别方法是在手势深度图数据骨架上的识别方法。QianC,Sun X,Wei Y,et al.Realtime and robust hand tracking from depth[C]//Proceedings of the IEEE conference on computer vision and patternrecognition.2014:1106-1113,采用了一个快速代价函数来对手势模型与手势深度数据间距离进行度量,在满足运动学约束前提下使用基于梯度随机优化方法对度量代价进行优化,从而收敛得到全局最优解来实现对手势的实时识别。De Smedt Q,Wannous H,Vandeborre JP.Skeleton-based dynamic hand gesture recognition[C]Proceedingsof the IEEE Conference on Computer Vision and Pattern RecognitionWorkshops.2016:1-9,基于对手部骨架中提取的描述信息使用基于高斯混合模型得到的Fisher向量进行编码表示,并得到手势特征向量,通过训练支持向量机对手势进行分类实现手势识别。
已有的三维手势动作识别方法基于外表轮廓、形态拓扑、内部骨架等特征对手势动作进行识别,同时也未考虑同一类型路径因速度快慢不同、距离长短不同所产生的内部差异性,而且对于复杂的手势动作的识别也需进一步提高。
发明内容
本发明的目的是提供一种基于Kinect的手势动作识别方法,屏蔽同一类型路径因速度快慢不同、距离长短不同所产生的内部差异性且对复杂手势动作序列识别更容易。
本发明所采用的技术方案是,一种基于Kinect的手势动作识别方法,具体按照以下步骤实施:
步骤1,使用手势主趋势来对手势朝向和手势姿态进行表征,实现对相邻帧手势朝向和手势姿态差异的度量;使用相邻帧的手势中心点距离来对手势的运动速度进行度量,完成对独立手势序列关键帧的提取;
步骤2,采用邻域分析法提取包含手势的局部邻域场景,通过对局部邻域场景进行聚类,并基于聚类结果中手势区域的顶点数量变化来实现对交互手势序列关键帧的提取;
步骤3,基于DTW算法实现手势运动路径序列间相似性的度量,进行空间不同朝向的手势运动路径识别;
步骤4,根据步骤3获得的手势运动路径,结合步骤1获取的独立手势序列关键帧和步骤2获取的交互手势序列关键帧,识别手势起始姿态、手势序列关键帧和手势终止姿态,进而进行基于运动路径的手势动作识别。
步骤1具体为:
步骤1.1:以手腕关节点为初始种子坐标,通过对其的邻域像素进行递归遍历,提取手势区域并转化为手势点云数据;
步骤1.2:针对步骤1.1获得的手势点云数据中所有顶点进行加权平均得到手势中心点pc
Figure BDA0002234785740000041
其中,p1,p2,…pn是手势点云数据的n个顶点;
步骤1.3:依据步骤1.2获得的手势中心点pc,结合手势点云数据顶点pi通过主成分分析法计算手势三维点云数据的主趋势方向,主趋势向量记为
Figure BDA0002234785740000042
步骤1.4,计算相邻帧的手势主趋势夹角θ和相邻帧的手势中心点距离d;
Figure BDA0002234785740000043
Figure BDA0002234785740000044
Figure BDA0002234785740000045
其中gfront和gback为相邻帧手势,
Figure BDA0002234785740000046
Figure BDA0002234785740000047
为gfront和gback对应的手势主趋势,pfront和pback为gfront和gback对应的手势中心点坐标,
Figure BDA0002234785740000048
Figure BDA0002234785740000049
Figure BDA00022347857400000410
三维坐标的方向向量对应值,
Figure BDA00022347857400000411
Figure BDA00022347857400000412
Figure BDA00022347857400000413
三维坐标的方向向量对应值;
步骤1.5:基于步骤1.4求得的θ和d构造帧差异特征向量
Figure BDA00022347857400000414
用来描述两相邻帧手势运动状态之间的差异;
Figure BDA0002234785740000051
其中,i和j分别为帧序号,对于当前帧i处相邻帧帧差异特征向量的构造,令j=i+1;
步骤1.6:生成相邻帧帧差异特征值fi,i+1
fi,i+1=ω1·θi,i+12·di,i+1 (7)
其中ω1和ω2为权值参数,满足式(8)
ω12=1 (8)
通过设定自适应提取阈值,来实现对备选相邻帧帧差异特征值的提取;如果当前相邻帧的帧差异特征值fi,i+1大于当前相邻帧的自适应提取阈值
Figure BDA0002234785740000052
那么当前相邻帧的帧差异特征值fi,i+1就是备选相邻帧帧差异特征值;
其中,自适应提取阈值
Figure BDA0002234785740000053
根据当前帧前15帧与后15帧范围内的相邻帧差异特征值fi,i+1计算得到
Figure BDA0002234785740000054
步骤1.7:通过提取备选相邻帧帧差异特征值局部邻域中的最大值点处所对应的帧,即为对应的独立手势序列关键帧。
步骤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。
步骤1.3具体为:
计算三维点云数据的协方差矩阵C,
Figure BDA0002234785740000061
其中pc为三维点云数据的手势中心点,pi为手势点云数据顶点,
Figure DEST_PATH_GDA0002353677900000062
xi,yi,zi中是点pi的坐标;
通过对协方差矩阵C进行求解得到三个特征值λ1、λ2、λ3和它们对应的特征向量v1、v2、v3,而最大的特征值所对应的特征向量方向就是三维点云数据的主趋势方向,主趋势向量记为
Figure BDA0002234785740000063
步骤2具体为:
步骤2.1,对包含手势的场景进行聚类,得到场景中的各个物体对象;
步骤2.2,从Kinect追踪的人体骨架信息中直接提取出手势手腕关节点坐标,以手腕关节点为初始种子像素点,迭代使用像素邻域扩张策略来对手势区域进行提取,方法同步骤1.1;
步骤2.3,通过对比相邻帧场景中手势区域聚类结果的点集数量变化情况,来分析手势是否与场景中的其它对象发生了交互;
当手势与场景中其它对象进入交互状态的瞬间,手势点云聚类结果的顶点数量会突然增多;当手势与场景中其它对象退出交互状态的瞬间,手势点云聚类结果的顶点数量会突然减少,根据这个规律,对手势与场景中对象发生交互的交互初始状态和交互终止状态进行识别,进而提取出交互手势序列关键帧。
步骤3具体为:
步骤3.1,按照曲线路径弯曲程度从强到弱将曲线划分为cur_large、 cur_mid、cur_small三类并建立手势运动路径库;
步骤3.2:依据步骤1.2计算手势运动路径中每一帧的手势中心点坐标,从而得到手势运动路径;
步骤3.3:以步骤3.2计算得来的手势运动路径的手势中心点为初始手势中心点,以该点为原点,初始手势中心点p1指向终止手势中心点pn的向量
Figure BDA0002234785740000071
为u轴,过初始手势中心点p1垂直于
Figure BDA0002234785740000072
为v轴,建立手势运动路径度量坐标系;
步骤3.4:选取u坐标轴和v坐标轴的单位长度ue,来对手势运动路径进行规范化度量;
Figure BDA0002234785740000073
基于单位长度ue对手势运动路径上任意手势中心点p进行度量,计算对应度量结果pmeasure
Figure BDA0002234785740000074
其中
Figure BDA0002234785740000075
表示点p到向量
Figure BDA0002234785740000076
的距离;
步骤3.5:使用步骤3.3-3.4的度量方法对源手势运动路径和目标手势运动路径进行度量,转化为规范化后的手势运动路径序列;
步骤3.6:将经步骤3.5规范化处理后的手势运动路径序列作为源手势运动路径,通过使用动态时间规整算法DTW在步骤3.1建立的手势运动路径库中查找最佳匹配的目标手势运动路径,从而实现对手势运动路径的识别。
步骤4具体为:
步骤4.1:根据步骤1和步骤2的手势序列划分方法提取待识别手势动作的独立手势序列关键帧和交互手势序列关键帧;
步骤4.2:根据步骤3获得的手势运动路径,结合步骤4.1获取的独立手势序列关键帧和交互手势序列关键帧,识别手势起始姿态、手势序列关键帧和手势终止姿态;
步骤4.3:基于手势起始姿态和手势终止姿态对手势动作序列所有可能的候选手势动作类型进行初步估计;
步骤4.4:对手势运动路径上的每个手势序列关键帧,计算该手势序列关键帧沿着手势运动路径到手势起始姿态和手势终止姿态的距离比值λ:
Figure BDA0002234785740000081
其中,dstart和dstart分别代表从当前手势序列关键帧处沿着手势运动路径到达手势起始姿态和手势终止姿态的距离;
步骤4.5,对手势起始姿态和手势终止姿态进行插值变形,得到该手势动作序列所有关键帧处的预期手势姿态Gkey
Figure BDA0002234785740000082
其中,Gkey、Gstart、Gend分别表示关键帧处的手势姿态、手势起始姿态和手势终止姿态;
步骤4.6:通过对该手势动作序列的预期手势姿态和候选手势动作序列相同时序处手势姿态的相似度进行计算,按式(12)累积当前手势动作序列所有手势序列关键帧处的相似度,选取累积相似度最高的那个候选手势动作类型,作为该手势动作序列的语义,实现对该手势动作的识别;
Figure BDA0002234785740000091
其中,γi表示关键帧i(i=1,2…k)处预期手势姿态和候选手势动作序列相同时序处手势姿态的相似度。
本发明的有益效果是,本发明一种基于Kinect的手势动作识别方法,基于DTW的三维手势路径识别实现了对三维空间中任意位置、任意方向手势运动路径的稳定识别;基于运动路径的手势动作识别基于手势序列划分很好的解决了对复杂手势动作序列识别的困难性。
附图说明
图1是本发明手势点云曲面的主趋势计算结果示意图;
图2是本发明相邻帧手势主趋势夹角和手势中心点距离计算结果示意图;
图3是本发明抓取动作相邻帧特征统计趋势图;
图4是本发明抓取动作相邻帧差异的趋势图;
图5是本发明手势区域聚类结果图;
图6是本发明手势区域聚类的点集数量统计图;
图7是本发明手势运动路径库示意图;
图8是本发明自适应局部坐标系统的建立和手势路径度量思路图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明所采用的技术方案是,一种基于Kinect的手势动作识别方法,具体按照以下步骤实施:
步骤1,使用手势主趋势来对手势朝向和手势姿态进行表征,实现对相邻帧手势朝向和手势姿态差异的度量;使用相邻帧的手势中心点距离来对手势的运动速度进行度量,完成对独立手势序列关键帧的提取;具体为:
步骤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;
步骤1.2:针对步骤1.1获得的手势点云数据中所有顶点进行加权平均得到手势中心点pc
Figure BDA0002234785740000101
其中,p1,p2,…pn是手势点云数据的n个顶点;
步骤1.3:依据步骤1.2获得的手势中心点pc,结合手势点云数据顶点pi通过主成分分析法计算手势三维点云数据的主趋势方向,主趋势向量记为
Figure BDA0002234785740000102
具体为:
计算三维点云数据的协方差矩阵C,
Figure BDA0002234785740000103
其中pc为三维点云数据的手势中心点,pi为手势点云数据顶点,
Figure DEST_PATH_GDA0002353677900000111
xi,yi,zi中是点pi的坐标;
通过对协方差矩阵C进行求解得到三个特征值λ1、λ2、λ3和它们对应的特征向量v1、v2、v3,而最大的特征值所对应的特征向量方向就是三维点云数据的主趋势方向,主趋势向量记为
Figure BDA0002234785740000112
以握拳过程7个代表性手势姿态的主趋势方向计算结果如图1所示。
步骤1.4,计算相邻帧的手势主趋势夹角θ和相邻帧的手势中心点距离d;
Figure BDA0002234785740000113
Figure BDA0002234785740000114
Figure BDA0002234785740000115
其中gfront和gback为相邻帧手势,
Figure BDA0002234785740000116
Figure BDA0002234785740000117
为gfront和gback对应的手势主趋势,pfront和pback为gfront和gback对应的手势中心点坐标,
Figure BDA0002234785740000118
Figure BDA0002234785740000119
Figure BDA00022347857400001110
三维坐标的方向向量对应值,
Figure BDA00022347857400001111
Figure BDA00022347857400001112
Figure BDA00022347857400001113
三维坐标的方向向量对应值;相邻帧的手势主趋势夹角θ和相邻帧的手势中心点距离d距离计算效果,如图2所示,图3(a) 为相邻帧手势主趋势夹角的统计结果,横坐标为手势帧序列编号,纵坐标为手势主趋势夹角;图3(b)为相邻帧手势中心点距离的统计结果,横坐标为手势帧序列编号,纵坐标为手势中心点距离;
步骤1.5:基于步骤1.4求得的θ和d构造帧差异特征向量
Figure BDA00022347857400001114
用来描述两相邻帧手势运动状态之间的差异;
Figure BDA0002234785740000121
其中,i和j分别为帧序号,对于当前帧i处相邻帧帧差异特征向量的构造,令j=i+1;
步骤1.6:生成相邻帧帧差异特征值fi,i+1
fi,i+1=ω1·θi,i+12·di,i+1 (7)
其中ω1和ω2为权值参数,满足式(8)
ω12=1 (8)
通过设定自适应提取阈值,来实现对备选相邻帧帧差异特征值的提取;如果当前相邻帧的帧差异特征值fi,i+1大于当前相邻帧的自适应提取阈值
Figure BDA0002234785740000122
那么当前相邻帧的帧差异特征值fi,i+1就是备选相邻帧帧差异特征值;图4为相邻帧差异的趋势图;
其中,自适应提取阈值
Figure BDA0002234785740000123
根据当前帧前15帧与后15帧范围内的相邻帧差异特征值fi,i+1计算得到
Figure BDA0002234785740000124
步骤1.7:通过提取备选相邻帧帧差异特征值局部邻域中的最大值点处所对应的帧,即为对应的独立手势序列关键帧;
步骤2,采用邻域分析法提取包含手势的局部邻域场景,通过对局部邻域场景进行聚类,并基于聚类结果中手势区域的顶点数量变化来实现对交互手势序列关键帧的提取;具体为:
步骤2.1,对包含手势的场景进行聚类,得到场景中的各个物体对象;手势与场景对象交互前效果如图5(a)所示;
步骤2.2,从Kinect追踪的人体骨架信息中直接提取出手势手腕关节点坐标,以手腕关节点为初始种子像素点,迭代使用像素邻域扩张策略来对手势区域进行提取,方法同步骤1.1;
步骤2.3,通过对比相邻帧场景中手势区域聚类结果的点集数量变化情况,来分析手势是否与场景中的其它对象发生了交互;
当手势与场景中其它对象进入交互状态的瞬间,手势点云聚类结果的顶点数量会突然增多;当手势与场景中其它对象退出交互状态的瞬间,手势点云聚类结果的顶点数量会突然减少,根据这个规律,对手势与场景中对象发生交互的交互初始状态和交互终止状态进行识别,进而提取出交互手势序列关键帧;这里的规律绘制成图像为一个曲线图,峰值点就是提取的关键帧。
图6为对应图5手势与场景对象交互过程中手势区域聚类的点集数量变化统计表,其中横坐标为手势序列帧编号,纵坐标为手势区域聚类后的点集数量;在帧编号为1到16范围内,手势没有与场景对象发生交互,对应图5(a),该过程发生的是手势自身姿态的变化;在帧编号17之后,手势与场景对象发生了交互,对应图5(b),从图6可知,在手势与场景对象没有发生交互时,手势聚类后点集的顶点数目稳定在1500±500范围(该范围考虑了手势姿态变化对手势区域点集的影响)内;在手势与场景对象发生交互的过程中,手势聚类后点集的顶点数目达到了2500以上,手势聚类结果的顶点数量骤然增多。
步骤3,基于DTW算法实现手势运动路径序列间相似性的度量,进行空间不同朝向的手势运动路径识别;具体为:
步骤3.1,按照曲线路径弯曲程度从强到弱将曲线划分为cur_large、 cur_mid、cur_small三类并建立手势运动路径库;如图7所示;
步骤3.2:依据步骤1.2计算手势运动路径中每一帧的手势中心点坐标,从而得到手势运动路径;
步骤3.3:以步骤3.2计算得来的手势运动路径的手势中心点为初始手势中心点,以该点为原点,初始手势中心点p1指向终止手势中心点pn的向量
Figure BDA0002234785740000141
为u轴,过初始手势中心点p1垂直于
Figure BDA0002234785740000142
为v轴,建立手势运动路径度量坐标系;由于得到的是由每一帧手势中心点组成的一个路径,这个路径的起点其实就是初始手势中心点,而终点就是终止手势中心点;
步骤3.4:选取u坐标轴和v坐标轴的单位长度ue,来对手势运动路径进行规范化度量;
Figure BDA0002234785740000143
基于单位长度ue对手势运动路径上任意手势中心点p进行度量,计算对应度量结果pmeasure
Figure BDA0002234785740000144
其中
Figure BDA0002234785740000145
表示点p到向量
Figure BDA0002234785740000146
的距离;
图8是自适应局部坐标系统的建立和手势路径度量思路图;
步骤3.5:使用步骤3.3-3.4的度量方法对源手势运动路径和目标手势运动路径进行度量,转化为规范化后的手势运动路径序列;
步骤3.6:将经步骤3.5规范化处理后的手势运动路径序列作为源手势运动路径,通过使用动态时间规整算法DTW在步骤3.1建立的手势运动路径库中查找最佳匹配的目标手势运动路径,从而实现对手势运动路径的识别。
步骤4,根据步骤3获得的手势运动路径,结合步骤1获取的独立手势序列关键帧和步骤2获取的交互手势序列关键帧,识别手势起始姿态、手势序列关键帧和手势终止姿态,进而进行基于运动路径的手势动作识别,具体为:
步骤4.1:根据步骤1和步骤2的手势序列划分方法提取待识别手势动作的独立手势序列关键帧和交互手势序列关键帧;
步骤4.2:根据步骤3获得的手势运动路径,结合步骤4.1获取的独立手势序列关键帧和交互手势序列关键帧,识别手势起始姿态、手势序列关键帧和手势终止姿态;
步骤4.3:基于手势起始姿态和手势终止姿态对手势动作序列所有可能的候选手势动作类型进行初步估计;
步骤4.4:对手势运动路径上的每个手势序列关键帧,计算该手势序列关键帧沿着手势运动路径到手势起始姿态和手势终止姿态的距离比值λ:
Figure BDA0002234785740000151
其中,dstart和dstart分别代表从当前手势序列关键帧处沿着手势运动路径到达手势起始姿态和手势终止姿态的距离;
步骤4.5,对手势起始姿态和手势终止姿态进行插值变形,得到该手势动作序列所有关键帧处的预期手势姿态Gkey
Figure BDA0002234785740000152
其中,Gkey、Gstart、Gend分别表示关键帧处的手势姿态、手势起始姿态和手势终止姿态;
步骤4.6:通过对该手势动作序列的预期手势姿态和候选手势动作序列相同时序处手势姿态的相似度进行计算,按式(12)累积当前手势动作序列所有手势序列关键帧处的相似度,选取累积相似度最高的那个候选手势动作类型,作为该手势动作序列的语义,实现对该手势动作的识别;
Figure BDA0002234785740000161
其中,γi表示关键帧i(i=1,2…k)处预期手势姿态和候选手势动作序列相同时序处手势姿态的相似度。
表1为6种常见自然手势动作的识别结果,本发明的方法可以实现对这 6种常见自然手势动作的正确识别,其平均识别率达到了88.7%。
表1
手势动作 起始姿态 终止姿态 运动路径 识别准确率
挥手动作 手掌姿态 手掌姿态 cur_small 0.937
按压动作 手掌姿态 手掌姿态 line 0.832
抓取动作 手掌姿态 握拳姿态 line/cur_small/cur_mid/cur_large 0.925
释放动作 握拳姿态 手掌姿态 line/cur_small/cur_mid/cur_large 0.931
出拳动作 握拳姿态 握拳姿态 line/cur_small/cur_mid/cur_large 0.893
确认动作 手掌/握拳姿态 确认姿态 line/cur_small/cur_mid/cur_large 0.806
本发明一种基于Kinect的手势动作识别方法,基于DTW的路径识别实现了对三维空间中任意位置、任意方向手势运动路径的稳定识别;基于序列划分的复杂手势动作识别很好的解决了对复杂手势动作序列识别的困难性。

Claims (7)

1.一种基于Kinect的手势动作识别方法,其特征在于,具体按照以下步骤实施:
步骤1,使用手势主趋势来对手势朝向和手势姿态进行表征,实现对相邻帧手势朝向和手势姿态差异的度量;使用相邻帧的手势中心点距离来对手势的运动速度进行度量,完成对独立手势序列关键帧的提取;
步骤2,采用邻域分析法提取包含手势的局部邻域场景,通过对局部邻域场景进行聚类,并基于聚类结果中手势区域的顶点数量变化来实现对交互手势序列关键帧的提取;
步骤3,基于DTW算法实现手势运动路径序列间相似性的度量,进行空间不同朝向的手势运动路径识别;
步骤4,根据步骤3获得的手势运动路径,结合步骤1获取的独立手势序列关键帧和步骤2获取的交互手势序列关键帧,识别手势起始姿态、手势序列关键帧和手势终止姿态,进而进行基于运动路径的手势动作识别。
2.根据权利要求1所述的一种基于Kinect的手势动作识别方法,其特征在于,所述步骤1具体为:
步骤1.1:以手腕关节点为初始种子坐标,通过对其的邻域像素进行递归遍历,提取手势区域并转化为手势点云数据;
步骤1.2:针对步骤1.1获得的手势点云数据中所有顶点进行加权平均得到手势中心点pc
Figure FDA0002234785730000011
其中,p1,p2,…pn是手势点云数据的n个顶点;
步骤1.3:依据步骤1.2获得的手势中心点pc,结合手势点云数据顶点pi通过主成分分析法计算手势三维点云数据的主趋势方向,主趋势向量记为
Figure FDA0002234785730000021
步骤1.4,计算相邻帧的手势主趋势夹角θ和相邻帧的手势中心点距离d;
Figure FDA0002234785730000022
Figure FDA0002234785730000023
Figure FDA0002234785730000024
其中gfront和gback为相邻帧手势,
Figure FDA0002234785730000025
Figure FDA0002234785730000026
为gfront和gback对应的手势主趋势,pfront和pback为gfront和gback对应的手势中心点坐标,
Figure FDA0002234785730000027
Figure FDA0002234785730000028
Figure FDA0002234785730000029
三维坐标的方向向量对应值,
Figure FDA00022347857300000210
Figure FDA00022347857300000211
Figure FDA00022347857300000212
三维坐标的方向向量对应值;
步骤1.5:基于步骤1.4求得的θ和d构造帧差异特征向量
Figure FDA00022347857300000213
用来描述两相邻帧手势运动状态之间的差异;
Figure FDA00022347857300000214
其中,i和j分别为帧序号,对于当前帧i处相邻帧帧差异特征向量的构造,令j=i+1;
步骤1.6:生成相邻帧帧差异特征值fi,i+1
fi,i+1=ω1·θi,i+12·di,i+1 (7)
其中ω1和ω2为权值参数,满足式(8)
ω12=1 (8)
通过设定自适应提取阈值,来实现对备选相邻帧帧差异特征值的提取;如果当前相邻帧的帧差异特征值fi,i+1大于当前相邻帧的自适应提取阈值
Figure FDA0002234785730000031
那么当前相邻帧的帧差异特征值fi,i+1就是备选相邻帧帧差异特征值;
其中,自适应提取阈值
Figure FDA0002234785730000032
根据当前帧前15帧与后15帧范围内的相邻帧差异特征值fi,i+1计算得到
Figure FDA0002234785730000033
步骤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,
Figure FDA0002234785730000041
其中pc为三维点云数据的手势中心点,pi为手势点云数据顶点,
Figure DEST_PATH_FDA0002353677890000042
xi,yi,zi中是点pi的坐标;
通过对协方差矩阵C进行求解得到三个特征值λ1、λ2、λ3和它们对应的特征向量v1、v2、v3,而最大的特征值所对应的特征向量方向就是三维点云数据的主趋势方向,主趋势向量记为
Figure FDA0002234785730000043
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的向量
Figure FDA0002234785730000051
为u轴,过初始手势中心点p1垂直于
Figure FDA0002234785730000052
为v轴,建立手势运动路径度量坐标系;
步骤3.4:选取u坐标轴和v坐标轴的单位长度ue,来对手势运动路径进行规范化度量;
Figure FDA0002234785730000053
基于单位长度ue对手势运动路径上任意手势中心点p进行度量,计算对应度量结果pmeasure
Figure FDA0002234785730000054
其中
Figure FDA0002234785730000055
表示点p到向量
Figure FDA0002234785730000056
的距离;
步骤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:对手势运动路径上的每个手势序列关键帧,计算该手势序列关键帧沿着手势运动路径到手势起始姿态和手势终止姿态的距离比值λ:
Figure FDA0002234785730000061
其中,dstart和dstart分别代表从当前手势序列关键帧处沿着手势运动路径到达手势起始姿态和手势终止姿态的距离;
步骤4.5,对手势起始姿态和手势终止姿态进行插值变形,得到该手势动作序列所有关键帧处的预期手势姿态Gkey
Figure FDA0002234785730000062
其中,Gkey、Gstart、Gend分别表示关键帧处的手势姿态、手势起始姿态和手势终止姿态;
步骤4.6:通过对该手势动作序列的预期手势姿态和候选手势动作序列相同时序处手势姿态的相似度进行计算,按式(12)累积当前手势动作序列所有手势序列关键帧处的相似度,选取累积相似度最高的那个候选手势动作类型,作为该手势动作序列的语义,实现对该手势动作的识别;
Figure FDA0002234785730000071
其中,γi表示关键帧i(i=1,2…k)处预期手势姿态和候选手势动作序列相同时序处手势姿态的相似度。
CN201910979735.6A 2019-10-15 2019-10-15 一种基于Kinect的手势动作识别方法 Active CN110895684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910979735.6A CN110895684B (zh) 2019-10-15 2019-10-15 一种基于Kinect的手势动作识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910979735.6A CN110895684B (zh) 2019-10-15 2019-10-15 一种基于Kinect的手势动作识别方法

Publications (2)

Publication Number Publication Date
CN110895684A true CN110895684A (zh) 2020-03-20
CN110895684B CN110895684B (zh) 2023-06-27

Family

ID=69786187

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910979735.6A Active CN110895684B (zh) 2019-10-15 2019-10-15 一种基于Kinect的手势动作识别方法

Country Status (1)

Country Link
CN (1) CN110895684B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130336524A1 (en) * 2012-06-18 2013-12-19 Microsoft Corporation Dynamic Hand Gesture Recognition Using Depth Data
EP2980728A1 (en) * 2014-08-01 2016-02-03 Imersivo, S.L. Procedure for identifying a hand gesture
CN107169411A (zh) * 2017-04-07 2017-09-15 南京邮电大学 一种基于关键帧和边界约束dtw的实时动态手势识别方法
CN107563286A (zh) * 2017-07-28 2018-01-09 南京邮电大学 一种基于Kinect深度信息的动态手势识别方法
CN108664877A (zh) * 2018-03-09 2018-10-16 北京理工大学 一种基于三维深度数据的动态手势识别方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130336524A1 (en) * 2012-06-18 2013-12-19 Microsoft Corporation Dynamic Hand Gesture Recognition Using Depth Data
EP2980728A1 (en) * 2014-08-01 2016-02-03 Imersivo, S.L. Procedure for identifying a hand gesture
CN107169411A (zh) * 2017-04-07 2017-09-15 南京邮电大学 一种基于关键帧和边界约束dtw的实时动态手势识别方法
CN107563286A (zh) * 2017-07-28 2018-01-09 南京邮电大学 一种基于Kinect深度信息的动态手势识别方法
CN108664877A (zh) * 2018-03-09 2018-10-16 北京理工大学 一种基于三维深度数据的动态手势识别方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田秋红;杨慧敏;梁庆龙;包嘉欣;: "视觉动态手势识别综述" *

Also Published As

Publication number Publication date
CN110895684B (zh) 2023-06-27

Similar Documents

Publication Publication Date Title
CN106682598B (zh) 一种基于级联回归的多姿态的人脸特征点检测方法
US10706577B2 (en) Facial features tracker with advanced training for natural rendering of human faces in real-time
Xu et al. Online dynamic gesture recognition for human robot interaction
Ye et al. Accurate 3d pose estimation from a single depth image
Ma et al. Kinect sensor-based long-distance hand gesture recognition and fingertip detection with depth information
CN102567703B (zh) 一种基于分类特征的手部动作识别信息处理方法
CN100407798C (zh) 三维几何建模系统和方法
CN108734194B (zh) 一种面向虚拟现实的基于单深度图的人体关节点识别方法
CN110688965B (zh) 基于双目视觉的ipt模拟训练手势识别方法
CN109359514B (zh) 一种面向deskVR的手势跟踪识别联合策略方法
CN108171133B (zh) 一种基于特征协方差矩阵的动态手势识别方法
CN107194344B (zh) 自适应骨骼中心的人体行为识别方法
Hernández-Vela et al. BoVDW: Bag-of-Visual-and-Depth-Words for gesture recognition
CN110895683B (zh) 一种基于Kinect的单视点手势姿势识别方法
CN110751097B (zh) 一种半监督的三维点云手势关键点检测方法
CN111444488A (zh) 一种基于动态手势的身份认证方法
CN112396655B (zh) 一种基于点云数据的船舶目标6d位姿估计方法
Xu et al. Robust hand gesture recognition based on RGB-D Data for natural human–computer interaction
CN112906520A (zh) 一种基于姿态编码的动作识别方法及装置
Hu et al. Trajectory image based dynamic gesture recognition with convolutional neural networks
Amrutha et al. Human Body Pose Estimation and Applications
CN115018999A (zh) 一种多机器人协作的稠密点云地图构建方法及装置
CN111709269B (zh) 一种深度图像中基于二维关节信息的人手分割方法和装置
CN108665470B (zh) 一种交互式轮廓提取方法
US20210158565A1 (en) Pose selection and animation of characters using video data and training techniques

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant