一种基于Kinect深度信息的动态手势识别方法与流程

文档序号:13422452阅读:390来源:国知局
一种基于Kinect深度信息的动态手势识别方法与流程

本发明涉及一种计算机图像处理及模式识别技术,特别涉及一种基于kinect深度信息的动态手势识别方法。



背景技术:

手势作为人类的重要的肢体语言,具有很强的表意功能,可以通过手指的变化,手的移动等来表达人的思想和情感,在人与人之间的交流中发挥了很重要的作用,是一种常用的沟通方法。手势可以区分为静态手势和动态手势。其中对于静态手势的识别是指对于某个时间中手形变化、手的朝向等的识别;而对于动态手势的识别则是侧重于分析手的运动的过程,即在一个时间段内,识别由手的运动形成的轨迹序列的意义。

在现有技术中,基于视觉的动态手势识别技术已取得一些显著的成果,也开发了很多手势识别系统,但现有的手势识别系统仍存在着许多问题和不足,比如光照变化、背景的影响;手势开始结束的确定;手势轨迹的提取等,导致识别率不够高。



技术实现要素:

为了克服现有技术的不足,本发明提供一种基于kinect深度信息的动态手势识别方法,以提高手势识别的正确率。

本发明为解决上述技术问题采用以下技术方案

本发明提供一种基于kinect深度信息的动态手势识别方法,具体步骤如下:

步骤1,通过kinect传感器获取手势视频序列,将视频序列中的手势与背景进行分离,并找出每帧图像中手势的轮廓;

步骤2,将步骤1中的手势轮廓逐帧与预设开始手势进行匹配,将满足匹配要求的第一帧图像中的手势作为动态手势的开始;

步骤3,从步骤2中作为动态手势开始的那帧图像的手势轮廓开始逐帧与预设结束手势进行匹配,将满足匹配要求的第一帧图像中的手势作为动态手势的结束,从而得到一组待识别的手势轨迹;

步骤4,对步骤3中待识别的手势轨迹进行特征提取,并对提取的特征采用8个基准方向向量进行编码,最后采用dtw方法对编码后的待识别手势轨迹进行识别。

作为本发明的进一步优化方案,步骤1具体为:

1.1,通过kinect传感器获取包含用户所作手势的手势视频序列;

1.2,利用深度阈值法将视频序列中的手势与背景进行分离;

1.3,根据像素深度突变的特点,找出每帧图像中手势的轮廓。

作为本发明的进一步优化方案,步骤1.3具体为:

1)将任一帧图像分为若干像素块,判断每个像素块的顶点的种类,顶点的种类包括在手势深度范围内且属于人手部分的有效检查像素点、在手势深度范围但不属于人手部分的无效检查像素点和不在手势深度范围的不检查像素点;

2)若相邻两个顶点分别为有效检查像素点和无效检查像素点,则两者之间的深度突变点即为手势的轮廓点,遍历所有像素块的顶点即得到手势的轮廓。

作为本发明的进一步优化方案,步骤2和步骤3中的手势轮廓与预设手势进行匹配的方法为:

a,根据当前手势轮廓以及k曲率算法,找到当前手势轮廓中的指尖坐标;

b,比较当前手势轮廓与预设手势中的手指数量,若手指数量不相等则舍弃当前帧,进入下一帧的匹配,否则进入步骤c;

c,根据当前手势轮廓以及掌心特征,找到当前手势轮廓中的掌心坐标;

d,根据步骤步骤a中的指尖坐标和步骤c中的掌心坐标,计算当前手势轮廓与预设手势的相似度:

其中,n是当前手势轮廓中的手指数量,是当前手势轮廓中掌心到第i个指尖的距离与预设手势中掌心到第i个指尖的距离之差,ωf和ωp分别是预设的手指和掌心视差的权重,δc是当前手势轮廓中掌心坐标和预设手势中掌心坐标之间距离;

e,若步骤d中得到的相似度大于设定阈值,则舍弃当前帧,进入下一帧的匹配;否则当前帧满足匹配要求。

作为本发明的进一步优化方案,步骤4具体为:

4.1,对步骤3中待识别的手势轨迹进行特征提取,其中,待识别手势轨迹的特征是相邻两帧手势轮廓中掌心坐标所构成向量形成的向量组,其中,表示第t帧手势与第t-1帧手势轮廓中掌心坐标所构成向量,(xt,yt)为第t帧手势轮廓中的掌心坐标,(xt-1,yt-1)为第t-1帧手势轮廓中的掌心坐标;

4.2,对步骤4.1中向量组中的每个向量分别采用8个基准方向向量进行8个方向的编码,其中,的第n个方向的编码为:

式中,n=0,1,…,7;表示第n个基准方向向量;

4.3,采用dtw方法对编码后的待识别手势轨迹进行识别:

i)构建u×v阶的dtw矩阵,其第u行第v列元素为待识别手势轨迹的第u个编码与参考手势的第v个编码之间的距离,其中,u=1,2,…,u,v=1,2,…,v,任两个编码a,b之间的距离dist(a,b)=min{|a-b|,8-|a-b|};

ii)对步骤i中的dtw矩阵添加限制;

iii)对步骤ii中添加限制后的矩阵进行粗粒度化,并在粗粒度化后的矩阵上寻找最优路径;

iv)将步骤iii中寻找到的最优路径细化到步骤ii中添加限制后的矩阵上,即得到最终的最优路径,其中,细化的范围为步骤iii中寻找到的最优路径的k个粒度之内,k为半径参数;

v)将步骤iv中得到的最终最优路径上的矩阵元素值求和,即得到待识别手势轨迹和参考手势的相似度;

vi)分别求得待识别手势轨迹与参考手势集中每个参考手势之间的相似度,若相似度的最小值小于设定阈值,则相似度最小值对应的参考手势即为待识别手势轨迹的识别结果,否则无法识别。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明通过kinect摄像头实时采集图像,根据深度信息根据手势特征在深度图像中实现手势分割,之后对开始和结束静态手势的识别获取到整段动态手势,根据该段动态手势中每帧图像的掌心位置获得动态手势轨迹,对手势进行8方向编码后,使用加速的dtw方法训练和识别动态手势。本发明采用基于kinect深度图像信息动态手势识别的方法,具有较强的扩展性,且能解决复杂背景、大面积的肤色干扰、光照变化等对手势检测造成影响的问题,能够准确有效的分割出手部。后续采用对手势轨迹进行8个方向的方法,提高了动态手势识别的准备率,最后采用添加限制的dtw方法则可有效提高最终动态手势识别的准确率。

附图说明

图1为基于kinect的动态手势识别的流程图;

图2为获取手势轮廓的示意图;

图3为确认动态手势开始的流程图;

图4为8个基准方向矢量;

图5为参考手势和待识别手势的dtw矩阵;

图6为两种添加限制来加速dtw计算的方法,(a)为将搜索范围限制在两条平行直线的方式,(b)为将搜索范围限制在菱形内的方式;

图7为路径细化过程。

具体实施方式

下面结合附图对本发明的技术方案做进一步的详细说明:

本发明基于kinect深度信息的动态手势识别方法,如图1所示,通过kinect传感器获取含有手势的视频信息,利用深度阈值法将手势与背景分离开,根据像素深度突变点为手势轮廓的特征分割出手势轮廓,将得到的手势轮廓与开始手势进行相似度计算,若相似则表示动态手势开始,并进行跟踪,以同样的方法找到动态手势的结束点,从而获得手势轨迹。提取手势轨迹的特征,并对手势轨迹的特征采用8个基准方向向量进行编码,最后采用dtw方法进行动态手势的识别,输出识别结果。

其中,根据像素深度突变点为手势轮廓的特征分割出手势轮廓,如图2所示,具体为:1)将任一帧图像分为20x20的像素块,判断每个像素块的顶点的种类,顶点的种类包括在手势深度范围内且属于人手部分的有效检查像素点、在手势深度范围但不属于人手部分的无效检查像素点和不在手势深度范围的不检查像素点;2)若相邻两个顶点分别为有效检查像素点和无效检查像素点,则两者之间的深度突变点即为手势的轮廓点,遍历所有像素块的顶点即得到手势的轮廓。

如图3所示的确认动态手势开始的流程图,找到手势轮廓上的像素点之后,按照一定方向搜索整个手势轮廓,根据k曲率算法找到各个指尖位置,通过对比指尖数量进行手势的预对比,若满足与预设开始手势的指尖数量相等的条件,则再根据掌心为手的最大内切圆圆心找到掌心位置。得到指尖坐标和掌心坐标后,可根据以下公式计算当前手势轮廓与预设开始手势的相似度:

其中,n是当前手势轮廓中的手指数量,是当前手势轮廓中掌心到第i个指尖的距离与预设手势中掌心到第i个指尖的距离之差,ωf和ωp分别是预设的手指和掌心视差的权重,δc是当前手势轮廓中掌心坐标和预设手势中掌心坐标之间距离。

当计算得到的相似度小于设定的阈值,则当前手势为开始手势,否则对下一帧图像进行手势相似度的计算。动态手势结束的确认与之相同,此处不再赘述。

手势轨迹的特征即为相邻两帧手势轮廓中掌心坐标所构成向量形成的向量组,其中,表示第t帧手势与第t-1帧手势轮廓中掌心坐标所构成向量,(xt,yt)为第t帧手势轮廓中的掌心坐标,(xt-1,yt-1)为第t-1帧手势轮廓中的掌心坐标。

对手势轨迹的特征中的每个向量分别采用8个基准方向向量进行8个方向的编码,8个基准方向向量如图4所示。的第n个方向的编码为

其中n=0,1,…,7;表示第n个基准方向向量。

定义任两个编码a,b之间的距离:为dist(a,b)=min{|a-b|,8-|a-b|}。

构建u×v阶的dtw矩阵,其第u行第v列元素为待识别手势轨迹的第u个编码与参考手势的第v个编码之间的距离。例如,参考手势fc的编码为{2,7,7,3},待识别手势轨迹t的编码为{1,3,4,4,2},则对应的dtw矩阵如图5所示。

dtw方法可以解决同一手势由于不同的速度而导致获得的手势长度不同的问题,但经典dtw方法存在许多问题,所以本发明中对其进行一定改进。如图6所示的是为了对dtw进行加速而添加限制的两种方法,其中,(a)为将搜索范围限制在两条平行直线的方式,(b)为将搜索范围限制在菱形内的方式。本发明在添加限制的同时,对添加限制的dtw矩阵进行粗粒度化后再寻找最优路径。最后进行细粒度化,如图7所示,即将在粗粒度化矩阵上得到的路径进一步细化到未进行粗粒度化的矩阵上。与此同时,在较细粒度的空间内额外向外(横向,竖向,斜向)扩展k个粒度,k为半径参数,取1或2。找到最佳规整路径之后,求得路径上所有矩阵元素之和s即为待识别手势与参考手势之间的相似度。计算待识别手势轨迹与参考手势集中每个参考手势之间的相似度,若相似度的最小值小于设定阈值,则相似度最小值对应的参考手势即为待识别手势轨迹的识别结果,否则无法识别。

以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1