基于kalman滤波的手势分割方法与流程

文档序号:13663152阅读:1051来源:国知局

本发明属于图像处理领域,涉及一种手势分割方法。



背景技术:

手势识别作为人机交互的重要纽带,主要分成两个方面,一是手势分割;二是手势识别。如何高效且精确的提取出手势区域一直是难点,带有手臂或其他区域会对手势识别产生影响,不仅影响识别的精度,还影响识别的速度。基于此,我们提出了一种基于kalman滤波的手势提取方法。



技术实现要素:

本发明的目的是提供一种可以有效的提取手势区域,提高识别精度的手势分割方法。技术方案如下:

一种基于kalman滤波的手势分割方法,包括下列步骤:

步骤1用kinect采集深度图像和骨骼信息,利用深度阈值分割出大致的手势区域,得到带有手臂和手掌区域的图像;

步骤2kalman滤波的预测阶段,将骨骼点中手掌点和手腕点分别表示为一个六维的状态向量,利用前一帧预测当前帧的状态,得到预测状态向量;

步骤3在kalman滤波的更新阶段,通过当前的测量状态和kalman增益更新预测状态,得到更新后的手掌点和手腕点的坐标信息。

步骤4连接更新后的手掌点和手腕点,得到直线l,在l上的每一个像素点作l的垂线,每条垂线与手势边缘相交,查找所有垂线段中最短的那条,从该垂线段进行分割,去除手掌以下区域;

步骤5去椒盐噪声,用最大矩形框寻找手势区域,并将手势区域裁剪成矩形框大小的图像;

步骤6归一化图像的大小,得到手势区域图像。

附图说明

图1(a)基于深度信息分割出的手势;(b)去除手臂后的手势区域

具体实施方式

采用微软的kinect传感器,获取深度图像和骨骼点的信息。通过获取到的骨骼点信息可以确定手掌点在深度图像中的坐标,而且还能得到手掌点到kinect的距离,我们可以设定一个深度阈值将手掌从背景中分割开来,公式如下:

dpalm-δd1<z(x,y)<dpalm+δd2(1)

其中dpalm是手腕点的深度信息,z(x,y)是深度图像中的像素点的深度信息,δd1和δd2代表设定的深度阈值。

实验中必须确保手掌和手腕点的准确性,而微软提供骨骼追踪的程序中会有误差,所以在使用骨骼点坐标前需要对追踪系统进行优化。我们提出了一种基于kalman滤波的骨骼点的优化方法,具体的实现分为两个部分,也就是kalman的两个过程----预测和更新。每一个点用一个四维的向量表示,k-1时刻手掌点表示为其中(sx,sy)表示更新后手腕点在深度图像中坐标,vx和vy分别代表手腕点在深度图中x,y方向上的速度,k时刻和k-1时刻间的时间特别短,因此能看成是匀速的。在k时刻上的预测过程则可以表示为:

其中,表示k时刻的预测值,a是状态转移矩阵,表示预测过程的协方差矩阵,q是预测过程的误差矩阵,服从零均值高斯分布。由k-1时刻状态预测得到的状态量和在k时刻测量得到的zk可以更正k时刻的状态量,该过程也称更新过程,公式如(4)所示:

其中kk是klaman增益,也叫最优kalman增益,方程表示间公式(5);h是转移矩阵,将四维的状态向量转化为二维测量向量;zk是观测量,它的误差也服从零均值高斯分布。

在每次更新过程协方差矩阵也跟着更新一次,见公式(6)。

在kalman滤波器更新完手掌点和手腕点的坐标之后,接下来需要去除手臂部分,并提取手势部分,最后将图像归一化。具体步骤如下

(1)先是用kinect采集手势的图像,并用手掌点的深度信息对手势区域分割,得到的手势图像如图1所示,

(2)在手势分割的过程中,用kalman滤波将手掌点和手腕点的坐标进行预测和更新,保证手腕点和手掌点坐标的准确性,便于用于下一步的去手臂过程。

(3)去手臂:

a.将上步更正的手掌和手腕点连接起来直线l;

b.直线l上的每一个像素点作l的垂线每条垂线与手势区域想成一条垂线段;

c.查找所有垂线段中最短的那条即为腕线;

d.从该万献初进行分割,去除手臂部分,即可得到手势区域。

(4)提取手势区域

a.去燥(椒盐噪声),去出手势外区域的干扰;

b.寻找手势的轮廓,确定其中最大轮廓即为手势区域;

c.将手势转化为轮廓大小的图像。

(5)归一化,将图像变成28*28大小的,以便后面的识别过程。

本发明的有益效果如下:

(1)手势分割过程中,因手的形状大小,或手的移动引起的骨骼点追踪不准确的情况,用kalman滤波能有效的去除这种干扰。

(2)手势分割后可能会存在残留手臂的情况,我们提出的方法能有效的去除手臂,在识别的时候就能提高手势识别的精度。

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