一种实时手势识别的方法与流程

文档序号:14266389阅读:186来源:国知局
一种实时手势识别的方法与流程

本发明涉及图像处理技术领域,特别是一种实时手势识别的方法。



背景技术:

手势识别是指对人手部形态、位移等进行持续采集、建模并识别,从而将获得的手势信息转换为对应的指令,用来控制实现某些操作。动态手势识别是静态手势识别的结合,是由一系列的手势动作组成,重点是获取视频流中的手部信息,提取手势特征与手势运动轨迹,从而进行动态手势识别。

物联网时代,人机交互不再是机械性的按键交互、触屏交互,而是会以语音交互、手势交互等更为简单便捷的方式呈现。动态手势的交互方式更加符合人们日常的交流习惯,同时它扩展以实现更多、更丰富的语义,填补了图形、机械、触屏交互与自然语言交互之间的空白,因此该识别技术在人机交互领域的发展中有着重要的研究意义以及广阔的应用前景。

尽管现有的基于视觉的动态手势识别技术取得了很大进展,但是还没有真正应用于复杂环境并可以广泛普及的系统。主要原因在于真实环境中背景有很强的不确定性,光线的颜色、强弱、变化都可能给手势识别系统的识别率带来影响,同时实时动态手势识别系统对计算机的处理能力要求也非常高。动态手势的运动速度、表现形态不一、运动物遮挡等都会降低识别率。



技术实现要素:

本发明所要解决的技术问题是克服现有技术的不足而提供一种实时手势识别的方法,在动态手势的识别过程中对光照变化、复杂背景下的图像信息以及动态手势轨迹进一步优化,提高动态手势识别率。

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

根据本发明提出的一种实时手势识别的方法,包括如下步骤:

步骤1、实时获取手势视频信号,将手势视频信号分解为按时间排序的图像序列;

步骤2、对步骤1得到的图像序列预处理得到二值图像,其中预处理包括中值滤波、色彩空间转换和肤色阈值分割;

步骤3、对步骤2预处理后的二值图像进行形态学滤波,在二维平面中采用质心定位的方法分割出手部区域;

步骤4、提取手部区域的手形特征构成手形特征向量并用svm支持向量机算法识别成对应的手势值;

步骤5、对手部区域采用迭代lk金字塔光流算法提取运动轨迹的方向特征,使其与手势值组合为每一个动态手势图像的特征向量;

步骤6、循环执行步骤4和步骤5,直到手势结束,从而获得手势的特征向量序列,该特征向量序列的长度即为步骤1中图像序列的个数;

步骤7、建立手势模板库,将步骤6获得的手势的特征向量序列f_test,与手势模板库中所有模板f_ref都进行优化dtw匹配,并计算f_test与f_ref的失真度,如果大于失真阈值,则识别失败,如果小于失真阈值,则输出识别结果。

作为本发明所述的一种实时手势识别的方法进一步优化方案,步骤1中采用红外摄像头实时获取手势视频信号。

作为本发明所述的一种实时手势识别的方法进一步优化方案,步骤2中的预处理,对中值滤波后的图像通过图像空间转换技术转换到ycrcb彩色空间进行肤色阈值分割。

作为本发明所述的一种实时手势识别的方法进一步优化方案,步骤3中采用质心定位的方法分割出手部区域,手部区域的质心位置的求法如下:

设(x,y)为手部区域中的像素位置,i(x,y)为手部区域中(x,y)处的像素值,手部区域的零阶矩阵和一阶矩阵分别为:

其中,m00为零阶矩阵,m10,m01分别为x和y的一阶矩阵;

求得手部区域的质心位置为:

其中,xc为质心位置的横坐标,yc为质心位置的纵坐标。

作为本发明所述的一种实时手势识别的方法进一步优化方案,步骤4具体如下:

4-1-1)提取手部区域的手部轮廓存为点序列并将其点序列用直线描绘;

4-1-2)计算该手部轮廓的中心矩及7个hu不变矩,取出几何矩七个特征分量中的前四个分量,使其与手部轮廓的面积周长比共计5个手形特征构成手形特征向量;

4-1-3)利用4-1-1)和4-1-2)获得所有图像序列的手形特征向量,对其归一化后送进svm训练器中进行学习和训练,识别成对应的手势值。

作为本发明所述的一种实时手势识别的方法进一步优化方案,步骤5利用迭代lk金字塔光流算法,求解出图像序列的光流场,得到运动轨迹的最初特征,选取运动轨迹切线角θ作为运动轨迹的方向特征,并将取值连续的θ均匀量化。

作为本发明所述的一种实时手势识别的方法进一步优化方案,步骤7中优化dtw匹配具体如下:

(1)对dtw匹配在全局最优路径的查找过程中约束路径的斜率,将斜率控制在之间;

(2)对dtw匹配设定失真阈值,设m与n为分别为参与匹配的两组特征向量序列的长度,最优路径长度处于max(m,n)与m+n之间,且最优路径中不匹配的次数与最优路径长度成正比例关系,选用α×(m+n)作为失真阈值,α为正比例系数。

作为本发明所述的一种实时手势识别的方法进一步优化方案,α设定为0.25。

本发明采用以上技术方案与现有技术相比,具有以下技术效果:

(1)本发明提供的动态手势识别方法,其能够在动态手势的识别过程中对光照变化、复杂背景下的图像信息以及动态手势轨迹进一步优化,提高动态手势识别率;

(2)该发明可以应用在智能家居环境下,通过手势对家电进行简单操控,让用户享受人机手势交互的舒适感,且手势简单方便易学;有非常广阔的应用场景。

附图说明

图1为本发明实时手势识别方法的流程示意图;

图2为本发明实时手势识别方法的图像预处理示意图;

图3为本发明实时手势识别方法的质心定位手部分割流程图;

图4为本发明实时手势识别方法的手形特征向量提取流程图;

图5为本发明实时手势识别方法的迭代lk金字塔光流算法流程图;

图6为本发明实时手势识别方法提供的动态手势识别装置的功能模块图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。

首先通过终端摄像头实时捕获手势视频,图像模块采集图像信息,并按时间顺序将图像进行排序,对所得的每帧图像做预处理作并进行手部区域分割,提取手部区域的手形特征及运动轨迹的方向特征,把手形特征送进svm分类器中对应手势值,并将其与所提取的轨迹方向特征结合成动态手势的特征向量,使得到的特征向量序列与模板库中所有的模板都进行dtw匹配,计算其失真度,如果最小失真度比失真度阈值大,则识别失败,如果最小失真度比失真度阈值小,则输出识别结果。将结果送入控制模块,读取手势所对应的指令,从而进行家电控制。该发明可以应用在智能家居环境下,让用户享受人机手势交互的舒适感,且手势简单方便易学。有非常广阔的应用场景。如图1所示,本发明智能家居场景下手势识别的流程主要包括以下步骤:

步骤1,图像采集模块对摄像头记录的手势视频进行图像采集,对采集的每一帧图像进行预处理后进行手部分割,预处理方法详见图2,质心定位手部分割方法详见图3;

步骤2,提取手部区域的手形特征并用svm支持向量机识别成对应的手势值,手形特征提取流程详见图4;

步骤3,采用迭代lk金字塔光流算法跟踪动态手势,提取手势运动轨迹的方向特征,并与手势值组成每一个动态手势图像的特征向量,迭代lk金字塔光流算法流程图详见图5。

手势运动轨迹的方向特征提取方式如下:

手势的运动映射到图像上,就表现为该手势所有点像素值的变化,将像素值的变化速率定义为光流,而手势图像中各像素点的灰度值变化表示光流场。本发明采用光流矢量进行手势动作分析,光流矢量反映了手势图像中每个点像素值的变化情况。利用迭代lk金字塔光流算法,求出能够反映运动手势信息的图像序列的光流场,从计算得到的光流场中可以提取很多特征,但是为了避免手势在某一时刻具体位置不同以及运动速度不同带来的影响,本发明选择运动轨迹切线角θ作为轨迹特征。假如t-1时刻运动轨迹上对应的跟踪点位置是而t时刻运动轨迹上对应的跟踪点位置是可求得在这段时间间隔内的运动偏移量时,此时有切线角时,此时有θ=π/2;当时,此时有θ=3π/2,其中切线角θ既很好地描述了手势运动轨迹的信息,同时也使手势运动特征变得更加简单。由于θ的取值是连续的,直接使用会大幅度增加运算量,为了降低计算的复杂度,提高运算速度,将θ均匀量化。

步骤4,通过增加斜率路径约束和设置失真度阈值对原有dtw算法进行了优化和改进,并将得到的特征向量与模板库中所有模板进行匹配,输出识别结果。将斜率控制在之间,减少计算量;设m与n为分别为参与匹配的两组特征向量序列的长度,最优路径长度处于max(m,n)与m+n之间,且最优路径中不匹配的次数与最优路径长度成正比例关系,选用α×(m+n)作为失真阈值,α为正比例系数,α设定为0.25;对dtw优化后,结合自适应模板进行手势匹配与识别。

如图2所示,本发明实时手势识别方法的图像预处理主要包括以下步骤:

步骤201,将获得的图像序列调整为3*3的正方形模板记为image1;

步骤202,对图像image1的9个坐标点的像素排序后进行中值滤波得到image2,中值滤波方法采用中值取代当前位置点的像素值,中值与噪声的像素值的大小无关,不易受噪声影响,并能较好地保留图像边缘等细节信息。

步骤203,对图像image2完成rgb颜色空间到ycrcb颜色空间的转换,得到图像image3转换公式如下:

其中y表示明亮度,cr和cb表示色度,r、g、b取值范围均为0~255。

步骤204,通过高斯建模选取合适的肤色阈值参数对图像image3进行阈值分割,得到图像image4,过程如下:

①使用cr和cb两个色度通道对图像image3进行二值化处理,公式如下:

其中t阈值参数,g(u,v)为图像image3,(u,v)是image3像素点的位置,0代表黑色,1代表白色。

②假设cr和cb符合正态分布,求出图像image3像素点在cr和cb通道中的均值μ和方差δ,将结果带入一维正态分布公式中从而建立一维统计模型;

③参照一维正态分布的概率密度分布表,可以得到在[μ-2.8δ,μ+2.8δ]范围内的概率非常接近1,所以像素值处在该范围内的像素点基本上可以被看作肤色点。把cr对应的高斯模型统计得到的区间[μ-2.8δ,μ+2.8δ]作为肤色的cr阈值参数,把cb对应的高斯模型统计得到的区间[μ-2.8δ,μ+2.8δ]作为肤色的cb阈值参数:

rangecr=[μcr-2.8δcr,μcr+2.8δcr]

rangecb=[μcb-2.8δcb,μcb+2.8δcb]

其中rangecr表示肤色的cr阈值参数,rangecb表示肤色的cb阈值参数。

④不在上述范围内的点就为非肤色点,通过阈值分割即可获得图像image4。

如图3所示,本发明实时手势识别方法的质心定位手部分割流程图,在该过程中,假设人手的质量均匀分布,则可利用手部区域面积来衡量对应的手部区域质量,简化算法。当前图像手部区域质心位置的求法如下:

设(x,y)为手部区域中的像素位置,i(x,y)为手部区域中(x,y)处的像素值,手部区域的零阶矩阵和一阶矩阵分别为:

其中,m00为零阶矩阵,m10,m01分别为x和y的一阶矩阵,可以求得手部区域的质心位置为:

其中,xc为质心位置的横坐标,yc为质心位置的纵坐标。

如图4所示,本发明实时手势识别方法的手形特征提取流程图,hu不变矩构造方式如下:

对于图像中坐标为(x,y)的点像素值为f(x,y)且二元函数f(x,y)为连续函数,那么可用如下公式分别求出p+q阶的几何矩和p+q阶中心矩:

其中p和q为阶数,mpq为p+q阶的几何矩,μpq为p+q阶中心矩。

其中分别是图像质心的横坐标和纵坐标。

归一化的中心矩计算公式为:其中

利用二阶和三阶归一化中心矩构造7个不变矩m1~m7:

m1=η20+η02

m2=(η20-η02)2+4η112

m3=(η30-3η12)2+(3η12-η03)2

m4=(η30+η12)2+(η21+η03)2

m5=(η30-3η12)(η30+η12)((η30+η12)2-3(η21+η03)2)+(3η12-η03)(η21+η03)(3(η30+η12)2-(η21+η03)2)

m6=(η20-η02)((η30+η12)2-(η21+η03)2)+4η11(η30+η12)(η21+η03)

m7=(3η12-η03)(η30+η12)((η30+η12)2-3(η21+η03)2)—(η30+η12)(η21+η03)(3(η30+η12)2-(η21+η03)2)

如图5所示,本发明实时手势识别方法的迭代lk金字塔光流算法流程;

通过构造图像金字塔,然后计算顶层的标准光流,最后将金字塔顶的图像重新放大到原始图像大小,在层间的放大过程中运用双线性插值进行运动补偿,以弥补在缩放过程中造成的信息丢失。

如图6所示,本发明实时手势识别方法提供的动态手势识别装置的功能模块图,包括图像模块、手势分割模块、手形特征及轨迹特征提取模块、svm训练与识别模块、模板生成模块、dtw匹配识别模块、控制模块。

图像模块:用于采集和保存实时的手势图像,并对采集的图像进行预处理;

手势分割模块:对图像进行肤色阈值分割,采取质心定位的方式分割手势;

手形特征及轨迹特征提取模块:用于手形特征和轨迹特征的提取;

svm训练与识别模块:将归一化后的特征向量采用svm进行学习和训练;

模板生成模块:dtw对手势值分类和轨迹特征训练与学习,产生模板库;

dtw匹配识别模块:采用优化后的dtw结合模板自适应进行手势匹配与识别。

控制模块:用于接收手势识别模块的识别结果,若与模板库手势正确匹配,则闪烁绿灯并读取手势所对应的指令进行家电控制,若无法与模板库手势匹配,则闪烁红灯,继续做手势,直到匹配成功。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。

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