基于Kinect传感器和HOG特征的静态手势识别

2018-03-10 00:26邹潇郑庆庆李冰
软件导刊 2018年2期
关键词:手势识别

邹潇+郑庆庆+李冰

摘 要:手势识别是人机交互领域的一种重要手段。针对现有算法识别率低,鲁棒性弱的问题,本文基于Kinect传感器获取的手势深度图像,对复杂背景干扰下的手部区域进行分割,然后利用梯度方向直方图(HOG)对手部灰度图像进行特征提取,最后利用最小马氏距离分类器进行建模、分类,实现静态手势识别。根据Kinect传感器获取的深度信息结合阈值分割法,能够准确地检测手部区域,为后续识别打下良好的基础。而HOG特征适应光照的变化,且具有几何不变矩的特性。实验结果表明,本文提出的手势识别方法在光照变化和复杂背景干扰下具有较强的鲁棒性和较高的识别率。

关键词:Kinect传感器;深度信息;HOG特征;手势分割;手势识别

DOIDOI:10.11907/rjdk.172288

中图分类号:TP301

文献标识码:A 文章编号:1672-7800(2018)002-0028-03

0 引言

手势识别具有直观性、自然性和丰富性的特点,其识别研究引起了人们极大的关注,在人机交互领域成为主流。根据手势采集设备不同,可以分为基于数据手套的手势识别和基于计算机视觉的手势识别。基于计算机视觉的手势识别无需穿戴数据手套,使操作者更加自然地进行人机交互,目前已经成为手势识别的研究重点[1-3]。

本文研究对象是静态手势,其识别的一般流程如图1所示。对于一幅输入图像,首先分割出手部区域,其次在手部区域提取某种特征描述子来表示该手势的特性,最后采用某种分类方法对手势进行识别。其中手部区域分割是手势识别的基础,手势轮廓提取的完整度对后续手势特征的提取以及手势识别有很大影响。由于肤色在颜色空间有很好的聚类特性,目前很多成熟的算法都是基于肤色模型来分割手势。例如采用高斯方法,对复杂背景有很好的识别效果,但是高斯模型复杂,计算量大,不适合实时操作。2010年微软推出Kinect外设传感器,可以获取深度图像,根据人手区域与背景区域在深度图像中具有不同的深度值,利用简单的阈值分割法来进行手势区域检测。基于深度图像的手势识别方法受光照和复杂背景的干扰小,成为近年来的研究热点。

静态手势识别的各个模块如图1所示,特征提取步骤对手势识别系统的性能有至关重要的作用,同时影响着手势识别的准确率和效率。手部区域特征大致分为三类:低层特征、中层特征和高层特征。低层特征从原始的3维空间域或其变换域产生,Keskin[4]等定义了一种像素点深度特征集合来构造手势特征,这些描述手不同位置信息的特征在一个大的特征空间里匹配起来非常耗时。为了减少训练时间和内存消耗,Kuznetsova[5]等提出使用ESF描述子提取手部区域特征,ESF描述子由点云中随机点的直方图串联构成。除了深度信息、Haarlet系数[6]、Gabor系数[7]和Flusser不变矩[8]也被用来提取有效的旋转和光照不变的手势特征,相对于低层特征的全局性,中层特征通常基于局部描述子。手部区域可以划分成矩形或扇形的细胞单元,所有细胞单元中点的直方图串联起来形成局部描述子。高层特征是指细致的手部轮廓,Ren[9]等用时间曲线表达手部形状,曲线的每一段对应一个手指,时间曲线记录了每个轮廓顶点到中心点的相对距离,同时保存了拓扑信息。Hu不变矩具有平移、旋转、缩放不变性。王先军等[10]利用7个Hu不变矩进行手势识别,取得了较高的识别率,但是他缺乏局部特征描述。Chang等[11]利用CSS描述子对简单手势取得了很好的识别效果,对比较复杂的手势却无能为力,这是由于CSS描述子缺乏全局信息。混合手势特征可以结合不同层次的特征,嵌入局部和全局的信息,例如Liu[12]等人采用了手指、手掌,前臂的平移、旋转和尺度不变三种几何特征。为了评估不同的3维手势特征,Sorce[13]等在不同的照明条件下比较了手部边缘特征与SURF描述子。实验表明:一方面,除非不依赖光照的边缘提取算法,否则利用边缘特征来识别效果很差;另一方面,基于SURF的特征在可选的光照条件下是最好的。这些实验结果能帮助研究者设计更有效的手势识别特征。

本文提出一种基于Kinect深度信息,并结合HOG特征方法对静态手势进行识别。首先利用Kinect相机获取的深度图像分割出手势区域,其次提取该区域的HOG特征,最后采用马氏距离对特征进行分类,从而实现手势识别。

1 基于Kinect深度信息的手势分割

Kinect是微软开发的一款家用视频游戏主机XBOX360的体感周边外设,是一种3D体感摄像机[14]。其有3个镜头,中间镜头是RGB彩色摄像机,左右两边的镜头分别为红外线发射器和红外线CMOS摄影机所构成的3D深度感应器,可以同时获得一个場景的RGB图像和深度图像。深度图像是一个“深度场”,其中每一个像素的颜色代表了那一点物体到摄像头的距离,离摄像头越近的物体越亮。由于采集手势时,人手通常置于摄像头的最前端,根据深度阈值能够有效地将手部图像分割出来。实际应用中,Kinect传感器获得的深度图像存在一些空洞和噪声点,尤其在目标的边界处得到的深度值不稳定,需要进行预处理。本文采用一种非线性的深度中值滤波算法[15]对深度图像预处理,可以去掉一些孤立的噪声点,保留手部边缘。图2给出了手势分割的一个示例,图2(a)为Kinect相机获取的RGB彩色图像,图2(b)为其相应的深度图像,经过去噪等预处理,基于灰度直方图(如图2(c)所示)进行手势分割,得到图2(d)所示的手部区域。

2 HOG特征提取

Dalal于2005年提出HOG(梯度方向直方图)特征,由于该特征对光照变化和复杂背景具有较好的鲁棒性,在行人检测的应用中取得了较好的效果。本文将HOG特征用于手势识别,在一幅图像中,局部目标的表象和形状能够被梯度或边缘的方向密度分布很好地描述。HOG特征还可以描述整个手部区域的灰度变化情况,位置和方向空间的量化可以一定程度上抑制旋转带来的影响。endprint

手势HOG特征的提取步骤如下[16-17]:

(1)将输入图像灰度化。

(2)使用一维离散微分模板分别在水平和垂直方向上计算图像中每个像素的梯度Gx(x,y)和Gy(x,y),然后根据公式(1)得到每个像素梯度的幅值G(x,y)和方向α(x,y),这主要是为了捕获轮廓信息,同时弱化光照的干扰。

(3)将图像划分成小的细胞单元(称为cell),为cell构建梯度方向直方图,cell中的每个像素点为直方图的bin进行加权投票,权值根据像素点的梯度幅值进行高斯加权得到。

(4)将若干个相互连通的cell组成一个区间(称为block),一个block内所有cell的特征向量串联起来便得到该block的HOG特征。这些区间互有重叠,意味着每一个cell的特征会以不同的结果多次出现在最后的特征向量中。

(5)在block中進行梯度归一化得到描述符,即HOG特征。由于局部光照的变化以及前景—背景对比度的变化,使得梯度变化幅度比较大,需要对其以L2范数为因子进行归一化处理。

HOG特征向量的长度D由图像大小,cell大小,每个cell的梯度方向直方图的bin数以及block大小和移动步长决定。其计算方法如公式(2):

其中,cDim表示每个cell的特征维数,bSize表示block大小,cSize表示cell大小,bStep表示移动步长,w和h表示图像的宽和长。

3 基于Kinect传感器和HOG特征的静态手势识别

3.1 实验方法

为了验证本文提出方法的有效性,采集10位志愿者的4种手势(即剪刀、石头、布和另一种任意手势),每种手势做10遍,得到400个手势样本,测试样本和训练样本各占总体的1/2,对前3类手势的训练样本,每类50个手势用同样的方法提取HOG特征作为模板库。为了减少HOG特征向量的维数,将分割出来的手势灰度图像归一化到64×64像素,cell大小取为8×8像素,每个cell的特征维数为9,相邻2×2个cell构成1个block,block的移动步长为8个像素,那么根据公式(2)求得一幅手势图像的HOG特征为1764维的向量。

在分类判决阶段,利用测试样本的HOG特征与标准模板之间的马氏距离最小且不超过某一阈值作为判断准则。该阈值由测试样本与50个另一种任意手势的训练样本的HOG特征集的最小距离决定,超过阈值即判断手势无效,返回。马氏距离针对所有特征向量均衡处理,而且与尺度无关,因此采用马氏距离来计算测试样本与模板之间的相似度是比较合适的[15],表达式如公式(3)所示。

其中,x为测试样本的HOG特征向量,μ=(μ1,μ2,…,μN)T为模板库特征数据计算出的平均值所组成的一组向量,S为协方差矩阵。马氏距离越小,相似度越高。

3.2 实验结果

实验中采用MATLABGUI生成一个操作界面,能够自动识别随机输入的两种测试手势,并作出输赢比较,各种实验结果如图3所示。可见,本文方法对于剪刀、石头、布这3类手势的平均识别率达到了98.5%。

4 结语

近年来,手势识别技术在人机交互领域受到越来越多的关注。本文主要研究了基于Kinect传感器的静态手势检测与识别方法,在预处理阶段,利用深度信息进行手势分割有效地避免了光照和复杂背景对检测手势区域的干扰,后续引入的HOG特征具有旋转不变的特性,且适应光照变化,因此结合二者的静态手势识别方法获得了较高的识别率。本文用来测试的手势比较简单,而且采集深度图像时,志愿者的手伸到了最前端,使得在预处理阶段就能获得准确的手部轮廓,今后的工作将丰富手形的变化,建立一个完整的手势数据库,从而进一步提高Kinect传感器的静态手势检测与识别方法的推广。

参考文献:

[1] 刘阳,尚赵伟.基于Kinect骨架信息的交通警察手势识别[J].计算机工程与应用,2015,51(3):157-161.

[2] 刘亚瑞,杨文璐.基于Kinect和变形雅可比-傅里叶矩的手势识别[J].传感器与微系统,2016,35(7):48-50.

[3] 周天彤,徐飞林,张旖帆,等.基于unity和kinect的交警手势识别仿真系统的设计和实现[J].计算机测量与控制,2016,24(5):156-159.

[4] C KESKIN, F KIRAC, Y KARA, et al. Randomized decision forests for static and dynamic hand shape classification[J]. IEEE CVPR Workshops,2012:31-36.

[5] A KUZNETSOVA, L LEAL-TAIXE, B Rosenhahn. Real-time sign language recognition using a consumer depth camera[J]. IEEE ICCV Workshops,2014:83-90.

[6] M VAN DEN BERGH, D CARTON, R DE NIJS, et al. Real-time 3D hand gesture interaction with a robot for understanding directions from humans[J]. IEEE RO-MAN,2011:357-362.

[7] N PUGEAULT, R BOWDEN. Spelling it out: real-time ASL finger-spelling recognition[J]. IEEE ICCV, 2012,28(5):1114-1119.endprint

[8] L GALLO, A PLACITELLI. View-independent hand posture recognition from single depth images using PCA and flusser moments[C]. International Conference on Signal Image Technology and Internet Based Systems,2012:898-904.

[9] Z REN,J YUAN,Z ZHANG. Robust hand gesture recognition based on finger-earth movers distance with a commodity depth camera[C]. ACM International Conference on Multimedia,2011:1093-1096.

[10] 王先軍,白国振,杨勇明.复杂背景下BP神经网络的手势识别方法[J].计算机应用与软件,2013,30(3):247-249,267.

[11] CHANG C C, LIU CHENGYI, TAIWENKAI. Feature alignment approach for hand posture recognition based on curvature scale space[J]. Neuro-computing,2008,71(10):1947-1953.

[12] Y LIU,Y YANG,L WANG, et al. Image processing and recognition of multiple static hand gestures for human-computer interaction[J]. ICIG,2013:465-470.

[13] S SORCE,V GENTILE,A GENTILE. Real-time hand pose recognition based on a neural network using Microsoft kinect[C]. IEEE International Conference on Broadband and Wireless Computing, Communication and Applications,2013:344-350.

[14] 罗元,谢彧,张毅.基于Kinect传感器的智能轮椅手势控制系统的设计与实现[J].机器人,2012,34(1):110-113.

[15] 蒲兴成,王涛.基于改进Hu矩算法的Kinect手势识别[J].计算机工程,2016,42(7):165-172

[16] 任彧,顾成成.基于HOG特征和SVM的手势识别[J].科技通报,2011,27(2):211-214.

[17] 刘淑萍,刘羽,於俊,等.结合手指检测和HOG特征的分层静态手势识别[J].中国图象图形学报,2015,20(6):0782-0788.endprint

猜你喜欢
手势识别
基于手势识别的工业机器人操作控制方法