一种基于KINECT2的动态手势识别方法.pdf

上传人:Y0****01 文档编号:1304215 上传时间:2018-04-14 格式:PDF 页数:13 大小:641.49KB
返回 下载 相关 举报
摘要
申请专利号:

CN201611096405.5

申请日:

2016.12.02

公开号:

CN106682585A

公开日:

2017.05.17

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06K 9/00申请日:20161202|||公开

IPC分类号:

G06K9/00; G06K9/62; G06F3/01

主分类号:

G06K9/00

申请人:

南京理工大学

发明人:

凌晨; 王清华

地址:

210094 江苏省南京市玄武区孝陵卫200号

优先权:

专利代理机构:

南京苏创专利代理事务所(普通合伙) 32273

代理人:

曹成俊

PDF下载: PDF下载
内容摘要

本发明公开了一种基于kinect2的动态手势识别方法,其特征在于,将动态手势的轨迹特征和手型特征分别建立隐马尔科夫模型,并利用朴素贝叶斯分类将手型识别结果和轨迹识别结果作为输入特征进行手势识别。本发明的基于kinect2的动态手势识别方法将复杂的动态手势过程分解为手型变化和轨迹运动变化,避免使用高维特征对手势进行描述,降低了运算的复杂度;由于加入了手型的特征,因此可以识别更多的手势,同时也进一步提高了识别手势的精确度。

权利要求书

1.一种基于kinect2的动态手势识别方法,其特征在于,将动态手势的轨迹特征和手型
特征分别建立隐马尔科夫模型,并利用朴素贝叶斯分类将手型识别结果和轨迹识别结果作
为输入特征进行手势识别。
2.如权利要求1所述的基于kinect2的动态手势识别方法,其特征在于,包括以下步骤:
步骤1、利用kinect2的骨骼跟踪技术得到手掌心的三维位置并映射到深度图像中得到
手势深度图像;
步骤2、对手势深度图像和运动轨迹分别进行预处理,提取得到手型特征和运动轨迹方
向角特征;
步骤3、分别对手型特征和运动轨迹方向角特征建立不同的隐马尔科夫模型,得到手型
隐马尔科夫模型和轨迹隐马尔科夫模型;
步骤4、将步骤3得到的手型隐马尔科夫模型和轨迹隐马尔科夫模型的输出作为特征,
利用朴素贝叶斯分类器进行手势识别。
3.如权利要求2所述的基于kinect2的动态手势识别方法,其特征在于,步骤1中利用
kinect2的骨骼跟踪技术得到手掌心的三维位置并映射到深度图像中得到手势深度图像包
括以下步骤:
步骤S11:利用kinect2获得Depth数据、Body index数据、Body数据;
步骤S12:根据Body index数据:如果人体有多个,根据深度信息,选择距离kinect2最
近的人体作为目标,提取其右手掌心骨骼点和右手腕部骨骼点的空间坐标;
步骤S13:利用kinect2SDK中的MapCameraPointToDepthSpace函数将相机坐标系中的
掌心点和手腕点转换到深度空间,得到掌心和手腕骨骼点在深度图像中的位置;
步骤S14:以掌心点为圆心,掌心与手腕点距离的1.5倍为半径画圆进行手势的分割,得
到手部的图像,然后以手腕点的深度作为阈值,将大于此深度值的像素去除,得到完整的手
势深度图像。
4.根据权利要求2所述的基于kinect2的动态手势识别方法,其特征在于,所述步骤2中
对手势深度图像和运动轨迹分别进行预处理,提取得到手型特征和运动轨迹方向角特征包
括以下步骤:
步骤S21:对步骤1)得到的手势深度图像进行二值化,对得到的二值化图像进行中值滤
波,去除椒盐噪声,并进行形态学的腐蚀膨胀操作去除空洞杂点;
步骤S22:提取手势图像的Hu不变矩作为手型特征;对手心的三维运动进行卡尔曼滤波
跟踪得到处理过的手心运动轨迹,提取手心运动轨迹的方向角特征得到运动轨迹方向角特
征。
5.根据权利要求4所述的基于kinect2的动态手势识别方法,其特征在于,
步骤S22中提取手势图像的Hu不变矩作为手型特征,手型特征包括如下所述的七个不
变矩:
M1=η2002
M2=(η2002)2+4η112
M3=(η30-3η12)2+(3η2103)2
M4=(η3012)2+(η2103)2
M5=(η30-3η12)23012)[(η3012)2-3(η2103)2]
+(3η2103)(η2103)[3(η3012)2-(η2103)2]
M6=(η2002)[(η3012)2-(η2103)2]+4η113012)(η2103)
M7=(3η2103)(η3012)[(η3012)2-3(η2103)2]
+(η30-3η12)(η2130)[3(η3012)2-(η2103)2]
其中,归一化的中心矩为ηpq=μpq/(μ00ρ)
式中,ρ=(p+q)/2+1,N和M分别是图像的高度和宽
度,分别代表图像的重心,

6.根据权利要求4所述的基于kinect2的动态手势识别方法,其特征在于,
步骤S22中对手心的三维运动进行卡尔曼滤波跟踪得到处理过的手心运动轨迹,提取
手心运动轨迹的方向角特征得到运动轨迹方向角特征,其中,方向角通过下式计算得到:

θ表示相邻轨迹点之间的角度,(xi,yi)和(xi+1,yi+1)分别为相邻轨迹点的坐标。
7.根据权利要求6所述的基于kinect2的动态手势识别方法,其特征在于,
对于得到的方向角,进行12方向矢量量化编码,如下式:
当θ>=15°时
其中,f=13-k
当θ<15°时
其中,f=(k+7)%12
f的值就是量化后的角度的特征值,取值为1~12的整数。
8.根据权利要求2所述的基于kinect2的动态手势识别方法,所述步骤3中分别对手型
特征和运动轨迹方向角特征建立不同的隐马尔科夫模型,得到手型隐马尔科夫模型和轨迹
隐马尔科夫模型,包括以下步骤:
步骤S31:对于手型特征提取值Hu矩,采用k-means向量量化方法,将特征向量转化成离
散特征标号序列,作为隐马尔科夫模型的输入;
步骤S32:提取一个训练样本,分别对手型隐马尔科夫模型和轨迹隐马尔科夫模型进行
参数初始化;
步骤S33:利用Baum-Welch算法分别对手型隐马尔科夫模型和轨迹隐马尔科夫模型进
行参数的训练,重复步骤S32,对每种手势进行训练得到每种手势的手型隐马尔科夫模型和
轨迹隐马尔科夫模型。
9.根据权利要求2所述的基于kinect2的动态手势识别方法,所述步骤4中将步骤3得到
的手型隐马尔科夫模型和轨迹隐马尔科夫模型的输出作为特征,利用朴素贝叶斯分类器进
行手势识别包括以下步骤:
步骤S41:对于训练好的手型隐马尔科夫模型和轨迹隐马尔科夫模型,输入另一部分训
练样本,分别得到手型隐马尔科夫模型的输出和轨迹隐马尔科夫模型的输出;
步骤S42:将步骤S41得到的输出作为2维特征向量X={x1,x2},x1和x2分别对应与手型和
轨迹对应识别结果的编号,识别手势的结果为n个类,分别计算

其中,sk表示在编号Ak上具有值的类Ci的训练样本数,si为Ci上的总样本数;
步骤S43:对于输入特征量X,根据贝叶斯定理:

其中,选出最大的概率值的手势类别即
为识别结果。

说明书

一种基于kinect2的动态手势识别方法

技术领域

本发明涉及一种基于kinect2的动态手势识别方法。

背景技术

随着信息技术的发展,人机交互的方式也在发生着变化,手势作为一种人们日常
生活中自然的一种交互方式也被运用到人机交互中。近年来基于视觉技术的手势识别是人
机交互领域的研究热点,微软kienct2体感设备能够在获得二维图像的同时也可以获得环
境的深度信息,大大方便了对手势识别的研究,目前对动态手势的研究大多数是只对目标
的轨迹进行识别,而忽略了手势运动过程中的手型的变化。

因此,需要提供一种新的动态手势识别方法以解决上述问题。

发明内容

为解决现有技术的不足,本发明的目的在于提供一种基于kinect2的动态手势识
别方法。

为了实现上述目标,本发明采用如下的技术方案:

一种基于kinect2的动态手势识别方法,将动态手势的轨迹特征和手型特征分别
建立隐马尔科夫模型,并利用朴素贝叶斯分类将手型识别结果和轨迹识别结果作为输入特
征进行手势识别。

更进一步的,包括以下步骤:

步骤1、利用kinect2的骨骼跟踪技术得到手掌心的三维位置并映射到深度图像中
得到手势深度图像;

步骤2、对手势深度图像和运动轨迹分别进行预处理,提取得到手型特征和运动轨
迹方向角特征;

步骤3、分别对手型特征和运动轨迹方向角特征建立不同的隐马尔科夫模型,得到
手型隐马尔科夫模型和轨迹隐马尔科夫模型;

步骤4、将步骤3得到的手型隐马尔科夫模型和轨迹隐马尔科夫模型的输出作为特
征,利用朴素贝叶斯分类器进行手势识别。

更进一步的,步骤1中利用kinect2的骨骼跟踪技术得到手掌心的三维位置并映射
到深度图像中得到手势深度图像包括以下步骤:

步骤S11:利用kinect2获得Depth数据、Body index数据、Body数据;

步骤S12:根据Body index数据:如果人体有多个,根据深度信息,选择距离
kinect2最近的人体作为目标,提取其右手掌心骨骼点和右手腕部骨骼点的空间坐标;

步骤S13:利用kinect2SDK中的MapCameraPointToDepthSpace函数将相机坐标系
中的掌心点和手腕点转换到深度空间,得到掌心和手腕骨骼点在深度图像中的位置;

步骤S14:以掌心点为圆心,掌心与手腕点距离的1.5倍为半径画圆进行手势的分
割,得到手部的图像,然后以手腕点的深度作为阈值,将大于此深度值的像素去除,得到完
整的手势深度图像。

更进一步的,所述步骤2中对手势深度图像和运动轨迹分别进行预处理,提取得到
手型特征和运动轨迹方向角特征包括以下步骤:

步骤S21:对步骤1)得到的手势深度图像进行二值化,对得到的二值化图像进行中
值滤波,去除椒盐噪声,并进行形态学的腐蚀膨胀操作去除空洞杂点;

步骤S22:提取手势图像的Hu不变矩作为手型特征;对手心的三维运动进行卡尔曼
滤波跟踪得到处理过的手心运动轨迹,提取手心运动轨迹的方向角特征得到运动轨迹方向
角特征。本发明在动态手势特征提取中加入了经过量化的手型特征,加轨迹与手型分开建
立隐马尔科夫模型(HMM)。

更进一步的,步骤S22中提取手势图像的Hu不变矩作为手型特征,手型特征包括如
下所述的七个不变矩:

M1=η2002

M2=(η2002)2+4η112

M3=(η30-3η12)2+(3η2103)2

M4=(η3012)2+(η2103)2

M5=(η30-3η12)23012)[(η3012)2-3(η2103)2]

+(3η2103)(η2103)[3(η3012)2-(η2103)2]

M6=(η2002)[(η3012)2-(η2103)2]+4η113012)(η2103)

M7=(3η2103)(η3012)[(η3012)2-3(η2103)2]

+(η30-3η12)(η2130)[3(η3012)2-(η2103)2]

其中,归一化的中心矩为ηpq=μpq/(μ00ρ)

式中,ρ=(p+q)/2+1,N和M分别是图像的高度和
宽度,分别代表图像的重心,


更进一步的,步骤S22中对手心的三维运动进行卡尔曼滤波跟踪得到处理过的手
心运动轨迹,提取手心运动轨迹的方向角特征得到运动轨迹方向角特征,其中,方向角通过
下式计算得到:


θ表示相邻轨迹点之间的角度,(xi,yi)和(xi+1,yi+1)分别为相邻轨迹点的坐标。

更进一步的,对于得到的方向角,进行12方向矢量量化编码,如下式:当θ>=15°

其中,f=13-k

当θ<15°时

其中,f=(k+7)%12

f的值就是量化后的角度的特征值,取值为1~12的整数。

更进一步的,所述步骤3中分别对手型特征和运动轨迹方向角特征建立不同的隐
马尔科夫模型,得到手型隐马尔科夫模型和轨迹隐马尔科夫模型,包括以下步骤:

步骤S31:对于手型特征提取值Hu矩,采用k-means向量量化方法,将特征向量转化
成离散特征标号序列,作为隐马尔科夫模型的输入;

步骤S32:提取一个训练样本,分别对手型隐马尔科夫模型和轨迹隐马尔科夫模型
进行参数初始化;

步骤S33:利用Baum-Welch算法分别对手型隐马尔科夫模型和轨迹隐马尔科夫模
型进行参数的训练,重复步骤S32,对每种手势进行训练得到每种手势的手型隐马尔科夫模
型和轨迹隐马尔科夫模型。

更进一步的,所述步骤4中将步骤3得到的手型隐马尔科夫模型和轨迹隐马尔科夫
模型的输出作为特征,利用朴素贝叶斯分类器进行手势识别包括以下步骤:

步骤S41:对于训练好的手型隐马尔科夫模型和轨迹隐马尔科夫模型,输入另一部
分训练样本,分别得到手型隐马尔科夫模型的输出和轨迹隐马尔科夫模型的输出;

步骤S42:将步骤S41得到的输出作为2维特征向量X={x1,x2},x1和x2分别对应与
手型和轨迹对应识别结果的编号,识别手势的结果为n个类,分别计算


其中,sk表示在编号Ak上具有值的类Ci的训练样本数,si为Ci上的总样本数;

步骤S43:对于输入特征量X,根据贝叶斯定理:


其中,选出最大的概率值的手势类
别即为识别结果。

有益效果:本发明的基于kinect2的动态手势识别方法将复杂的动态手势过程分
解为手型变化和轨迹运动变化,避免使用高维特征对手势进行描述,降低了运算的复杂度;
由于加入了手型的特征,因此可以识别更多的手势,同时也进一步提高了识别手势的精确
度。

附图说明


图1是本发明基于kinect2的动态手势识别方法的流程图;

图2是本发明方向角量化编码示意图;

图3是本发明使用的HMM模型结构图。

具体实施方式

以下结合具体实施例对本发明作具体的介绍。

实施例1:

请参阅图1所示,基于kinect2的动态手势识别方法,利用kinect2深度摄像头追踪
人的手,通过对动态手势的手型特征和运动轨迹特征分别建立隐马尔科夫模型(HMM),并结
合朴素贝叶斯分类器进行手势的识别,该方法包括以下步骤:

步骤1:利用kinect2的骨骼跟踪技术得到手掌心的三维位置并映射到深度图像中
得到手势深度图像,具体为:

步骤S11:利用kinect2获得Depth数据、Body index数据、Body数据;

步骤S12:根据Body index数据,若人体有多个,根据深度信息,选择距离kinect2
最近的人体作为目标,提取其右手掌心骨骼点和右手腕部骨骼点空间坐标;

步骤S13:利用kinect2 SDK中MapCameraPointToDepthSpace函数将相机坐标系中
的掌心点和手腕点转换到深度空间,得到掌心和手腕骨骼点在深度图像中的位置;

步骤S14:以掌心点为圆心,掌心与手腕点距离的1.5倍为半径画圆进行手势的分
割,得到手部的图像,然后以手腕点的深度作为阈值,将大于此深度值的像素去除,从而将
多余的手臂部分去除,得到完整的手势图像。

步骤2:对手势深度图像以及运动轨迹进行预处理,并提取手型特征以及轨迹方向
角特征,具体为:

步骤S21:对得到的手势图像进行二值化,对得到的二值化图像进行中值滤波,去
除椒盐噪声,并进行形态学的腐蚀膨胀操作去除空洞杂点;

步骤S22:手势图像提取它的Hu不变矩作为手型特征,对于图像f(x,y),它的p+q阶
几何矩(标准矩)定义为:


p+q阶中心矩定义为:


其中代表图像的重心,



对于离散的数字图像,用求和代替积分



其中N和M分别是图像的高度和宽度,归一化的中心矩定义为:

ηpq=μpq/(μ00ρ) (7)

其中ρ=(p+q)/2+1。

利用二阶和三阶中心距可以定义七个不变矩,可以保持图像在平移、缩放和旋转
时保持不变,具体定义:

M1=η2002 (8)

M2=(η2002)2+4η112 (9)

M3=(η30-3η12)2+(3η2103)2 (10)

M4=(η3012)2+(η2103)2 (11)


M6=(η2002)[(η3012)2-(η2103)2]+4η113012)(η2103) (13)


由此我们可以计算出手势图像的Hu矩,这七个不变矩就作为手势图像的特征值;

步骤S23:对手心的三维运动进行卡尔曼滤波跟踪得到处理过的手心运动轨迹,并
相隔10mm提取一次点的坐标值并保存;

步骤S24:提取轨迹的方向角特征来作为运动轨迹的特征,轨迹点的运动方向用相
邻点的之间的方向矢量(r,θ)来表示,其中r表示方向矢量的大小,即相邻轨迹点之间的距
离,θ表示相邻轨迹点之间的角度,我们取角度作为轨迹的运动特征,角度的计算公式为


结合图2,对于得到的角度值,进行12方向矢量量化编码,具体的公式为

当θ>=15°时


当θ<15°时


f的值就是量化后的角度的特征值,取值为1~12的整数;

步骤3:分别对手型特征以及方向角特征建立不同的隐马尔科夫模型,具体过程
为:

步骤S31:对于手型特征提取值Hu矩,采用k-means向量量化方法,将特征向量转化
成离散特征标号序列,作为HMM模型的输入;

步骤S32:一个HMM完整的参数集合可用一个五元组λ=(N,M,A,B,π)来表示,其中N
为HMM的隐含状态的个数,M为HMM观察值的个数,A={aij}为N×N状态转移概率分布矩阵,B
={bj(k)}为N×M的观察概率分布矩阵,π={π123...πN}为初始状态分布,模型初始化阶
段,N为HMM的隐含状态的个数可以自己定义,对于手型HMM,M为所需要识别的手型的个数,
对于轨迹HMM,为量化的方向角矢量个数即为12,转移矩阵A由下式确定:


其中aii的值与平均每个隐藏状态的持续时间d有关



为平均样本长度,观察概率分布矩阵B由下式确定:


初始状态π为第一个状态,因此确定为:

π=[1 0...0]T (21)

至此,完成模型的各个初始参数的确定;

步骤S33:利用Baum-Welch算法分别对手型HMM模型和轨迹HMM模型进行参数的训
练,Baum-Welch算法具体过程如下:

首先用到后验概率函数和概率函数可以分别得到:

γt(i)=P(qt=si|o,λ) (22)


具体的参数重构公式:

πi=P(qt=si)=γt(i) (24)



由此可以得到新的模型参数

步骤4:将手型隐马尔科夫模型和轨迹特征隐马尔科夫模型的输出作为特征,利用
朴素贝叶斯分类器进行手势的识别,具体为:

步骤S41:对于训练好的手势HMM模型和轨迹HMM模型,输入另一部分训练样本,分
别得到手型HMM模型的输出和轨迹HMM模型的输出;

步骤S42:将步骤S41得到的输出作为2维特征向量X={x1,x2},x1、x2分别对应与手
型和轨迹对应识别结果的编号,识别手势的结果为n个类分别计算


其中sk表示在编号Ak上具有值的类Ci的训练样本数,si为Ci上的总样本数;

步骤S43:对于一个新的输入特征量X,根据贝叶斯定理:


其中由此选出最大的概率值的手
势类别即为识别结果。

一种基于KINECT2的动态手势识别方法.pdf_第1页
第1页 / 共13页
一种基于KINECT2的动态手势识别方法.pdf_第2页
第2页 / 共13页
一种基于KINECT2的动态手势识别方法.pdf_第3页
第3页 / 共13页
点击查看更多>>
资源描述

《一种基于KINECT2的动态手势识别方法.pdf》由会员分享,可在线阅读,更多相关《一种基于KINECT2的动态手势识别方法.pdf(13页珍藏版)》请在专利查询网上搜索。

本发明公开了一种基于kinect2的动态手势识别方法,其特征在于,将动态手势的轨迹特征和手型特征分别建立隐马尔科夫模型,并利用朴素贝叶斯分类将手型识别结果和轨迹识别结果作为输入特征进行手势识别。本发明的基于kinect2的动态手势识别方法将复杂的动态手势过程分解为手型变化和轨迹运动变化,避免使用高维特征对手势进行描述,降低了运算的复杂度;由于加入了手型的特征,因此可以识别更多的手势,同时也进一步提。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1