APP下载

利用轨迹模板匹配方法的实时动态手势识别

2017-09-03彭露茜姚加飞

单片机与嵌入式系统应用 2017年8期
关键词:手势高斯滤波

彭露茜,姚加飞

(1.重庆大学 输配电装备及系统安全与新技术国家重点实验室,重庆 400044;2. 重庆大学 建筑设计研究院)

利用轨迹模板匹配方法的实时动态手势识别

彭露茜1,姚加飞2

(1.重庆大学 输配电装备及系统安全与新技术国家重点实验室,重庆 400044;2. 重庆大学 建筑设计研究院)

利用混合高斯模型进行运动检测,分割出运动前景,采用粒子滤波器结合皮肤椭圆模型进行手势跟踪,获得手势中心点运动轨迹,在此基础上提出利用轨迹模板匹配方法进行动态手势识别。该方法利用基本的几何和三角函数就能完成手势运动轨迹的定义和识别,不需要选择特征或训练样本。实验结果表明,该算法能够实现实时动态手势识别。

轨迹模板匹配;动态手势识别;皮肤椭圆模型;粒子滤波器

引 言

手势识别作为新型人机交互方式之一,成为一项越来越重要的热点研究内容。利用可穿戴设备进行手势识别的系统设备费用昂贵,操作上也有局限性。基于机器视觉的手势识别则具有设备相对简单、操作更加方便的优势,成为手势识别的主要发展趋势[1]。

张良国等[2]采用手势模板匹配方法建立了中国手语手指字母识别系统,但在手势旋转或缩放时鲁棒性较差。陈文[3]利用动态时间规则进行手势识别,但实时性较差。Tusor等[4]基于神经网络的手势识别,刘珠峰等[5]建立的HMM手势识别模型,都存在训练样本大、实时性不高的问题。

本文利用单摄像头,基于混合高斯模型进行运动检测,采用粒子滤波器结合皮肤椭圆模型进行手势跟踪,并提出一种基于轨迹模板匹配的动态手势识别方法。

1 运动检测

运动检测的一般方法有帧差法[6]、光流法[7]和混合高斯模型[8]等算法。帧差法检测到的目标不完整;光流法计算复杂,受光照、背景影响大;混合高斯模型法可以对任意形状的密度分布进行平滑近似,对背景适应能力极强,且算法实现的开销较小,满足实时性要求。故本文利用混合高斯模型进行运动检测,对图像的每个像素点建立多高斯混合模型,根据最大期望算法[9]自适应地更新模型参数,较准确地分离出视频中的运动前景。

2 目标检测和跟踪

为了得到手势的准确位置和运动轨迹,需要对运动区域做肤色检测和目标跟踪。跟踪算法需要具有良好的鲁棒性,常用的有CAMSHIFT[10]算法、卡尔曼滤波[10-11]算法和粒子滤波[12]算法。CAMSHIFT算法只适用于线性系统中;卡尔曼滤波处理非高斯模型时效果不好,粒子滤波算法能够处理任意的非线性函数和非高斯分布的系统,且对复杂背景下的目标跟踪效果较好。因此本文选取基于颜色直方图的粒子滤波算法[13]作为手势检测和跟踪的算法。

颜色粒子滤波算法将图像颜色特征分布的相似度作为粒子滤波要求解的后验概率,通过计算颜色直方图的巴氏距离[14]得到粒子的权重,如下所示:

其中,d为巴氏距离,m为直方图颜色分组的bin格数,p(u)为参考颜色概率分布,q(u)为候选粒子所在区域颜色分布,d越小说明p(u)和q(u)的相似度越高,故选择巴氏距离作为每个粒子的权重。

图1 肤色椭圆模型

YCrCb颜色空间受光线变化影响小,同时参考文献[15]提出YCrCb空间中肤色的分布在Cr和Cb分量上可近似聚合为一个椭圆,如图1所示。因此,本文采用基于YCrCb空间的颜色粒子滤波算法。

设肤色椭圆模型的集合为C,像素点(x,y)的像素值为P(x,y),对运动目标检测得到的前景图像进行如下处理:

接着对处理后的图像计算颜色概率分布及巴氏距离,从而得到粒子滤波需要的粒子权重。

本文检测和跟踪的基本算法流程如图2所示。

图2 粒子滤波流程图

在初始化时,每个粒子的权重是相同的,在随机的传播后,粒子的权重和坐标发生改变。本文采用随机的传播模型如下所示:

其中,X0为粒子的初始坐标,Xk-1为粒子上一帧的坐标,Xk为粒子当前帧的坐标,Xk+1为粒子在下一帧图像中的随机坐标,A1、A2和B为传播系数,random为随机数,本文采用OpenCV2.4.9图像处理库的随机数生成器RNG产生随机数进行计算。粒子状态转移的传播模型如图3所示。

图3 粒子状态转移传播模型

在实际应用中,手势的运动区域相比整个图像来说是较小的,本文做出如下改进:设定粒子传播区域为以手势的先验中心坐标为中心,运动前景图像外接矩形1.5倍的矩形区域。该区域包含了运动手势的全部区域,且有效地减小了粒子传播的计算量,同时能够在随机传播后得到较多权重较大的粒子,提高了计算的快速性。然后采用下式计算期望中心,即最优粒子,并显示该粒子。

其中,Xi(k)为第k帧的第i个粒子的横坐标,Yi(k)为第k帧的第i个粒子的纵坐标;ωi(k)为第k帧的第i个粒子的权重;N为粒子总数,xc(k)和yc(k)为最优粒子的中心坐标,如图3中虚线框为单个粒子,实矩形框为期望粒子。

第一节中介绍的运动检测去除了背景中类似于肤色的部分,若采用本节中的检测和跟踪算法,可更精确地捕捉到运动手势。

3 轨迹识别

常用的手势识别算法往往需要大量训练样本,训练时间过长,实时性不好。因此,本文提出一种基于轨迹模板匹配的动态手势识别方法。该方法最初用于触摸屏输入识别,此处创新性地用于动态手势识别。记录手势移动的期望坐标点集,可得到手势的运动轨迹,该点集记为待识别运动轨迹点集C,模板运动轨迹点集Ti为一系列事先定义好的运动轨迹,i为模板数目,轨迹识别即选出与C最接近的唯一Ti。为了达到上述目的,需要将原始点集(包括C和Ti)先进行轨迹重构、一次性旋转、缩放和平移,如图4所示。

图4 轨迹处理流程

然后将C分别针对每一个Ti进行角度调整,直到找到对准该Ti的最佳角度,最后通过评估找到C的最优匹配。具体算法步骤如下:

(1) 轨迹重构

对运动轨迹进行重构是为了使同一点集内的轨迹点间距离相等,不同点集内的轨迹点数量相等。设轨迹的初始点集中,点个数为M,算法处理中,默认重构点个数为N。实验中发现,选择N=64能够同时满足精度和运算时间的要求。计算M个轨迹点距离的总长度,将该长度均分为(N-1)段,沿着轨迹段矢量方向进行线性插值N个重采样轨迹点,依此可计算Ti到C的距离。

(2) 一次性旋转

使两个轨迹对齐需要求解旋转的最优角度,本文求解最优角度的思想分两步进行:首先利用基于方向角(indicative angle)的一次性旋转法寻找近似最优角度。然后再通过一系列微调找到最优角度,故首先对C和Ti进行基于方向角的一次性旋转。定义从图心到第一个轨迹点的矢量角为方向角,旋转轨迹使方向角为0°。

(3) 缩放和平移

(4) 寻找最优匹配

第二步中C与Ti找到了近似最优角度,利用黄金分割搜索对C的方向角进一步微调,根据参考文献和经验,使用界限为±45°、阈值为2°的黄金分割搜索寻找最优角度。C与Ti最优对齐后,需要评估两者的匹配度,评估公式为:

由上式可知,与C路径最短的模板Ti就是识别结果。

上述方法利用基本的几何和三角函数完成手势运动轨迹的定义和识别,支持手势运动轨迹的旋转、缩放和平移不变性,不需要特征选择或训练样本,能适应弹性的输入采样率,成本低、准确率高、运算量小、实时性好。

4 实验结果与分析

本文采用Inteli5-6600K@ 3.5GHzCPU,8GBDDR4内存的PC作为实验平台,在Windows10操作系统中,使用VisualStudio2012开发工具,利用OpenCV2.4.9图像处理库,进行上述算法的实验。

4.1 运动检测结果

运动检测如图5所示,通过混合高斯运动检测和形态学滤波处理,可较好地检测出运动目标。

图5 运动前景检测

由实验结果可以看出,混合高斯模型可以较好地检测到包含完整手势的运动区域,满足本文算法设计要求。

4.2 检测和跟踪实验结果与分析

如图6所示,该算法可较准确地检测到运动手势,并进行跟踪。图中方框为检测到的手势区域,圆点为跟踪位置。

图6 手势跟踪结果

实验结果表明,采用本文改进的粒子滤波器进行手势跟踪,可以得到较为准确的手势位置。

4.3 手势识别实验结果与分析

本文对以下6种自定义的手势进行识别实验,平均处理时间为35 ms/帧,识别结果数据统计如表1所列。由统计结果可知,本文所提出的手势识别算法可较准确地对手势进行识别,同时满足实时性需求。

表1 动态手势实验统计

结 语

[1] 易靖国,程江华,库锡树.视觉手势识别综述[J].计算机科学,2016,43(S1):103-108.

[2] 张良国,吴江琴,高文,等.基于Hausdorff距离的手势识别[J].中国图象图形学报,2002,7(11):43-49.

[3] 陈文.基于加速度传感器的智能终端手势识别关键技术研究[D].长沙:国防科学技术大学,2011.

[4] Tusor b Varkonyik-A-R.Circular fuzzy neural network based hand gesture and posture modeling[C]//Proceeding on Instrumentation and Measureement Technology Conference,Texas:IEEE,2010:815-820.

[5] 刘珠峰,周良,丁秋林.基于隐性马尔可夫模型的手势识别设计和优化[J].计算机应用研究,2011,28(6):2386-2388.

[6] 於正强,潘赟,宦若虹.一种结合帧差法和混合高斯的运动检测算法[J].计算机应用与软件,2015,32(4):129-132,270.

[7] 许敬,张合,张祥金.基于帧间差分和光流法的红外图像运动检测[J].计算机仿真,2012,29(6):256-260.

[8] 胥欣,江登表,李勃,等.混合高斯模型运动检测算法优化[J]. 计算机应用研究,2013,30(7):2190-2194,2209.

[9] 王爱平,张功营,刘方.EM算法研究与应用[J].计算机技术与发展,2009,19(9):108-110.

[10] 孙凯,刘士荣.多目标跟踪的改进Camshift卡尔曼滤波组合算法[J].信息与控制,2009,38(1):11-16.

[11] 刘静,姜恒,石晓原.卡尔曼滤波在目标跟踪中的研究与应用[J].信息技术,2011,239(10):182-185.

[12] 周尚波,何革,柳玉炯.一种改进的粒子滤波目标跟踪算法[J].计算机应用研究,2010,27(7):363-365.

[13] 江超,艾矫燕.基于OpenCV的摄像头动态手势轨迹识别及其应用[J].计算机应用,2012,32(S1):134-139.

[14] Fazli s Pour-H-MBouzari-H.Particle filter based object tracking with sift and color feature[C]//Second International Conference on Machine Vision,Las Vegas:IEEE,2009:89-93.

[15] 高建坡,王煜坚,杨浩,等.一种基于KL变换的椭圆模型肤色检测方法[J].电子与信息学报,2007,29(7):219-223.

[16] Wobbrock J,Wilcson A,Yang Li.Gestures without libraries,toolkits or training: A $1 recognizer for user interface prototypes[C]//Proceedings of the ACM Symposium on User Interface Software and Technology,New York:ACM Press,2007:159-168.

彭露茜(硕士研究生),主要研究领域为控制工程。

Real-time Dynamic Gesture Recognition Using Trajectory Template Matching Method

Peng Luxi1,Yao Jiafei2

(1.State Key Laboratory of Power Transmission Equipment&System Security and New Technology,Chongqing University, Chongqing 400044,China;2.Architectural Design Research Institute,Chongqing University)

The Gaussian mixture model is used to segment the motion foreground.A particle filter and a skin ellipse model are used to track the motion of the center of the gesture.Based on this,the dynamic gesture recognition is proposed using the track template matching method.This method can use the basic geometric and trigonometric functions to complete the recognition of the trajectory of the gesture,without selecting features or training samples.The experiment results show that the algorithm can achieve real-time dynamic gesture recognition.

trajectory template matching;dynamic gesture recognition;skin ellipse model;particle filter

TP391.4

A

�士然

2017-03-29)

猜你喜欢

手势高斯滤波
挑战!神秘手势
数学王子高斯
天才数学家——高斯
V字手势的由来
胜利的手势
RTS平滑滤波在事后姿态确定中的应用
基于线性正则变换的 LMS 自适应滤波
有限域上高斯正规基的一个注记
基于随机加权估计的Sage自适应滤波及其在导航中的应用
基于Sage—Husa滤波的GNSS/INS组合导航自适应滤波