付潇聪,王浩平
(南京理工大学 南京 江苏210000)
一种基于视觉的手势识别系统
付潇聪,王浩平
(南京理工大学 南京 江苏210000)
本文提出一种基于视觉的手势识别方法。系统由两部分组成:分割部分与识别部分。对手掌的分割:采用基于肤色的阈值分割结合YCrCb颜色空间算法,同时能够去掉人脸、多余的胳膊部分及其他噪声,得到只包含手掌的二值图。对手势的识别:采用二值图片Hu矩作为手势特征,利用BP神经网络对特征进行训练,最终实现对手指根数及一些特殊手势的识别。实验表明,该系统能有效分割手掌部分,达到对静态手势95%以上的识别率。
手势识别;手势分割;Hu矩;人工神经网络
随着计算机技术的迅速发展,人机交互(HMI)在我们的日常生活中扮演者越来越重要的角色。HMI的目的是使人与机器的交流变得更加方便,传统的人机交互手段有利用鼠标、键盘、触摸屏等,相比较而言,手势控制是一种更自然的交互方式[1]。
手的检测和数据获取是手势识别系统中第一步也是最重要的一步,检测结果直接影响识别的准确性。目前主流的手势获取方法有两种,一种是基于数据手套的手势获取,另一种为基于视觉的手势获取。基于数据手套的设备,例如CyberGlove从上世纪90年代开始流行,被用于获取手势动作兵进行实时手势识别。台湾大学的Liang利用数据手套识别了71-250个连续手语,识别率达到90%[2],Kisti Grobel and Marcell Assan实现了262个手语词汇的识别,识别率达到91.3%[3]。但是数据手套及其附属的连接线会给使用者带来不便,同时手套的价格对普通消费者来说也较昂贵。而基于视觉的手势获取只需要一个摄像头,研究者主要将精力放在复杂背景中分割手的算法研究,同时需要满足实时性、准确性和鲁棒性等要求。
在分割完成之后,需要对能代表手势的特征进行提取并用这些特征训练相应的分类器,常用的分类器有SVM和人工神经网络等。Q.Chen等人利用Haar-like特征直接训练分类器,能识别4中特定手势,识别率达到95%[4],Y.Liu也采用了Haar-like特征,但是将特征用于SVM分类器的训练,实现了3种不同手势的识别[5]。使用Haar-like特征的缺点也很明显,识别手势数量有限,而且训练过程较长,一般需要一个星期至一个月进行训练。人工神经网络是静态手势识别最主流的方法,在[6-8]等文章中都有使用。但是在以上所有文章中,均未提及到当识别区域中出现人脸的去除方法,以及用户穿短袖时,对胳膊部分的去除。本文主要对这些问题进行研究。
文中所述系统构成如图1所示。首先从摄像头获取视频流,在图像预处理过程中,如果检测到人脸,则将人脸去除,然后将图片转换为二值图。在手势分割过程中,去除多余的胳膊及其他噪声,仅保留感兴趣的手掌部分。最后提取手势特征值,放入预先准备好的分类器中,实现手势识别。
图1 系统总体结构图
手势分割是指将有意义的手势区域从包含手势的图像或者视频流中提取出来的过程,本文采用颜色空间结合几何特征的方法实现手势分割。将直接由摄像头获取的RGB类型图像转换到YCrCb颜色空间,分别在3个通道进行肤色提取,提取完之后将图像进行二值化处理,寻找手势轮廓作为识别的输入值,最后去除噪声。
人脸去除的前提是人脸和手没有重叠部分,在二值图中,人脸与拳头的外形类似,所以人脸去除要在颜色空间转换之前进行。我们采用Viola-Jones方法[9,12]检测人脸,包含以下 3个步骤:
1)利用Haar-like特征和积分图对人脸特征进行提取,形成弱分类器,Haar-like特征如图2所示。
图2 一组Haar-like特征
2)选择正确率高于50%的若分类器,利用Adaboost将其级联成强分类器;
3)对强分类器级联。
Viola-Jones人脸检测方法由OpenCV直接提供,在进行人脸检测之后,将人脸区域及其周围肤色区域去除即可,这样人脸区域不会出现在背景提取过程中。
背景提取的作用是有效地将手从背景中提取出来,研究[10-11]表明,YCrCb颜色空间具有将色度和亮度分离的特点,对肤色的聚类特性比较好,受亮度变化的影响小,可以很好的区分人的肤色区域。通过[10]中的测试数据可以知道,若取阈值77≤Cb≤127,133≤Cr≤177,能够最有效地包含肤色区域。
YCrCb颜色空间与RGB颜色空间的转换可以表示为:
对一些小的类肤色物体,可以通过比较其面积大小将其去除。至此,背景提取后的结果可下一步的处理。
在背景提取过程中,我们采用肤色特征将手从环境中分割出来,但是当胳膊出现在视频中时,仅采用肤色特征不能将其去除,则会影响识别效果,为此本文提出一种基于几何关系方法,将胳膊与手掌分割,如图3所示。
图3 手掌分割
各变量定义如下:
ABCD:被提取肤色区域最小外接矩形;
darm:胳膊长度;
圆O:被提取肤色区域最大内切圆;
r:圆O半径;
d:圆心O到AB的距离;
dhand:手掌长度。
最小外接矩形的计算由OpenCV提供。为计算区域的最大内切圆,首先画出区域的轮廓,然后计算出区域内每一点到轮廓的最小距离,在所有距离中,最大的值为最大内切圆的半径,对应的点即为内切圆圆心。整个过程的计算时间非常长,因为计算次数为区域内像素个数乘以轮廓上的像素个数。为加速计算过程,我们在区域内每M个点取一个点,并在轮廓上每N个点取一个点,这样能加速M*N倍。经测试,本文取M=10,N=5,能同时保证计算速度与精度。
假设每个点坐标为:A(xa,ya),B(xb,yb),C(xc,yc),D(xd,yd),O(xo,yo),通过图3中几何关系,可得到:
矩形ABNM为去除胳膊后的手掌区域,点M(xm,ym),N(xn,yn)可以在 dhand 的基础上计算:
本模块在手势分割的基础上,求出二值化图像的Hu矩特征作为手势特征,同时构建了三层BP神经网络,将Hu矩特征值作为神经网络的输入,进行训练。
矩特征[13]由Hu在1962年提出,主要表征了图像区域的几何特征,由于具有旋转、平移、尺度等特性的不变特征,所以又被称为不变矩(Invariant moments)。
针对于一幅数字图像,可以将像素坐标看成一个二维随机变量 f(x,y),(p+q)阶普通矩和中心矩分别为:
当图像发生变化时,mpq也发生变化,而μpq则具有平移不变形但对旋转依然敏感。直接用普通矩或中心距进行特征表示,不能使特征同时具有平移、旋转和比例不变性。如果利用归一化中心距,则特征不仅具有平移不变性,而且还具有比例不变性。归一化中心矩定义为:
可以得到Hu矩的表达式:
作为一种非线性、自组织、自适应系统,人工神经网络是判断静态手势很合适的分类器,而在各种神经网络中[14-15],应用最多并且最成功的是多层前馈网络,其中典型代表是采用反向传播(BP)的多层前馈网络。前馈神经网络分为不同层,后一层的输入只与前一层的输出有关,第一层为输入层,最后一层为输出层,这两层直接与外界联系,称为可见层,其他中间层称为隐藏层。这种三层或三层以上的神经网络称为多层前馈神经网络。三层前馈神经网络结构示意如图4所示。
图4 三层前馈神经网络
文中以手势图像的7个Hu矩特征作为神经网络的输入,选取隐藏层节点数为10,输出层节点数根据需要选取,这里选取8个,包含手指根数(0-5),以及两个特殊手势,以验证系统对静态手势识别的准确性,和对更多手势的可扩展性。
文中所描述系统均在Linux下实现,设备内存为4G,处理器为Intel Core i5-2520MCPU@2.5GHz x 4,使用OpenCV库,版本为OpenCV2.4.9.
文中使用OpenCV人脸检测器,一旦检测到,则将人脸部分及其周围肤色区域像素值置为0。人脸去除的效果如图5所示。
图5 包含人脸及去除人脸后的二值图
去除胳膊部分的效果如图6所示。外圈矩形为最小外接矩形,圆为最大内切圆,外接矩形中间线段为手掌与胳膊的分割线。通过设置手掌部分为感兴趣区域(ROI),可以将胳膊去除。多次实验表明,对不同的手势,该方法均能将手掌准确分割出来。
图6 包含胳膊及去除胳膊后的二值图
文中一共选取了8种不同手势,包括手指根数(0-5)和两个自定义手势(spock,lizard),以表明本系统对任何自定义手势的可扩展性。识别结果如图7所示。
图7 手势识别结果
对每一种手势,我们选取了200组数据作为神经网络的训练数据。训练完成后,由5个测试者对每种手势进行20组测试,结果如表1所示。
表1 手势识别测试结果
在对5个测试者进行的共800次试验中,得到本系统手势识别平均正确率为96.25%。
每个模块消耗时间如表2所示。
表2 系统各部分耗时
神经网络的训练在程序开始时即完成,不会影响后续识别的效率。当视频中没有出现胳膊时,识别的平均时间为23.4 ms,当有胳膊时,如2.3中所述,求外接矩形和内切圆会消耗一定时间,识别平均时间为45.6 ms,此时,系统帧率大于20FPS,仍能满足实时性要求。
文中介绍了一种基于视觉的手势识别系统,能够识别视频中手势表示的数字及一些特殊手势,在保证识别正确率的同时,满足实时性要求。与其他系统相比,加入了去除人脸及胳膊的功能,减少了手势识别系统使用的局限性。与此同时,系统也存在一定缺陷,例如在光线较亮或者较暗的环境中识别率有所降低,这是所有基于视觉系统的共同问题,也是作者以后的重点研究方向。
参考文献:
[1]R.Pradipa,Ms S.Kavitha.Hand gesture recognition-analysis of various techniques,methods and their algorithm [J].International Journal of Innovation Research in Science Engineering and Technology,2014(3):2003-2009.
[2]R.Liang,M.Ouhyoung.A real-time continuous gesture recognition system for sign language[J].Automatic Face and Gesture Recognition,1998(3):558-567.
[3] K.Grobel,M.Assan. Isolated sign language recognition using hidded Markov models[J].Proc of the Int’1 Conf of System, Man and Cybernetics,IEEE System,Man and Cybernetics Society,1997(5):162-167.
[4]Qing Chen,Nicolas D.Georganas,Emil M.Petriu.Real-time vision-based hand gesture recognition using haar-like features[J].Instrumentation and Measurement Technology Conference Proceedings,2007(1):1-4.
[5]S.Paul,Md.Abu Shahab Mollah,Rajibuzzaman,et al.Hand gesture recognition by artificial neural network[J].International Conference on Mechanical,Industrial and Materials and Engineering,2013(1):105-109.
[6]Shweta K.Yewale.Artificial neural network approach for hand gesture recognition[J].International Journal of Engineering Science and Technology,2011,3(4):2603-2606.
[7]H.Hasan,S.Abdul-Kareem.Static hand gesture recognition using neural network [J].Artificial Intelligence,2014(41):147-181.
[8]Liu Yun,Zhang Peng.An automatic hand gesture recognition system based on viola-jones method and SVMs[J].Second International Workshop on Computer Science and Engineering,2009(2):72-75.
[9]Hui-ShyYong Yeo,Byung-Gook Lee,Hyotaek Lim.Hand tracking and gesture recognition system for human-computer interaction using low-cost hardware[J].Mul timed Tools Appl,2015(74):2687-2715.
[10]Chai D,Ngan KN.Face segmentation using skincolor map in videophone applications [J].IEEE Trans Circ Syst Video Tech,1999,9(4):551-564.[11]Mahmoud TM.A new fast skin color detection technique[J].Proceedings of World Academy of Science,2008(45):501-505.
[12]P.Viola,M.Jones.Robust real time face detection[J].InternationalJournalofComputerVision,2004,57(2):137-154.
[13]M.K Hu.Visual pattern recognition by moment invariant [J].IRE Transaction on Information Theory,1962(8):179-182.
[14]Y.F.Admasu,K.Raimond.Ethiopian sign language recognition using Artificial Neural Network[J].International Conference on Intelligent Systems Design and Applications,2011(1):995-1000.
[15]T.Bouchrika,M.Zaied.Neural solutions to interact with computers by hand gesture recognition[J].Multimedia Tools&Applications,2013,72(3):1-27.
A vision-based hand gesture recognition system
FU Xiao-cong,WANG Hao-ping
(Nanjing University of Science&Technology,Nanjing 210000,China)
In this article,a vision-based hand gesture recognition system is proposed.The system consists of two modules:the segmentation part and the recognition part.In the segmentation part,a detection method based on skin color is used.This method is also able to segment human face,arm and other small skin-color-liked noise and keep only the palm.In the recognition part,the Hu moments are used as features of hand's binary image.Then we apply the artificial neural network (ANN)to do the training and final recognition.A series of experiments are tested on the system,and we have more than 95%accuracy.
hand gesture recognition;hand segmentation; Hu moment; artificial neural network
TP-9
A
1674-6236(2017)17-0026-05
2016-09-01稿件编号:201609010
付潇聪(1992—),男,江苏南通人,硕士。研究方向:计算机视觉。