基于OpenCV技术的复合手势特征识别算法

2015-10-20 09:13朱丽娟
电视技术 2015年14期
关键词:指尖手势手部

孙 翼,朱丽娟,韩 龙

(海军大连舰艇学院 a.研究生一队;b.通信系,辽宁 大连 116018)

随着信息技术的不断进步,传统的鼠标、键盘等人机接口已经不能适应新技术的发展,虚拟与现实技术开始广泛的应用,自然化、智能化是今后人机交互技术的重要研究领域和发展方向。以手势作为人与计算机交流方式,将具有很强的视觉冲击和效果,富含大量的交互信息,可以用于人机自然交流的新途径。

现阶段手势特征识别大体有两种方式:一种是由美国麻省理工学院最先研发的机械手套为代表,该手套装有多个传感器,捕获手指每个关节的动作并传输给计算机处理,得到相应的控制信号;另一种以微软的OpenCV技术为基础用摄像头扑捉人手动作,并提取相应的特征值,经过计算机计算,通过特征值比对实现人机交互的目的。两种方式相比较,虽然前一种方式识别精度高,但是设备成本也比较高,使用局限性大,不利于推广。而基于图像处理技术的手部特征识别系统开发成本低,受环境约束较小,更加符合人与人的交流方式,具有很好的应用前景。

但是由于手指本身具有非刚性、旋转特性、运动时的自由度非常大、背景固有的复杂性、光照的不稳定性等特点,要稳定地跟踪和获取手部的特征非常困难,因此如何提取手部特征是一个特征识别算法的核心。

手势识别分为动态识别和静态识别。动态识别是将手看作一个质点,连续记录其运动轨迹,并与数据库中的轨迹进行比对,例如:文献[8]使用三维的加速度传感器获取手势加速度信号,利用DTW和近邻传播聚类算法对训练集中的每一个手势创建一个样本,然后用随机投影算法对数据进行降维,再与数据库进行比对。该方法克服了传统算法中运算量随着特征向量的个数以及维数的增加而增加的缺陷,但该算法只能进行轨迹识别,并且需要辅助设备,使用限制较多。在静态识别方面,文献[9]提出基于视觉的多特征手势识别算法,该算法首先提取手部图像并用手势轮廓及手势凸缺陷检测指尖,结合指尖手势指尖的相对位置进行识别,对手势识别精度较高,但该算法识别的手势不多,凸缺检测运算不稳定;文献[10]使用Kinect传感器捕获手势RGB-D数据,利用深度数据进行手势分割,将手势的外形轮廓的RGB数据进行编码,采用Smith-Waterman算法和最小平均距离法与数据库模板进行匹配达到手势识别目的,但Kinect传感器成本较高,识别前训练需要佩戴彩色手套,对旋转的鲁棒性不好。

本文以图像处理技术为基础,提出全新的手部识别复合算法,由于使用指尖识别、手势结构、手指相对角度和绝对角度等方法,该算法具有较高的识别率和旋转不变性等优点,可以在计算机辅助决策人机交互方面进一步拓展和应用。

1 手势特征检测模型

根据一定的图像处理运算法则,每一个手势经过运算都会产生一个或一组特征值,该特征值就是在计算机中表示该手势的符号。而寻求一个稳定高效的运算法则成为手势特征检测最重要的环节。

1.1 构建手势特征检测模型

由于手部的自由度非常高,如何建立一个简单高效的手部特征检测模型始终是手势识别技术的一个核心环节。手部加上腕关节手部共有15个关节,大部分关节的活动范围都在180°左右,个别关节具有360°活动范围,因此提取每一个关节的角度特征是非常困难的。此外由于腕关节的自由度非常大,难以确定测量的基础点和建立一个稳定的坐标系去测量每一根手指的角度,这给手部识别带来困难。因此,在设计模型时提出以下两个原则:

1)为减少关节角度计算量,提高识别速度,待识别的手势中,当需要弯曲手指时,弯曲度尽可能的大,而且要正对摄像头。

2)待识别手势之间应具有较大的差异性,相似手型将被识别为同一手势,比如,一根伸展手指的手势和两根并拢伸展手指的手势,将被识别为同一手势。

虽然手部的自由度非常高,但是各手指之间分开的角度基本是在一个范围内。鉴于此,本文提出建立如图1所示的手部特征检测模型,该检测模型主要通过两个方法来精确识别手势:第一,进行手部指尖检测,通过检测到的指尖数量来初步对手势进行分类(二叉树);第二,进行精确手势识别,通过一系列处理得到手部中心和手势简化模型,再计算该简化模型手指的绝对角度与相对角度,并作为手势样本库存入手势特征结构体。该模型能够很好地适合手势的特点,能够检测手部的旋转、弯曲等运动,具有较高的检测正确率。

1.2 构建手势特征结构体

根据手部的特征,结合参考文献中的大量实验,总结出较为科学的手势特征存储结构,利用VC++程序建立手势特征的结构体:

structGestureStruct//定义一个手势结构

{

intfingerNum;

//检测到的指尖数目

intringNum[5];

//每一个检测圆与指尖到重心连线的交点数

floatring1Value[9];

//第一层检测到的角度,包括绝对角度和相对角度

floatring2Value[9];

//第二层检测到的角度

floatring3Value[9];

//第三层检测到的角度

floatring4Value[9];

//第四层检测到的角度

floatring5Value[9];

//第五层检测到的角度

CStringGestureName;

//手势名字

};

1.3 建立手势特征值样本库

手势特征样本库对于后续的手势识别起到至关重要的作用。本文首先根据手势检测模型建立样本库,如图1所示。

图1 手势检测模型

该手势检测模型由5个同心检测圆组成,同心圆的中心与手势图像的重心o重合,重心与各指尖的最大距离为r,以o为原点、r为半径建立极坐标系。在和r之间等距建立5个以o为原点、为半径的同心圆Rn。

特征检测方程为

通过指尖检测算法计算手部指尖顶点的个数,此模型模拟5个手指全部伸出则会得到5个顶点。设检测到的指尖顶点坐标为(xn,yn),以逆时针顺序建立每个指尖到图像重心的连线L1,L2,L3,L4,L5。

指尖到手势重心连线方程Ln为

根据式(1)、式(2),可求出线段交点为

通过上式算出每一层的交点个数,并以该交点个数为基础建立特征值样本库

式中:θnn为手部结构每个指尖的绝对角度;θ˙nn为手部结构两个指尖的相对角度。

2 手势特征检测算法设计思路

首先进行模型特征录入,该模型通过5个同心圆分别对待录入手势的轮廓模型进行检测,存储每一层检测圆与手部结构图的交点个数、手部结构图的绝对角度以及相对角度。手势特征结构体记录每一层检测圆与手部结构图的交点个数、手部结构图的绝对角度以及相对角度。然后以检测到的指尖个数、分层的交点个数、绝对角度以及相对角度作为该手势的特征结构体存储在计算机内,最后,在应用时根据大量实验设定一个合适的阈值,以摄像头输入为图像源,对每一帧图像进行以上的图像处理,得到该图像的特征结构体,再与所存储的特征结构体进行比对,当比对的结果小于设定的阈值时,判定为该特征手势。

以摄像头拍摄的视频或录制好的视频作为视频输入源,视频源的每一帧图像都会经过图像预处理和图像特征检测两个部分。图像预处理部分包括载入图像、图像颜色标准化、计算图像直方图、图像高斯模糊、图像颜色空间转换、肤色检测、轮廓提取等步骤。

特征检测算法部分包括指尖检测、计算手势特征模型、分层提取、特征比对等步骤。视频经过预处理得到手势特征轮廓的二值化图像,利用手势特征检测模型对图像进行分层特征提取获得特征值,与样本库的特征值进行相减并取绝对值α,根据大量试验设定一个经验阈值δ,对图像进行特征检测时,对对象进行检测时实时计算α,当α小于δ时判定与样本特征吻合,输出结果,否则重新进入循环载入下一帧图像继续进行检测,利用计算机的快速运算达到实时手势检测的目的。

如图2所示,该部分流程图为手势识别的图像预处理,共有8个环节,视频图像经过预处理之后就会得出手势的二元图像。

图2 图像预处理

如图3所示,该部分是图像手势识别,共有8个环节,其中图像在指尖提取和特征比对两个部分分别进行指尖初步分类和手势精确识别。

图3 图像识别部分

3 实验结果

为了验证本文方法的可靠性与稳定性,待检测手势选取手指指向不同、环境干扰不同的视频图像进行指尖定位和特征检测实验。手势图像像素大小为320×240。

通过本文提出的特征提取和检测算法,结果证明指尖定位准确率达到90%以上。为了更好地实现徒手人机交互,本文设计了3个手势,分别代表单击鼠标右键、双击鼠标左键、单击鼠标左键,以实现对计算机控制信号的输入。在实时检测过程中,检测程序对每一帧图像进行识别处理,如果正确检测识别出手势就会相应地给计算机发出指令,通过大量实验,该检测模型对手势的检测识别正确率很高,能够达到徒手人机交互的要求。部分实验结果图如图4~图6所示。

图4 单击鼠标右键手势识别和检测模型图像

图5 单击鼠标左键手势识别和检测模型图像

图6 双击鼠标左键手势识别和检测模型图像

4 结论

本文提出了一种全新的手势特征识别算法,该算法主要通过两次判别手势特征,第一次是进行指尖数目的筛选,第二次当指尖数目匹配时,进行分层检测进行比对,该模型具有特征检测精度高、模型构建简洁、运算速度快等优点。通过大量的试验,证明该算法可以快速准确地检测手势特征,具有较高的识别率,并且由于引入了相对角度的特征,使计算模型针对手部特征具有良好的旋转不变性。

手势识别的应用前景非常广泛,在手语理解、机器人控制、虚拟现实、智能家居等领域都有十分重要的意义。此外,随着军事科技的不断进步,面向实现战场三维实时动态展示是未来指控系统发展的重要方向,本文为实现全新的指挥决策,以人机交互的方式提供了技术支持,可以在今后的军事装备中得到更好的应用。尤其是在指控系统方面,全息3D战场态势显示与徒手计算机交互将有效减少指挥流程,提高指挥决策的效率。

[1] MITOLA J.Cognitive radio for flexible mobile multimedia communications[C]//Proc.Sixth International Workshop on Mobile Multimedia Communications MoMuC’99.San Diego,CA,USA:[s.n.],1999:3-10.

[2] HAYKIN S.Cognitive radio:brain-empowered wireless communications[J].IEEE Journal on Selected Areas in Communications,2005,23(2):201-220.

[3]BENKO J,CHANG SY,CHEONG Y,et al.Draft PHY/MAC specification for IEEE 802.22[EB/OL].[2015-01-03].http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1665193&queryText=Draf t+PHY%2FMAC+specification+for+IEEE+802.22&matchBoolean=true&newsearch=true&searchField=Search_All.

[4]BENKO J,CHEONG Y,CORDEIRO C,et al.A PHY/MAC proposal for IEEE 802.22 WRAN systems[EB/OL].[2015-01-03].http://www.doc88.com/p-0897235416538.htm l.

[5] 王守磊,朱民耀,陆小锋,等.一种基于方向直方图的嵌入式手势识别系统[J].电视技术,2012,36(15):133-137.

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

[7] 郭兴伟,葛元,王林泉.基于形状特征的字母手势的分类及识别算法[J].计算机工程,2004,30(18):130-132.

[8] 刘红,刘蓉,李书玲.基于随机投影的加速度手势识别[J].计算机应用,2015,35(1):189-193.

[9] 翁汉良,战荫伟.基于视觉的多特征手势识别[J].计算机工程与科学,2012,34(2):123-127.

[10] 姚远,张林剑,乔文.RGB-D图像中手部样本标记与手势识别[J].计算机辅助设计与图形学学报,2013,25(12):1810-1817.

[11] 罗元,何超,王艳,等.基于深度预分割结合camshift跟踪算法的动态手势识别方法[EB/OL].[2015-01-03].http://d.wanfangdata.com.cn/Periodical_bdtgd201501036.aspx.

猜你喜欢
指尖手势手部
手部皮肤软组织缺损修复的皮瓣选择
治理“指尖乱像”不宜一散了之
虔诚之花在指尖绽放
挑战!神秘手势
指尖上的生活,指尖上的美
V字手势的由来
指尖童话
胜利的手势
谁是创意大玩家——创意手部彩绘
发生于手部的硬下疳一例