首页 / 专利库 / 图形技术 / 递归噪声 / 一种基于Kinect的单视点手势姿势识别方法

一种基于Kinect的单视点手势姿势识别方法

阅读:475发布:2020-05-12

专利汇可以提供一种基于Kinect的单视点手势姿势识别方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于Kinect的单视点手势姿势识别方法,具体为:以 手腕 关 节点 为初始 种子 坐标,通过对手腕关节点的邻域 像素 进行递归遍历,提取手势区域,然后采用中值滤波及掩膜图像法进行去噪处理,再进行胳膊区域剔除,然后进行基于 曲率 和挠率的3D-SIFT特征点提取,实现对手势 姿态 凹凸特征的表征及对手势姿态扭曲程度的度量;在利用手势三维手势点 云 数据的主趋势方向、三维点云数据的手势点云中心点以及3D-SIFT特征点来构造点特征描述子,最后计算源手势点云和目标手势点云的点特征描述子进行匹配识别及优化。本发明的一种基于Kinect的单视点手势姿势识别方法,解决了手势动作识别过程中单视点手势姿态识别的问题。,下面是一种基于Kinect的单视点手势姿势识别方法专利的具体信息内容。

1.一种基于Kinect的单视点手势姿势识别方法,其特征在于,具体按照以下步骤实施:
步骤1,以手腕节点为初始种子坐标,通过对手腕关节点的邻域像素进行递归遍历,提取手势区域;
步骤2,对步骤1提取的手势区域采用中值滤波及掩膜图像法进行去噪处理;
步骤3,对经步骤2去噪处理的手势区域,运用主成分分析算法计算三维手势点数据的主趋势方向以及三维点云数据的手势点云中心点,并进行胳膊区域剔除;
步骤4,对经步骤3剔除胳膊区域的手势区域分别进行基于曲率和挠率的3D-SIFT特征点提取,实现对手势姿态凹凸特征的表征及对手势姿态扭曲程度的度量;
步骤5,利用步骤3计算的手势三维手势点云数据的主趋势方向、三维点云数据的手势点云中心点以及步骤4计算得到的3D-SIFT特征点来构造点特征描述子;
步骤6,基于步骤5的点特征描述子构造方法,计算源手势点云和目标手势点云的点特征描述子进行匹配识别及优化。
2.根据权利要求1所述的一种基于Kinect的单视点手势姿势识别方法,其特征在于,所述步骤1具体为:
步骤1.1,从微软Kinect实时追踪得到的人体骨架信息中获取人体手腕关节点坐标P;
步骤1.2,以手腕关节点P为初始种子像素点,计算手腕关节点P为与八邻域各点Pi,i∈[0,7]的深度差值difi,i∈[0,7],当difi小于深度阈值Tdepth时,像素点Pi属于手势区域,将其加入手势区域G,并设置Pi为种子像素;
步骤1.3,以Pi为种子像素点,重复步骤1.2,通过对种子点邻域像素进行递归遍历得到手势区域G。
3.根据权利要求2所述的一种基于Kinect的单视点手势姿势识别方法,其特征在于,所述步骤2具体为:
步骤2.1,采用中值滤波对步骤1得到的手势区域G进行去噪处理,得到去除噪声点并平滑掉手势区域细节特征的深度图Gtemp;
步骤2.2,使用二值化阈值对Gtemp进行二值化处理,得到掩摸图像Gmask;
步骤2.3,将掩摸图像Gmask与手势区域深度图Gtemp做“与”运算,得到既去除了手势边界附近孤立噪声点同时又保留了手势区域表面细节特征的手势区域深度图Gdenoised,此时Gdenoised即为最终去噪后的手势区域深度图。
4.根据权利要求3所述的一种基于Kinect的单视点手势姿势识别方法,其特征在于,所述步骤3具体为:
步骤3.1,通过主成分分析算法计算手势三维手势点云数据的主趋势方向;
步骤3.2,过手腕关节点作与步骤3.1求出的主趋势方向垂直的平面M,借助平面M可以将手势区域分割为两部分;
步骤3.3,从Kinect追踪的骨架信息中直接获取大拇指关节点,大拇指关节点所在的那部分点云数据即为剔除了胳膊区域的手势点集区域。
5.根据权利要求4所述的一种基于Kinect的单视点手势姿势识别方法,其特征在于,所述步骤3.1具体为:
将步骤2得到的去噪后的手势区域Gdenoised中的某像素点P,像素点P的点云数据由n个顶点组成,即P={p1,p2,…pn}(pi=(xi,yi,zi)T∈R3,i=1,2,…,n)通过式(1)计算该三维点云数据的协方差矩阵C;
其中,xi,yi,zi中是点pi的三个坐标值,pc为三维点云数据的手势点云中心点,通过对三维点云数据进行加权平均得到,通过式(2)计算:
通过对协方差矩阵C进行求解可以得到三个特征值λ1、λ2、λ3和它们对应的特征向量v1、v2、v3,最大的特征值所对应的特征向量方向就是三维点云数据的主趋势方向,主趋势向量记为
6.根据权利要求4所述的一种基于Kinect的单视点手势姿势识别方法,其特征在于,所述步骤4具体为:
步骤4.1,基于曲率进行3D-SIFT特征点提取,实现对手势姿态凹凸特征的表征;
首先,通过对手势三维点云当前点的k个近邻点进行最小二乘平面拟合,然后求取拟合平面的法向和曲率作为该点的法向和曲率的估计值;
然后,通过对手势三维点云数据进行逐次降采样来构建多个尺度的三维空间;
最后,在需要检测的尺度空间中对每个顶点搜索其k个近邻点,并将每个顶点的曲率值与该尺度空间下的近邻点的曲率值和相邻尺度空间下的近邻点的曲率值进行比较,从而确定所检测尺度空间的局部曲率极值点,该局部曲率极值点即为手势三维点云数据基于曲率的3D-SIFT特征点;
步骤4.2,利用挠率进行3D-SIFT特征点提取,实现对手势姿态扭曲程度的度量;
首先通过邻域点估计出所有点的副法线向量,基于当前点邻域内各点的副法线向量来进一步估计出当前点的挠率值;
然后,通过对手势三维点云数据进行逐次降采样来构建多个尺度的三维空间;
最后,在需要检测的尺度空间中对每个顶点搜索其k个近邻点,并将每个顶点的挠率值与该尺度空间下的近邻点的挠率值和相邻尺度空间下的近邻点的挠率值进行比较,从而确定所检测尺度空间的局部挠率极值点,该局部挠率极值点即为手势三维点云数据基于挠率的3D-SIFT特征点。
7.根据权利要求6所述的一种基于Kinect的单视点手势姿势识别方法,其特征在于,所述步骤5具体为:
步骤5.1,计算由手势点云中心点指向每个3D-SIFT特征点的方向向量,记为同时,计算手掌中心点到所有3D-SIFT特征点平均距离disavg
其中,pc是手势点云中心点, 为点pc的三个坐标值,pt(t=1,2,...,k)为手势点云的k个3D-SIFT特征点, 为点pt的三个坐标值;
步骤5.2,对主趋势向量 单位化得到单位化后的主趋势向量 并使用主趋势向量和方向向量 计算两向量之间的夹余弦cosθ;
步骤5.3,基于平均距离disavg对方向向量 的模进行标准化后的结果、主趋势向量 和两向量夹角θ,计算两向量的点积dott,并以此作为点特征描述子。
8.根据权利要求7所述的一种基于Kinect的单视点手势姿势识别方法,其特征在于,所述步骤6具体为:
步骤6.1,根据步骤5求取的手势三维点云曲面的点特征描述子dott,度量两特征点p与q之间的差异
其中,dotp和dotp分别是特征点p与q所对应的点特征描述子,ε为根据手势点云数据的特点所设置的最小阈值,该阈值是通过计算源手势点云中心点与目标手势点云中心点的点特征描述子间的差异来实现自适应获取;
其中,n为源点云曲面的顶点数目,m为目标点云曲面的顶点数目;k为倍率,取值为0到1之间,本文取值0.6; 指的是源手势点云中心点的点特征描述子, 指的是目标手势点云中心点的点特征描述子, 为总体即源手势点云的特征描述子总和,为总体即目标手势点云的特征描述子总和;
步骤6.2,分别计算源手势点云和目标手势点云上每个3D-SIFT特征点的点特征描述子,记为 和
步骤6.3,对于源手势点云上每个特征点的点特征描述子,在目标手势点云所有特征点的点特征描述子上进行查找,如果在目标手势点云特征点的点特征描述子中找到与其差异小于阈值ε的特征点,就将其作为源手势点云当前特征点的备选匹配点;
步骤6.4,对于源手势点云上的每个特征点,取其所有备选匹配点中点特征描述子与其差异最小的特征点作为当前源手势点云特征点在目标手势点云上的对应匹配点;
步骤6.5,从步骤6.4即可获得源手势点云和目标手势点云上特征点之间的对应关系,根据该对应关系计算匹配精度ψ,即识别的准确度;
其中,map代表源手势点云与目标手势点云之间特征点的对应关系;maptotal代表总的对应关系匹配数量,mapright代表正确匹配的对应关系数量;
步骤6.6,对步骤6.5的匹配精度ψ进行进一步优化,用快速点特征直方图FPFH来对基于曲率和挠率融合的3D-SIFT特征点的局部曲面信息进行描述得到FPFH特征描述子;
步骤6.7,步骤6.7,计算步骤6.6获取的FPFH特征描述子的k近邻,在其k个近邻中使用步骤5.3的点积方法来进行特征点对应关系的筛选,从而提高源手势点云曲面与目标手势点云曲面间3D-SIFT特征点的匹配精度。
9.根据权利要求8所述的一种基于Kinect的单视点手势姿势识别方法,其特征在于,所述步骤6.6中FPFH特征描述子的构造方法如下:
步骤6.6.1,计算查询点与其k邻域范围内其它点的连接关系,并据此建立了一个简化的点特征直方图,称为简单点特征直方图SPFH;
步骤6.6.2,分别对查询点k邻域范围内的每个点计算其k邻域,按步骤6.6.1的做法建立每个点的SPFH;
步骤6.6.3,对于每个查询点重新计算其k近邻点;并且根据式(11)以两点之间的距离为权重,借助当前查询点的近邻点的SPFH值来计算当前查询点FPFH特征描述子,其中权重ωk是查询点p和其邻近点pk之间的距离,

说明书全文

一种基于Kinect的单视点手势姿势识别方法

技术领域

[0001] 本发明属于计算机图形学虚拟现实相结合交叉学科中的手势姿势识别方法技术领域,涉及一种基于Kinect的单视点手势姿势识别方法。

背景技术

[0002] 手势识别技术是自然人机交互的重点研究内容之一,手势作为自然的人机交互手段可以提高虚拟场景中的互操作性并带来更加真实自然的沉浸式体验,从而为复杂交互任务的完成提供了可能。手势识别技术使用比较广泛,比如安全驾驶中的辅助驾驶、聋哑人交流的手语识别等方面,总之,手势识别技术在教育、医疗、无人机等领域都有着广泛的应用。
[0003] 目前手势识别技术主要基于二维和三维的,二维手势识别是在图像层面上的手势识别,三维是在深度图或者点数据上的手势识别。相比二维手势识别,三维识别方法因其数据本身增加了场景深度信息,因此更为准确反映手势细节信息、三维位置和表面信息,更加符合人的视觉特性。
[0004] 三维手势姿态识别主要是基于微软Kinect或其它深度传感器采集的手势深度数据进行识别研究,分为基于外表几何特征(包括基于外表轮廓特征和基于形态拓扑特征)和内部几何特征(即基于内部骨架特征)的手势姿态识别方法。
[0005] 基于外表轮廓特征的手势识别是基于Kinect采集的深度图数据上的手势姿态识别。Pugeault N,Bowden R.Spelling it out:Real-time ASL fingerspelling recognition[C]//2011IEEE International conference on computer vision workshops(ICCV workshops).IEEE,2011:1114-1119.,通过用OpenNI+NITE 框架进行手势检测和追踪并使用Gabor滤波器进行手势形状轮廓特征提取实现动态识别;Yao Y,Fu Y.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,对手势进行分割和分类并构建手势轮廓模型库,针对图形构造三维手势轮廓并在模型库匹配从而实现手势识别。
[0006] 基于形态拓扑特征的手势识别是基于手势深度图拓扑结构的识别方法。 Tang D,Jin Chang H,Tejani A,et al.Latent regression forest:Structured estimation of 3d articulated hand posture[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.2014:3786-3793,利用训练出的符合人手层级拓扑的潜在回归森林对每个像素点进行分类评估并确定出关节点像素,进而得到手势层级拓扑结构,实现对手势姿态的准确估计。
[0007] 基于内部骨架特征的手势识别方法是在手势深度图数据骨架上的识别方法。Sinha A,Choi C,Ramani K.Deephand:Robust hand pose estimation by completing a matrix imputed with deep features[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.2016:4150-4158,基于骨架特征提取手势区域并采用矩阵补全算法使用“时空”特征和已知位姿信息来对待识别手势的准确位姿进行估计,确定局部和全局关节参数,实现对手势姿态的识别。Qian C,Sun X,Wei Y,et al.Realtime and robust hand tracking from depth[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.2014:1106-1113,采用了一个快速代价函数来对手势模型与手势深度数据间距离进行度量,在满足运动学约束前提下使用基于梯度随机优化方法对度量代价进行优化,从而收敛得到全局最优解来实现对手势的实时识别。De Smedt Q,Wannous H,VandeborreJP.Skeleton-based dynamic hand gesture recognition[C]Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops.2016:1-9,基于对手部骨架中提取的描述信息使用基于高斯混合模型得到的Fisher向量进行编码表示,并得到手势特征向量,通过训练支持向量机对手势进行分类实现手势识别。
[0008] 目前,已有的三维手势姿态识别方法大部分都是基于已有的去噪算法来对三维数据进行去噪处理,没有考虑到三维数据特性,因此要么去噪过度导致手势表面特征被平滑;要么去噪不彻底影响后续特征提取。对于原始采集数据的缺失问题,已有的手势识别方法在数据局部缺失的情况下,会导致识别准确率大幅下降甚至出现识别错误。

发明内容

[0009] 本发明的目的是提供一种基于Kinect的单视点手势姿势识别方法,综合考虑手势三维曲面的凹凸特性和扭曲特性,从曲率和挠率两方面对手势曲目进行准确表征,解决了手势姿态特征点匹配精度问题,保证了手势曲面匹配的可靠性和对局部缺失的鲁棒性。
[0010] 本发明所采用的技术方案是,一种基于Kinect的单视点手势姿势识别方法,具体按照以下步骤实施:
[0011] 步骤1,以手腕关节点为初始种子坐标,通过对手腕关节点的邻域像素进行递归遍历,提取手势区域;
[0012] 步骤2,对步骤1提取的手势区域采用中值滤波及掩膜图像法进行去噪处理;
[0013] 步骤3,对经步骤2去噪处理的手势区域,运用主成分分析算法计算三维手势点云数据的主趋势方向以及三维点云数据的手势点云中心点,并进行胳膊区域剔除;
[0014] 步骤4,对经步骤3剔除胳膊区域的手势区域分别进行基于曲率和挠率的3D-SIFT特征点提取,实现对手势姿态凹凸特征的表征及对手势姿态扭曲程度的度量;
[0015] 步骤5,利用步骤3计算的手势三维手势点云数据的主趋势方向、三维点云数据的手势点云中心点以及步骤4计算得到的3D-SIFT特征点来构造点特征描述子;
[0016] 步骤6,基于步骤5的点特征描述子构造方法,计算源手势点云和目标手势点云的点特征描述子进行匹配识别及优化。
[0017] 本发明的特征还在于,
[0018] 步骤1具体为:
[0019] 步骤1.1,从微软Kinect实时追踪得到的人体骨架信息中获取人体手腕关节点坐标P;
[0020] 步骤1.2,以手腕关节点P为初始种子像素点,计算手腕关节点P为与八邻域各点Pi,i∈[0,7]的深度差值difi,i∈[0,7],当difi小于深度阈值Tdepth时,像素点Pi属于手势区域,将其加入手势区域G,并设置Pi为种子像素;
[0021] 步骤1.3,以Pi为种子像素点,重复步骤1.2,通过对种子点邻域像素进行递归遍历得到手势区域G。
[0022] 步骤2具体为:
[0023] 步骤2.1,采用中值滤波对步骤1得到的手势区域G进行去噪处理,得到去除噪声点并平滑掉手势区域细节特征的深度图Gtemp;
[0024] 步骤2.2,使用二值化阈值对Gtemp进行二值化处理,得到掩摸图像Gmask;
[0025] 步骤2.3,将掩摸图像Gmask与手势区域深度图Gtemp做“与”运算,得到既去除了手势边界附近孤立噪声点同时又保留了手势区域表面细节特征的手势区域深度图Gdenoised,此时Gdenoised即为最终去噪后的手势区域深度图。
[0026] 步骤3具体为:
[0027] 步骤3.1,通过主成分分析算法计算手势三维手势点云数据的主趋势方向;
[0028] 步骤3.2,过手腕关节点作与步骤3.1求出的主趋势方向垂直的平面M,借助平面M可以将手势区域分割为两部分;
[0029] 步骤3.3,从Kinect追踪的骨架信息中直接获取大拇指关节点,大拇指关节点所在的那部分点云数据即为剔除了胳膊区域的手势点集区域。
[0030] 步骤3.1具体为:
[0031] 将步骤2得到的去噪后的手势区域Gdenoised中的某像素点P,像素点P的点云数据由n个顶点组成,即P={p1,p2,…pn}(pi=(xi,yi,zi)T∈R3,i=1,2,…,n),通过式(1)计算该三维点云数据的协方差矩阵C;
[0032]
[0033] 其中,xi,yi,zi中是点pi的三个坐标值,pc为三维点云数据的手势点云中心点,通过对三维点云数据进行加权平均得到,通过式(2)计算:
[0034]
[0035] 通过对协方差矩阵C进行求解可以得到三个特征值λ1、λ2、λ3和它们对应的特征向量v1、v2、v3,最大的特征值所对应的特征向量方向就是三维点云数据的主趋势方向,主趋势向量记为
[0036] 步骤4具体为:
[0037] 步骤4.1,基于曲率进行3D-SIFT特征点提取,实现对手势姿态凹凸特征的表征;
[0038] 首先,通过对手势三维点云当前点的k个近邻点进行最小二乘平面拟合,然后求取拟合平面的法向和曲率作为该点的法向和曲率的估计值;
[0039] 然后,通过对手势三维点云数据进行逐次降采样来构建多个尺度的三维空间;
[0040] 最后,在需要检测的尺度空间中对每个顶点搜索其k个近邻点,并将每个顶点的曲率值与该尺度空间下的近邻点的曲率值和相邻尺度空间下的近邻点的曲率值进行比较,从而确定所检测尺度空间的局部曲率极值点,该局部曲率极值点即为手势三维点云数据基于曲率的3D-SIFT特征点;
[0041] 步骤4.2,利用挠率进行3D-SIFT特征点提取,实现对手势姿态扭曲程度的度量;
[0042] 首先通过邻域点估计出所有点的副法线向量,基于当前点邻域内各点的副法线向量来进一步估计出当前点的挠率值;
[0043] 然后,通过对手势三维点云数据进行逐次降采样来构建多个尺度的三维空间;
[0044] 最后,在需要检测的尺度空间中对每个顶点搜索其k个近邻点,并将每个顶点的挠率值与该尺度空间下的近邻点的挠率值和相邻尺度空间下的近邻点的挠率值进行比较,从而确定所检测尺度空间的局部挠率极值点,该局部挠率极值点即为手势三维点云数据基于挠率的3D-SIFT特征点。
[0045] 步骤5具体为:
[0046] 步骤5.1,计算由手势点云中心点指向每个3D-SIFT特征点的方向向量,记为[0047]
[0048] 同时,计算手掌中心点到所有3D-SIFT特征点平均距离disavg:
[0049]
[0050] 其中,pc是手势点云中心点, 为点pc的三个坐标值, pt(t=1,2,...,k)为手势点云的k个3D-SIFT特征点, 为点pt的三个坐标值;
[0051] 步骤5.2,对主趋势向量 单位化得到单位化后的主趋势向量 并使用主趋势向量 和方向向量 计算两向量之间的夹余弦cosθ;
[0052]
[0053]
[0054] 步骤5.3,基于平均距离disavg对方向向量 的模进行标准化后的结果、主趋势向量 和两向量夹角θ,计算两向量的点积dott,并以此作为点特征描述子。
[0055]
[0056] 步骤6具体为:
[0057] 步骤6.1,根据步骤5求取的手势三维点云曲面的点特征描述子dott,度量两特征点p与q之间的差异
[0058]
[0059] 其中,dotp和dotp分别是特征点p与q所对应的点特征描述子,ε为根据手势点云数据的特点所设置的最小阈值,该阈值是通过计算源手势点云中心点与目标手势点云中心点的点特征描述子间的差异来实现自适应获取;
[0060]
[0061] 其中,n为源点云曲面的顶点数目,m为目标点云曲面的顶点数目;k为倍率,取值为0到1之间,本文取值0.6; 指的是源手势点云中心点的点特征描述子, 指的是目标手势点云中心点的点特征描述子, 为总体即源手势点云的特征描述子总和,为总体即目标手势点云的特征描述子总和;
[0062] 步骤6.2,分别计算源手势点云和目标手势点云上每个3D-SIFT特征点的点特征描述子,记为 和
[0063] 步骤6.3,对于源手势点云上每个特征点的点特征描述子,在目标手势点云所有特征点的点特征描述子上进行查找,如果在目标手势点云特征点的点特征描述子中找到与其差异小于阈值ε的特征点,就将其作为源手势点云当前特征点的备选匹配点;
[0064] 步骤6.4,对于源手势点云上的每个特征点,取其所有备选匹配点中点特征描述子与其差异最小的特征点作为当前源手势点云特征点在目标手势点云上的对应匹配点;
[0065] 步骤6.5,从步骤6.4即可获得源手势点云和目标手势点云上特征点之间的对应关系,根据该对应关系计算匹配精度ψ,即识别的准确度;
[0066]
[0067] 其中,map代表源手势点云与目标手势点云之间特征点的对应关系; maptotal代表总的对应关系匹配数量,mapright代表正确匹配的对应关系数量;
[0068] 步骤6.6,对步骤6.5的匹配精度ψ进行进一步优化,用快速点特征直方图FPFH来对基于曲率和挠率融合的3D-SIFT特征点的局部曲面信息进行描述得到FPFH特征描述子;
[0069] 步骤6.6中FPFH特征描述子的构造方法如下:
[0070] 步骤6.6.1,计算查询点与其k邻域范围内其它点的连接关系,并据此建立了一个简化的点特征直方图,称为简单点特征直方图SPFH;
[0071] 步骤6.6.2,分别对查询点k邻域范围内的每个点计算其k邻域,按步骤 6.6.1的做法建立每个点的SPFH;
[0072] 步骤6.6.3,对于每个查询点重新计算其k近邻点;并且根据式(11)以两点之间的距离为权重,借助当前查询点的近邻点的SPFH值来计算当前查询点FPFH特征描述子,其中权重ωk是查询点p和其邻近点pk之间的距离;
[0073]
[0074] 步骤6.7,计算步骤6.6获取的FPFH特征描述子的k近邻,在其k个近邻中使用步骤5.3的点积方法来进行特征点对应关系的筛选,从而提高源手势点云曲面与目标手势点云曲面间3D-SIFT特征点的匹配精度。
[0075] 本发明的有益效果是,本发明提供一种基于Kinect的单视点手势姿势识别方法,综合考虑手势三维曲面的凹凸特性和扭曲特性,从曲率和挠率两方面对手势曲目进行准确表征,解决了手势姿态特征点匹配精度问题,保证了手势曲面匹配的可靠性和对局部缺失的鲁棒性,并且为基于特征点对应关系统计的手势动作识别提供了稳定的支撑和保障。附图说明
[0076] 图1是本发明手势姿态识别方法中手势区域提取的Kinect手腕关节点图;
[0077] 图2是本发明一种基于Kinect的单视点手势姿势识别方法在强光照情况下手势区域提取效果图;
[0078] 图3本发明一种基于Kinect的单视点手势姿势识别方法在自遮挡情况下手势区域提取效果图;
[0079] 图4本发明一种基于Kinect的单视点手势姿势识别方法在复杂背景情况下手势区域提取效果图;
[0080] 图5是本发明一种基于Kinect的单视点手势姿势识别方法在手势区域去噪前的原图像;
[0081] 图6是本发明一种基于Kinect的单视点手势姿势识别方法去噪滤波图像;
[0082] 图7是本发明一种基于Kinect的单视点手势姿势识别方法去燥掩摸图像;
[0083] 图8是本发明一种基于Kinect的单视点手势姿势识别方法去噪后的图像;
[0084] 图9是本发明一种基于Kinect的单视点手势姿势识别方法的手势点云主趋势图;
[0085] 图10是本发明一种基于Kinect的单视点手势姿势识别方法的手势区域分割结果图;
[0086] 图11是本发明一种基于Kinect的单视点手势姿势识别方法的胳膊区域剔除图;
[0087] 图12握拳过程的7个代表性手势姿态示意图;
[0088] 图13基于曲率的3D-SIFT特征点提取效果示意图;
[0089] 图14基于挠率的3D-SIFT特征点提取效果示意图;
[0090] 图15基于曲率的3D-SIFT特征点匹配效果示意图;
[0091] 图16基于挠率的3D-SIFT特征点匹配效果示意图;
[0092] 图17基于曲率和挠率融合的3D-SIFT特征点匹配效果示意图;
[0093] 图18基于FPFH优化的匹配效果示意图。

具体实施方式

[0094] 下面结合附图和具体实施方式对本发明进行详细说明。
[0095] 本发明一种基于Kinect的单视点手势姿势识别方法,具体按照以下步骤实施:
[0096] 步骤1,以手腕关节点为初始种子坐标,通过对手腕关节点的邻域像素进行递归遍历,提取手势区域;
[0097] 步骤1具体为:
[0098] 步骤1.1,从微软Kinect实时追踪得到的人体骨架信息中获取人体手腕关节点坐标P;如图1所示,
[0099] 步骤1.2,以手腕关节点P为初始种子像素点,计算手腕关节点P为与八邻域各点Pi,i∈[0,7]的深度差值difi,i∈[0,7],当difi小于深度阈值Tdepth时,像素点Pi属于手势区域,将其加入手势区域G,并设置Pi为种子像素;
[0100] 步骤1.3,以Pi为种子像素点,重复步骤1.2,通过对种子点邻域像素进行递归遍历得到手势区域G,如图2-4所示;
[0101] 步骤2,对步骤1提取的手势区域采用中值滤波及掩膜图像法进行去噪处理;对如图5所示的原图像进行处理;
[0102] 步骤2.1,采用中值滤波对步骤1得到的手势区域G进行去噪处理,得到去除噪声点并平滑掉手势区域细节特征的深度图Gtemp;如图6所示,为滤波图像;
[0103] 步骤2.2,使用二值化阈值对Gtemp进行二值化处理,得到掩摸图像Gmask;如图7所示,为掩摸图像;
[0104] 步骤2.3,将掩摸图像Gmask与手势区域深度图Gtemp做“与”运算,得到既去除了手势边界附近孤立噪声点同时又保留了手势区域表面细节特征的手势区域深度图Gdenoised,此时Gdenoised即为最终去噪后的手势区域深度图;如图8所示,为去噪图像;
[0105] 步骤3,对经步骤2去噪处理的手势区域,运用主成分分析(Principal Component Analysis,PCA)算法计算三维手势点云数据的主趋势方向以及三维点云数据的手势点云中心点,并进行胳膊区域剔除;
[0106] 步骤3.1,通过主成分分析算法计算手势三维手势点云数据的主趋势方向;具体为:
[0107] 将步骤2得到的去噪后的手势区域Gdenoised中的某像素点P,像素点P的点云数据由n个顶点组成,即P={p1,p2,…pn}(pi=(xi,yi,zi)T∈R3,i=1,2,…,n),通过式(1)计算该三维点云数据的协方差矩阵C;
[0108]
[0109] 其中,xi,yi,zi中是点pi的三个坐标值,pc为三维点云数据的手势点云中心点,通过对三维点云数据进行加权平均得到,通过式(2)计算:
[0110]
[0111] 通过对协方差矩阵C进行求解可以得到三个特征值λ1、λ2、λ3和它们对应的特征向量v1、v2、v3,最大的特征值所对应的特征向量方向就是三维点云数据的主趋势方向,主趋势向量记为 如图9所示,为手势点云主趋势图;
[0112] 步骤3.2,过手腕关节点作与步骤3.1求出的主趋势方向垂直的平面M,借助平面M可以将手势区域分割为两部分;如图10所示,为手势区域分割结果图。
[0113] 步骤3.3,从Kinect追踪的骨架信息中直接获取大拇指关节点,大拇指关节点所在的那部分点云数据即为剔除了胳膊区域的手势点集区域;如图11所示,胳膊区域剔除图;
[0114] 步骤4,对经步骤3剔除胳膊区域的手势区域分别进行基于曲率和挠率的3D-SIFT特征点提取,实现对手势姿态凹凸特征的表征及对手势姿态扭曲程度的度量;
[0115] 步骤4.1,基于曲率进行3D-SIFT特征点提取,实现对手势姿态凹凸特征的表征;
[0116] 首先,通过对手势三维点云当前点的k个近邻点进行最小二乘平面拟合,然后求取拟合平面的法向和曲率作为该点的法向和曲率的估计值;
[0117] 然后,通过对手势三维点云数据进行逐次降采样来构建多个尺度的三维空间;
[0118] 最后,在需要检测的尺度空间中对每个顶点搜索其k个近邻点,并将每个顶点的曲率值与该尺度空间下的近邻点的曲率值和相邻尺度空间下的近邻点的曲率值进行比较,从而确定所检测尺度空间的局部曲率极值点,该局部曲率极值点即为手势三维点云数据基于曲率的3D-SIFT特征点;以手势握拳过程的7个代表性手势姿态为基础,如图12所示,进行曲率的3D-SIFT 特征点提取效果如图13所示。
[0119] 步骤4.2,利用挠率进行3D-SIFT特征点提取,实现对手势姿态扭曲程度的度量;
[0120] 首先通过邻域点估计出所有点的副法线向量,基于当前点邻域内各点的副法线向量来进一步估计出当前点的挠率值;
[0121] 然后,通过对手势三维点云数据进行逐次降采样来构建多个尺度的三维空间;
[0122] 最后,在需要检测的尺度空间中对每个顶点搜索其k个近邻点,并将每个顶点的挠率值与该尺度空间下的近邻点的挠率值和相邻尺度空间下的近邻点的挠率值进行比较,从而确定所检测尺度空间的局部挠率极值点,该局部挠率极值点即为手势三维点云数据基于挠率的3D-SIFT特征点;基于挠率的3D-SIFT特征点提取效果示意图,如图14所示;
[0123] 步骤5,利用步骤3计算的手势三维手势点云数据的主趋势方向、三维点云数据的手势点云中心点以及步骤4计算得到的3D-SIFT特征点来构造点特征描述子;
[0124] 步骤5具体为:
[0125] 步骤5.1,计算由手势点云中心点指向每个3D-SIFT特征点的方向向量,记为[0126]
[0127] 同时,计算手掌中心点到所有3D-SIFT特征点平均距离disavg:
[0128]
[0129] 其中,pc是手势点云中心点, 为点pc的三个坐标值, pt(t=1,2,...,k)为手势点云的的k个3D-SIFT特征点, 为点pt的三个坐标值;
[0130] 步骤5.2,对主趋势向量 单位化得到单位化后的主趋势向量 并使用主趋势向量 和方向向量 计算两向量之间的夹角余弦cosθ;
[0131]
[0132]
[0133] 步骤5.3,基于平均距离disavg对方向向量 的模进行标准化后的结果、主趋势向量 和两向量夹角θ,计算两向量的点积dott,并以此作为点特征描述子。
[0134]
[0135] 步骤6,基于步骤5的点特征描述子构造方法,计算源手势点云和目标手势点云的点特征描述子进行匹配识别及优化,具体为:
[0136] 步骤6.1,根据步骤5求取的手势三维点云曲面的点特征描述子dott,度量两特征点p与q之间的差异
[0137]
[0138] 其中,dotp和dotp分别是特征点p与q所对应的点特征描述子,ε为根据手势点云数据的特点所设置的最小阈值,该阈值是通过计算源手势点云中心点与目标手势点云中心点的点特征描述子间的差异来实现自适应获取;
[0139]
[0140] 其中,n为源点云曲面的顶点数目,m为目标点云曲面的顶点数目;k为倍率,取值为0到1之间,本文取值0.6; 指的是源手势点云中心点的点特征描述子, 指的是目标手势点云中心点的点特征描述子, 为总体即源手势点云的特征描述子总和,为总体即目标手势点云的特征描述子总和;
[0141] 步骤6.2,分别计算源手势点云和目标手势点云上每个3D-SIFT特征点的点特征描述子,记为 和
[0142] 步骤6.3,对于源手势点云上每个特征点的点特征描述子,在目标手势点云所有特征点的点特征描述子上进行查找,如果在目标手势点云特征点的点特征描述子中找到与其差异小于阈值ε的特征点,就将其作为源手势点云当前特征点的备选匹配点;
[0143] 步骤6.4,对于源手势点云上的每个特征点,取其所有备选匹配点中点特征描述子与其差异最小的特征点作为当前源手势点云特征点在目标手势点云上的对应匹配点;
[0144] 步骤6.5,从步骤6.4即可获得源手势点云和目标手势点云上特征点之间的对应关系,根据该对应关系计算匹配精度ψ,即识别的准确度;
[0145]
[0146] 其中,map代表源手势点云与目标手势点云之间特征点的对应关系; maptotal代表总的对应关系匹配数量,mapright代表正确匹配的对应关系数量;ψ∈[0,1],ψ越大代表匹配正确的特征点对应关系所占比例越大,识别的准确率也越高;以握拳过程7个代表性手势姿态的识别为例,通过实验得出,基于曲率的3D-SIFT特征点匹配效果示意图如图15所示,平均匹配精度为 71.1%;基于挠率的3D-SIFT特征点匹配效果示意图如图16所示,平均匹配精度为72.1%;而基于曲率与挠率融合的3D-SIFT特征点来对手势姿态进行匹配效果示意图如图17所示,平均匹配精度为78.7%;
[0147] 步骤6.6,对步骤6.5的匹配精度ψ进行进一步优化,用快速点特征直方图FPFH来对基于曲率和挠率融合的3D-SIFT特征点的局部曲面信息进行描述得到FPFH特征描述子;
[0148] 其中,FPFH特征描述子的构造方法如下:
[0149] 步骤6.6.1,计算查询点与其k邻域范围内其它点的连接关系,并据此建立了一个简化的点特征直方图,称为简单点特征直方图SPFH;
[0150] 步骤6.6.2,分别对查询点k邻域范围内的每个点计算其k邻域,按步骤6.6.1的做法建立每个点的SPFH;
[0151] 步骤6.6.3,对于每个查询点重新计算其k近邻点;并且根据式(11)以两点之间的距离为权重,借助当前查询点的近邻点的SPFH值来计算当前查询点FPFH特征描述子,其中权重ωk是查询点p和其邻近点pk之间的距离;
[0152]
[0153] 步骤6.7,计算步骤6.6获取的FPFH特征描述子的k近邻,在其k个近邻中使用步骤5.3的点积方法来进行特征点对应关系的筛选,从而提高源手势点云曲面与目标手势点云曲面间3D-SIFT特征点的匹配精度。
[0154] 基于FPFH对基于曲率和挠率融合后的3D-SIFT特征点对应关系进行优化后,使得基于曲率和挠率融合后的3D-SIFT特征点对应关系匹配错误的情况得到了很大的改善,匹配效果示意图,如图18所示,平均匹配精度达到了92.4%,从而有效的保证了手势曲面间3D-SIFT特征点匹配的可靠性。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈