专利分类
专利分类

kinect2的动态手势识别方法专利

专利号:201611096405.5

销售价
1500
kinect2的动态手势识别方法专利二维码
  • 累计销量0
  • 浏览次数48
  • 累计评论0
首页

专利名称:kinect2的动态手势识别方法

技术领域:手势识别

IPC主分类号:G06K9/00

申请号:CN201611096405.5

公开日:2017-05-17

说明书

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

技术领域

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

背景技术

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

发明内容

[0004] 为解决现有技术的不足,本发明的目的在于提供一种基于kinect2的动态手势识别方法。
[0005] 为了实现上述目标,本发明采用如下的技术方案:
[0006] 一种基于kinect2的动态手势识别方法,将动态手势的轨迹特征和手型特征分别建立隐马尔科夫模型,并利用朴素贝叶斯分类将手型识别结果和轨迹识别结果作为输入特征进行手势识别。
[0007] 更进一步的,包括以下步骤:
[0008] 步骤1、利用kinect2的骨骼跟踪技术得到手掌心的三维位置并映射到深度图像中得到手势深度图像;
[0009] 步骤2、对手势深度图像和运动轨迹分别进行预处理,提取得到手型特征和运动轨迹方向角特征;
[0010] 步骤3、分别对手型特征和运动轨迹方向角特征建立不同的隐马尔科夫模型,得到手型隐马尔科夫模型和轨迹隐马尔科夫模型;
[0011] 步骤4、将步骤3得到的手型隐马尔科夫模型和轨迹隐马尔科夫模型的输出作为特征,利用朴素贝叶斯分类器进行手势识别。
[0012] 更进一步的,步骤1中利用kinect2的骨骼跟踪技术得到手掌心的三维位置并映射到深度图像中得到手势深度图像包括以下步骤:
[0013] 步骤S11:利用kinect2获得Depth数据、Body index数据、Body数据;
[0014] 步骤S12:根据Body index数据:如果人体有多个,根据深度信息,选择距离kinect2最近的人体作为目标,提取其右手掌心骨骼点和右手腕部骨骼点的空间坐标;
[0015] 步骤S13:利用kinect2SDK中的MapCameraPointToDepthSpace函数将相机坐标系中的掌心点和手腕点转换到深度空间,得到掌心和手腕骨骼点在深度图像中的位置;
[0016] 步骤S14:以掌心点为圆心,掌心与手腕点距离的1.5倍为半径画圆进行手势的分割,得到手部的图像,然后以手腕点的深度作为阈值,将大于此深度值的像素去除,得到完整的手势深度图像。
[0017] 更进一步的,所述步骤2中对手势深度图像和运动轨迹分别进行预处理,提取得到手型特征和运动轨迹方向角特征包括以下步骤:
[0018] 步骤S21:对步骤1)得到的手势深度图像进行二值化,对得到的二值化图像进行中值滤波,去除椒盐噪声,并进行形态学的腐蚀膨胀操作去除空洞杂点;
[0019] 步骤S22:提取手势图像的Hu不变矩作为手型特征;对手心的三维运动进行卡尔曼滤波跟踪得到处理过的手心运动轨迹,提取手心运动轨迹的方向角特征得到运动轨迹方向角特征。本发明在动态手势特征提取中加入了经过量化的手型特征,加轨迹与手型分开建立隐马尔科夫模型(HMM)。
[0020] 更进一步的,步骤S22中提取手势图像的Hu不变矩作为手型特征,手型特征包括如下所述的七个不变矩:
[0021] M1=η20+η02
[0022] M2=(η20-η02)2+4η112
[0023] M3=(η30-3η12)2+(3η21-η03)2
[0024] M4=(η30+η12)2+(η21+η03)2
[0025] M5=(η30-3η12)2(η30-η12)[(η30+η12)2-3(η21+η03)2]
[0026] +(3η21-η03)(η21+η03)[3(η30+η12)2-(η21+η03)2]
[0027] M6=(η20-η02)[(η30+η12)2-(η21+η03)2]+4η11(η30+η12)(η21+η03)[0028] M7=(3η21+η03)(η30+η12)[(η30+η12)2-3(η21+η03)2]
[0029] +(η30-3η12)(η21+η30)[3(η30+η12)2-(η21+η03)2]
[0030] 其中,归一化的中心矩为ηpq=μpq/(μ00ρ)
[0031] 式中,ρ=(p+q)/2+1, N和M分别是图像的高度和宽度,和 分别代表图像的重心,
[0032]
[0033] 更进一步的,步骤S22中对手心的三维运动进行卡尔曼滤波跟踪得到处理过的手心运动轨迹,提取手心运动轨迹的方向角特征得到运动轨迹方向角特征,其中,方向角通过下式计算得到:
[0034]
[0035] θ表示相邻轨迹点之间的角度,(xi,yi)和(xi+1,yi+1)分别为相邻轨迹点的坐标。
[0036] 更进一步的,对于得到的方向角,进行12方向矢量量化编码,如下式:当θ>=15°时
[0037] 其中,f=13-k
[0038] 当θ<15°时
[0039] 其中,f=(k+7)%12
[0040] f的值就是量化后的角度的特征值,取值为1~12的整数。
[0041] 更进一步的,所述步骤3中分别对手型特征和运动轨迹方向角特征建立不同的隐马尔科夫模型,得到手型隐马尔科夫模型和轨迹隐马尔科夫模型,包括以下步骤:
[0042] 步骤S31:对于手型特征提取值Hu矩,采用k-means向量量化方法,将特征向量转化成离散特征标号序列,作为隐马尔科夫模型的输入;
[0043] 步骤S32:提取一个训练样本,分别对手型隐马尔科夫模型和轨迹隐马尔科夫模型进行参数初始化;
[0044] 步骤S33:利用Baum-Welch算法分别对手型隐马尔科夫模型和轨迹隐马尔科夫模型进行参数的训练,重复步骤S32,对每种手势进行训练得到每种手势的手型隐马尔科夫模型和轨迹隐马尔科夫模型。
[0045] 更进一步的,所述步骤4中将步骤3得到的手型隐马尔科夫模型和轨迹隐马尔科夫模型的输出作为特征,利用朴素贝叶斯分类器进行手势识别包括以下步骤:
[0046] 步骤S41:对于训练好的手型隐马尔科夫模型和轨迹隐马尔科夫模型,输入另一部分训练样本,分别得到手型隐马尔科夫模型的输出和轨迹隐马尔科夫模型的输出;
[0047] 步骤S42:将步骤S41得到的输出作为2维特征向量X={x1,x2},x1和x2分别对应与手型和轨迹对应识别结果的编号,识别手势的结果为n个类,分别计算
[0048]
[0049] 其中,sk表示在编号Ak上具有值的类Ci的训练样本数,si为Ci上的总样本数;
[0050] 步骤S43:对于输入特征量X,根据贝叶斯定理:
[0051]
[0052] 其中, 选出最大的概率值的手势类别即为识别结果。
[0053] 有益效果:本发明的基于kinect2的动态手势识别方法将复杂的动态手势过程分解为手型变化和轨迹运动变化,避免使用高维特征对手势进行描述,降低了运算的复杂度;由于加入了手型的特征,因此可以识别更多的手势,同时也进一步提高了识别手势的精确度。

附图说明

[0054]
[0055] 图1是本发明基于kinect2的动态手势识别方法的流程图;
[0056] 图2是本发明方向角量化编码示意图;
[0057] 图3是本发明使用的HMM模型结构图。

具体实施方式

[0058] 以下结合具体实施例对本发明作具体的介绍。
[0059] 实施例1:
[0060] 请参阅图1所示,基于kinect2的动态手势识别方法,利用kinect2深度摄像头追踪人的手,通过对动态手势的手型特征和运动轨迹特征分别建立隐马尔科夫模型(HMM),并结合朴素贝叶斯分类器进行手势的识别,该方法包括以下步骤:
[0061] 步骤1:利用kinect2的骨骼跟踪技术得到手掌心的三维位置并映射到深度图像中得到手势深度图像,具体为:
[0062] 步骤S11:利用kinect2获得Depth数据、Body index数据、Body数据;
[0063] 步骤S12:根据Body index数据,若人体有多个,根据深度信息,选择距离kinect2最近的人体作为目标,提取其右手掌心骨骼点和右手腕部骨骼点空间坐标;
[0064] 步骤S13:利用kinect2 SDK中MapCameraPointToDepthSpace函数将相机坐标系中的掌心点和手腕点转换到深度空间,得到掌心和手腕骨骼点在深度图像中的位置;
[0065] 步骤S14:以掌心点为圆心,掌心与手腕点距离的1.5倍为半径画圆进行手势的分割,得到手部的图像,然后以手腕点的深度作为阈值,将大于此深度值的像素去除,从而将多余的手臂部分去除,得到完整的手势图像。
[0066] 步骤2:对手势深度图像以及运动轨迹进行预处理,并提取手型特征以及轨迹方向角特征,具体为:
[0067] 步骤S21:对得到的手势图像进行二值化,对得到的二值化图像进行中值滤波,去除椒盐噪声,并进行形态学的腐蚀膨胀操作去除空洞杂点;
[0068] 步骤S22:手势图像提取它的Hu不变矩作为手型特征,对于图像f(x,y),它的p+q阶几何矩(标准矩)定义为:
[0069]
[0070] p+q阶中心矩定义为:
[0071]
[0072] 其中 和 代表图像的重心,
[0073]
[0074]
[0075] 对于离散的数字图像,用求和代替积分
[0076]
[0077]
[0078] 其中N和M分别是图像的高度和宽度,归一化的中心矩定义为:
[0079] ηpq=μpq/(μ00ρ)  (7)
[0080] 其中ρ=(p+q)/2+1。
[0081] 利用二阶和三阶中心距可以定义七个不变矩,可以保持图像在平移、缩放和旋转时保持不变,具体定义:
[0082] M1=η20+η02  (8)
[0083] M2=(η20-η02)2+4η112  (9)
[0084] M3=(η30-3η12)2+(3η21-η03)2  (10)
[0085] M4=(η30+η12)2+(η21+η03)2  (11)
[0086]
[0087] M6=(η20-η02)[(η30+η12)2-(η21+η03)2]+4η11(η30+η12)(η21+η03)  (13)[0088]
[0089] 由此我们可以计算出手势图像的Hu矩,这七个不变矩就作为手势图像的特征值;
[0090] 步骤S23:对手心的三维运动进行卡尔曼滤波跟踪得到处理过的手心运动轨迹,并相隔10mm提取一次点的坐标值并保存;
[0091] 步骤S24:提取轨迹的方向角特征来作为运动轨迹的特征,轨迹点的运动方向用相邻点的之间的方向矢量(r,θ)来表示,其中r表示方向矢量的大小,即相邻轨迹点之间的距离,θ表示相邻轨迹点之间的角度,我们取角度作为轨迹的运动特征,角度的计算公式为[0092]
[0093] 结合图2,对于得到的角度值,进行12方向矢量量化编码,具体的公式为[0094] 当θ>=15°时
[0095]
[0096] 当θ<15°时
[0097]
[0098] f的值就是量化后的角度的特征值,取值为1~12的整数;
[0099] 步骤3:分别对手型特征以及方向角特征建立不同的隐马尔科夫模型,具体过程为:
[0100] 步骤S31:对于手型特征提取值Hu矩,采用k-means向量量化方法,将特征向量转化成离散特征标号序列,作为HMM模型的输入;
[0101] 步骤S32:一个HMM完整的参数集合可用一个五元组λ=(N,M,A,B,π)来表示,其中N为HMM的隐含状态的个数,M为HMM观察值的个数,A={aij}为N×N状态转移概率分布矩阵,B={bj(k)}为N×M的观察概率分布矩阵,π={π1,π2,π3...πN}为初始状态分布,模型初始化阶段,N为HMM的隐含状态的个数可以自己定义,对于手型HMM,M为所需要识别的手型的个数,对于轨迹HMM,为量化的方向角矢量个数即为12,转移矩阵A由下式确定:
[0102]
[0103] 其中aii的值与平均每个隐藏状态的持续时间d有关
[0104]
[0105] 为平均样本长度,观察概率分布矩阵B由下式确定:
[0106]
[0107] 初始状态π为第一个状态,因此确定为:
[0108] π=[1 0...0]T  (21)
[0109] 至此,完成模型的各个初始参数的确定;
[0110] 步骤S33:利用Baum-Welch算法分别对手型HMM模型和轨迹HMM模型进行参数的训练,Baum-Welch算法具体过程如下:
[0111] 首先用到后验概率函数和概率函数可以分别得到:
[0112] γt(i)=P(qt=si|o,λ)  (22)
[0113]
[0114] 具体的参数重构公式:
[0115] πi=P(qt=si)=γt(i)  (24)
[0116]
[0117]
[0118] 由此可以得到新的模型参数
[0119] 步骤4:将手型隐马尔科夫模型和轨迹特征隐马尔科夫模型的输出作为特征,利用朴素贝叶斯分类器进行手势的识别,具体为:
[0120] 步骤S41:对于训练好的手势HMM模型和轨迹HMM模型,输入另一部分训练样本,分别得到手型HMM模型的输出和轨迹HMM模型的输出;
[0121] 步骤S42:将步骤S41得到的输出作为2维特征向量X={x1,x2},x1、x2分别对应与手型和轨迹对应识别结果的编号,识别手势的结果为n个类 分别计算
[0122]
[0123] 其中sk表示在编号Ak上具有值的类Ci的训练样本数,si为Ci上的总样本数;
[0124] 步骤S43:对于一个新的输入特征量X,根据贝叶斯定理:
[0125]
[0126] 其中 由此选出最大的概率值的手势类别即为识别结果。

kinect2的动态手势识别方法委托购买说明

填写需求表单支付预付款

平台根据需求优化购买方案

确认购买方案支付尾款

平台办理变更等待成功通知

kinect2的动态手势识别方法购买流程说明

发起委托,需要先支付100元预付款,委托不成功,全额退返预付款;

平台收到需求后,会联系您,给到您购买方案;

您在确认购买方案后,需支付全额专利购买费,预付款可抵扣购买费,专利购买费具体参见下方表格;

平台确认收款后,将帮您办理专利购买、专利过户等全流程手续;

平台代购专利失败,将全额退返专利购买费,包括预付款;

kinect2的动态手势识别方法专利购买费用

授权未缴费=专利裸价+著录项变更(200元)+登办费(当年年费+5元印花税)+恢复权利请求费1000元(按实收)+委托服务费(200元)+税金(专利裸价+委托服务费)x6%

已下证=专利裸价+著录项变更(200元)+滞纳金(按实收)+恢复权利请求费1000元(按实收)+委托服务费(200元)+税金(专利裸价+委托服务费)x6%

kinect2的动态手势识别方法购买费用说明

专利转让费用

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。更多

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

更多专利转让常见问题

动态评分

0.0

没有评分数据
没有评论数据
 
X 顶部大图