基于普通红外摄像机的手势识别

2015-04-14 10:41孟春宁吕建平陈萱华
计算机工程与应用 2015年16期
关键词:手势邻域灰度

孟春宁,吕建平,陈萱华

公安海警学院 电子技术系,浙江 宁波 315801

1 引言

计算机的普及促使人机交互技术迅猛发展。开发符合人际交流习惯的自然、方便的人机交互模式是人机交互领域的终极目标。手势是一种靠动作和视觉进行交际的特殊语言,包含了大量的信息,是人类使用最频繁的肢体语言[1]。基于视觉的手势识别技术符合人机交互领域追求的自然、方便的原则,因此成为国内外的研究热点,并在游戏、电脑辅助控制等方面取得了成功的应用[2]。

手势在时间和空间上的多样性和不确定性、所处的不同外界环境及光照情况等因素给手势分割与识别带来了极大的困难。获取三维手势信息是解决手势表观多样性的最好方法。传统的基于立体视觉的方法通过使用多台摄像机从不同角度采集手势的立体图像[3],依赖特定的3D图像采集系统,且对各摄像机的位置要求严格、需要复杂的校准、相关图像处理技术也更加耗时。目前已经成功用于交互领域的技术大多依赖能获取深度信息的硬件,如基于结构光技术的Kinect[4]、基于多角成像技术的Leap Motion[5]。特定的硬件成本较高,限制了手势识别技术的普及。

基于单目视觉的手势识别技术虽然难以精确获取手势的三维信息,但其具有不依赖特定硬件的优势,在只需识别少数简单的二维手势动作获得控制需求的领域也取得了可喜的成果,具有代表性的有以色列的PointGrab、EyeSight及ExtremeReality等公司的研究成果[1]。为拓展基于单目视觉的手势识别技术的应用范围,本文研究了复杂背景下基于普通摄像机的多类手势识别方法。传统的基于单目视觉的手势分割方法主要有:(1)阈值分割法:通过设定不同的特征阈值,把图像像素点分为若干类,阈值的选取方法有很多种[6],但通常需要使用纯色背景或佩戴特殊手套等物理约束条件,对复杂背景下的图像难以选取合适的阈值;(2)轮廓模型分割算法[7-9]:也称为“智能蛇(Smart Snakes)”算法,是定位静态图像的经典算法,但这类算法需要给出初始的轮廓,当目标比较复杂或与其他物体靠得较近时,初始轮廓不易确定,且通常只能处理打开的手部图像;(3)基于肤色的分割方法[10-11]:这种方法充分利用了手的表观特征,是目前比较常用的手势分割方法,但基于肤色的分割技术受光照影响很大,难以应用于复杂光照条件下的手势分割。(4)结合一些特定理论、方法和工具的分割技术:如基于统计模式识别理论[12]、人工神经网络[13]、模糊集合和逻辑[14-15]、小波变换[16]等理论和方法对手势进行分割。对分割出来的不同的手势多采用模板匹配法[17-18]或基于机器学习的方法[9]。由于Hausdorff距离具有对局部非刚性的扭曲及图像的局部遮挡不敏感的优势,通常作为模板匹配法的首选用于手势分割识别中[19]。J Yuan利用Hausdorff模板匹配结合机器学习的方法用于人眼图像分割取得了较好的效果[20]。本文利用单个普通红外摄像机采集包含手势的灰度图像,提出一种八邻域灰度图像变换算法以降低光照对分割的影响,改进了传统Hausdorff距离算法结合支持向量机(Support Vector Machine,SVM)分割手势区域,采用SVM多分类器取代传统BP神经网络以克服其收敛速度慢及容易过拟合的缺陷,对九种手势图像进行识别,对比实验结果表明本文提出的方法取得了更好的识别效果。

2 改进的Hausdorff距离算法

2.1 平均Hausdorff距离

Hausdorff距离(Hausdorff Distance,HD)是描述两个点集之间相似程度的一种度量[21]。点集A和B之间的Hausdorff距离定义为:

HD度量了两个点集间的最大不匹配程度,其值越小说明两点集越相似。在两幅图像的匹配中,图像中的每个像素值就相当于点集中的元素。HD不需要点与点之间一一对应,因此它对局部非刚性的扭曲及图像的局部遮挡等不敏感。但是由于Hausdorff距离是一个最大最小距离,所以它对图像噪声很敏感。为解决这个问题,Huttenlocher等人提出了一种利用部分Hausdorff距离(Partial Hausdorff Distance,PHD)进行匹配的方法[22];SIM等人提出一种LTS-HD(Least Trimmed Square Hausdorff Distance,LTS-HD)算法[23],LTS-HD 是将 HD排序后把前面几个大的距离值剔除后,再对保留下来的距离求平均值,但排序过程耗时,且剔除大的距离值在很多情况下效果并不明显。使用了一种比较简单直观的求平均值方法改进Hausdorff距离计算,降低该距离对噪声的敏感度,称为平均Hausdorff距离(Average Hausdorff Distance,AHD),其定义如下:

NA和NB分别为A和B中元素的个数。

2.2 八邻域三进制变换算法

为了消除光照的影响,在求HD之前采用一种八邻域灰度图像变换算法。如图1所示,考虑一个像素点及周围八个相邻的像素,将图1(a)所示周围八个像素分别与中间像素灰度值比较,将大于该中间像素灰度值的置为2,小于的置为0,等于的置为1,则该窗口变换为图1(b),将这八个像素变换后的数值顺序排列构成一个八位三进制数,如图1(c),然后将此三进制数转化为相应的十进制数作为该中间像素的值,图1(a)的中间像素变换后数值为:

这种通过与邻域像素比较得到的变换结果能够消除光照强度变化的影响,并且在保存了像素灰度变化信息的同时突出了边缘信息,增强了轮廓。

图1 八邻域三进制变换算法

2.3 最小平均Hausdorff距离区域

在求AHD之前,先将待分割图像及模板分别作八邻域灰度图像变换,如图2所示。图2(b)为图2(a)作八邻域灰度图像变换后的结果。选取某幅图像的手背(略带手指及手腕部分信息)为模板,如图2(c),八邻域变换后的模板见图2(d),用该模板遍历灰度变换后的原始图像,计算AHD得到图2(a)的AHD图(见图2(e)),AHD图中的最小值对应的原图像中的部分是最有可能的待分割区域。但由于单个模板的局限性以及复杂背景的影响(比如胳膊很像手背区域),最小的AHD难以完全与手势区域相匹配,故进一步提出一种最小平均Hausdorff距离区域(Least Average Hausdorff Distance Area,LAHDA)算法,该算法主要依据匹配后包含部分手部图像的AHD值也比较小的特点。定义如下:设Si为AHD图中一块固定尺寸的区域,面积为s(即包含的像素数),原图像关于模板的LAHDA定义为AHD图中像素值之和最小的那块区域:

其中n为遍历AHD图所得大小为s的区域个数,Hi为AHD图中Si区域内某点的像素值。图2(f)中白色矩形框包围的区域即为图2(a)的LAHDA,图2(g)中白色矩形框中即(b)中对应LAHDA的部分,对应的原图像中的区域为图2(h)中黑色矩形框。

图2 基于LAHDA的手势分割

3 支持向量机及SMO算法

在线性可分情况下,支持向量机用于分类问题的原理是建立一个合适的超平面,使得可分的两类数据分列于平面两侧,并且使它们到该平面的距离最大,此平面即被称为最优分离超平面。对于非线性问题,是通过一个非线性映射把原始数据映射到特征空间的新数据集上,而新数据集在该特征空间上是线性可分的,由此建立的最优分离超平面在原始空间内就是一个超曲面。通过解二次规划可得原空间中的分类超曲面为:

其中λi为Lagrange乘子,i=1,2,…,N。k(x,y)=Φ(xi)T·Φ(x)为核函数,b为阈值。常用的满足Mercer条件的核函数有多项式核函数、Gauss核函数及Sigmoid核函数。

支持向量机的学习训练算法是求解一个二次凸规划问题。从理论上讲,共轭梯度法、积极集法和内点法都可以用于该问题的求解,但是这些方法面对中、大规模的实际问题时,训练SVM是一个巨大的计算工程。1998年Platt提出一种序贯最小优化算法(Sequential Minimal Optimization,SMO)[24],避免了大量数值计算,大大节约了计算时间。

实验所用SVM分类器对Platt的SMO算法作了改进,在内层循环中,即试探寻找第二个配对优化样本的过程中,先遍历非边界样本(即Lagrange乘子不等于0或C的样本),因为非边界样本更有可能需要调整,如果找不到能与第一个样本配对的非边界样本,则遍历边界样本,这样避免了遍历全部样本的同时又一次遍历非边界样本,这对于大样本训练集来说大大提高了训练速度。实验采用了这种遍历策略,训练速度较原始SMO算法提高了约一倍。改进的SMO算法与原始SMO算法的训练耗时对比实验结果如图3所示,该实验训练样本数为160,RBF核函数参数为10,惩罚系数为500,训练次数是20次,原始SMO算法平均耗时为1.824 4 s,改进后的算法平均耗时为3.512 4 s。

图3 改进的SMO算法与原始SMO算法的耗时实验对比结果

实验选择了高斯核函数,采用二叉树结构级联九个独立的支持向量机对九种手势及非九种手势十类问题进行分类。根据各种手势的相似程度,设计了一个十分类的SVM,如图4所示。

图4 十分类支持向量机

4 实验过程及结果分析

4.1 手势分割

实验使用普通红外监控摄像头,采用这种摄像机可以在任意光照条件下采集手势图像。光线暗时红外灯自动打开,光照条件好时为自然光照明。实验采集了7个人在不同背景及光照条件下的表示数字1~9的九种手势灰度图像,选择了其中人眼可以分辨出手型的14 196幅(为便于描述,此数据库简称A库),部分图像如图5所示。A库中每幅图像的手势区域在整个图像中所占比例也有较小的差别,以检测算法对尺度变换的敏感度。从A库中选出3 925幅背景较为简单的图像作为B库。

图5 不同背景不同光照条件下的原始图像

为了提高计算Hausdorff距离的速度,首先将采集到的768×576分辨率的图像采用双线性插值法缩小到原来的0.2倍(图像分辨率变为153×115),然后对每幅图像进行上述八邻域灰度变换,以降低光照的影响。

实验所选的手势为表示数字1到9的九种静态手型,选取了其中某副图像的手背作为求Hausdorff距离的模板,如图2(c)即为实验所用模板,对其进行八邻域灰度图像变换得到图2(d)。

选取适当s值(本实验s=11×18),按照2.3节的叙述计算每幅图像的LAHDA,对应的区域即为与模板手掌最相似的区域,考虑到手掌的大小范围以及手指分布在手掌的两边和上部,最后适当调整了LAHDA与原始图像的对应关系(如多向上取出几行来尽量包含手指部分)。

用上述方法对A库中14196幅图像作分割,取LAHDA所对应的原图像区域作为分割结果,能正确地分割出其中的11 925幅,分割正确率为84.0%,而对背景较为简单的B库图像分割率能达到99.8%,这是由于很多复杂背景下可能存在与处理后的模板图像类似的非手势区域,因此增加了下面的步骤。

为了提高手势分割的正确率,进一步将分割图像进行SVM识别。训练一个正类为手势,负类为非手势的二分类SVM(即图4中第一个SVM分类器),将采用LAHDA分割出的图像输入SVM进行判断,如果识别为非手,则将对应区域的每个像素均赋一个较大值(消除与模板最接近的区域的影响),然后在改变了的AHD图中再取LAHDA,此为第二次分割;仍被识别为非手则进行第三次分割,直至SVM识别为手。

实验对14 196幅图像进行了三次分割,三次分割后仍被识别为非手则认为无法分割并输出第三次分割的结果,最后仅有23幅分割错误,正确率达99.8%。图5中九幅图像的分割结果如图6所示。表1展示了本文方法与现有方法的对比结果,其中PHD算法中决定K值的参数f取值为经典值0.6,LTS-HD算法参数取值为10。从表中可以看出,PHD算法分割正确率最低,LAHDA算法分割成功率高于其他算法。通过理论分析及对错分样本的统计分析表明,PHD算法类似经典Hausdorff距离,其结果由第K个距离值决定,受噪声影响最大,且针对所有样本具有统一的f值完全是人为设定,没有针对每个样本特点自适应取值的机制,无法保证K值对分割结果取得积极影响;MHD算法识别率相对低的主要原因是对类似手势区域的噪点较为敏感,且配合BPNN经历多次分割识别仍然难以排除其影响。LTS-HD事实上是在MHD的基础上增加了排序和剔除前几个值的步骤,针对本数据库的识别结果显示其在增加了算法耗时的情况下非但没有提高效率,反而略低于MHD,分析错分样本得知,针对本文采集的部分图像,其剔除的大值对分割结果起着积极的作用;而LAHDA借鉴了MHD对单个噪点鲁棒性高的优势,通过引入区域的概念,进一步增强了对相似区域匹配的鲁棒性,多次分割过程中能够排除噪声附近的一块区域,从而提高了分割正确率。为证明本文所用八邻域三进制变换算法的有效性,加入了LBP[25]和八邻域三进制变换算法分别与LAHDA结合的对比实验,本文所用八邻域三进制算法正是在经典LBP的基础上增加了大小相等这一判断结果。对比实验结果证明,八邻域三进制算法在本文数据库上优于LBP,原因是在照明充足的情况下(如图5(c)(d))预处理后的手背图像易出现大面积等灰度值像素,而LBP未考虑匹配中的等值情况,只将等值与大于或小于归为一类,在模板与样本类似时匹配的可区分性被降低。

图6 部分图像的分割结果(对应图5中九幅图像)

表1 手势分割实验结果

4.2 手势识别

从A库中选取了表示1~9九种手势各100个,非此九种手势900个作为训练样本训练第3章介绍的十分类SVM,测试样本为1~9九种手势各50个,非此九种手势200个。部分训练样本如图7所示。

图7 (a)九种手势的部分训练样本

图7 (b)非此九种手势的部分训练样本

将分割出的手势经八邻域灰度图像变换后作为训练测试样本,用上节所述二叉树结构的SVM多分类器进行识别。采用了十字交叉验证法选择较为合适的惩罚系数C和高斯核函数参数s,对九类手势测试样本的平均识别率为80.44%。级联前后的SVM识别结果见表2和表3。由表3可看出,手势3和手势8识别率较低,通过统计测试样本中识别错误的手势图像,发现手势3多被误判为手势4或2,手势8多被误判为手势6或2。另外识别率较高的手势9中掺杂着较多被误判为手势9的假正样本,如手势1或7。上述情况的发生主要原因是手势3 2 4、手势8 6 2以及手势9 1 7在表观上分别具有较高的相似性,因此相似性较高的一组手势易被误判为同组其他手势,最后导致对不同手势识别率的差异。

表2 级联前的九个SVM分别对测试样本的识别率

表3 级联后的支持向量机分别对九种手势的识别率

5 结束语

本文提出一种新的基于Hausdorff距离的算法结合邻域变换及SVM实现了基于普通摄像机的复杂背景下九种静态手势的分割识别,取得了较好的识别效果。邻域变换算法克服了不同光照条件的干扰,LAHDA算法在各种复杂背景下对手势的尺度变化、方向及形状变化等均有较强的容忍度,改进的SMO算法大大减少了SVM的训练时间,提高了大样本情况下SVM的训练效率。实验结果表明这种方法具有很好的鲁棒性和泛化能力。算法在普通红外监控摄像机下实现,无需任何附加硬件,平均识别率超过80%,证明了其用作普通摄像机下通用手势交互技术的可行性,是智能家居、辅助计算机控制等热门领域的低成本、易推广的理想解决方案。今后的工作将研究如何进一步提高识别率,并探索基于普通摄像机的动态手势跟踪方法。

[1]Rautaray S S,Agrawal A.Vision based hand gesture recognition for human computer interaction:a survey[J].Artificial Intelligence Review,2015,43(1):1-54.

[2]冯志全,杨波,徐涛,等.基于自然手势跟踪的直接操作型三维人机交互范式[J].计算机学报,2014,37(6):1309-1323.

[3]Wu Y,Lin J Y,Huang T S.Capturing natural hand articulation[C]//Eighth IEEE International Conference on Computer Vision.IEEE,2001,2:426-432.

[4]Biswas K K,Basu S K.Gesture recognition using microsoft kinect®[C]//5th International Conference on Automation,Robotics and Applications.IEEE,2011:100-103.

[5]Weichert F,Bachmann D,Rudak B,et al.Analysis of the accuracy and robustness of the leap motion controller[J].Sensors,2013,13(5):6380-6393.

[6]Sahoo P K,Soltani S,Wong A K C,et al.A survey of thresholding techniques[J].Computer Vision,Graphics and Image Processing,1988,41:233-260.

[7]Cootes T F,TaylorC J.Activeshapemodels-‘smart snakes’[C]//Proeeedings of the British Machine Vision Conference.USA:Springer-Verlag,1992:266-275.

[8]Heap A J,Samaria F.Real-time hand tracking and gesture recognition using smart snakes[C]//Proceeding of Interface to Real and Virtual Worlds,Montpellier,1995.

[9]Kass M,Witkin A,Terzopoulos D.SNAKE:Active contour models[J].Int J Comput Vis,1988:321-331.

[10]Jons M,Rehg J.Statistical color models with application to skin detection[R].USA:Compaq Cambridge Research Lab,1998.

[11]Bradski G,Yeo B L,Yeung M M.Gesture for video content navigation[C]//Proceedings of the Storage and Retrieval for Imageand Video Databases VII,1999:230-242.

[12]Birk H.Real time recognition of hand alphabet gestures using principal component analysis[C]//Proc Seandinavian Conf Image Analysis,1997:261-268.

[13]Yuan Jinghe,Wang Yong,Chang Shengjiang,et al.Gesture recognition for human-computer interaction by using neural network[J].Journal of Optoelectrnic&Laser,2002,13(7):733-743.

[14]Anderson L,Purdy J,Viant W.Variations on a fuzzy logic gesture recognition algorithm[C]//Proc of the 2004 ACM SIGCHI Intl Conf on Advances in Computer Entertainment Technology,Singapore,2004:280-283.

[15]Bedregal B C,Costa A C R,Dimuro G P.Fuzzy rulebased hand gesture recognition[C]//Artificial Intelligence in Theory and Practice.Boston:Springer,2006:285-294.

[16]Wei Jinwen,Chen Yanling,Qin Hequn,et al.Hand shape recognition in human machine interaction through the singularity detection with wavelettransform[J].Journal of System Design and Dynamics,2009,3(2):162-172.

[17]Cui Y T,Weng J J.View-based hand segmentation and hand-sequence recognition with complex backgrounds[C]//Proceedings of the IEEE International Conference on Pattern Recognition,Osaka,Japan:1997:617-621.

[18]Yoruk E,Konukoglu E,Sankur B,et al.Shape-based hand recognition[J].IEEE Transactions on Image Processing,2006,15(7):1803-1815.

[19]Yang X W,Feng Z Q,Huang Z Z,et al.A gesture recognition algorithm using hausdorff-like distance template matching based on the main direction of gesture[C]//Applied Mechanics and Materials,2015,713:2156-2159.

[20]Yuan J.Eye location under different eye poses,scales and illuminations[J].Chinese Optics Letters,2010,8(1):59-62.

[21]Huttenlocher D P,Klanderman G A,Rucklidge W J.Comparing images using the Hausdorff distance[J].IEEE Transactions on PAMI,1993,15(9):850-863.

[22]Huttenlocher D P,Klanderman G A,Rucklidge W J.Comparing images using the Hausdorff distance[J].IEEE Transactions on Pattern analysis and Machine Intelligence,1993,15(9):850-863.

[23]Sim D G,Kwon O K,Park R H.Objectmatching algorithm using robust Hausdorff distance measures[J].IEEE Transactions on Image Processing,1999,8(3):425-429.

[24]Platt J C.Fast Training of support vector machines using sequential minimal optimization[M].Cambridge,MA:MIT Press,1999:185-208.

[25]Timo A,Abdenour H,Matti P.Face Description with Local binary patterns:application to face recognition[J].IEEE Transactions on PAMI,2006,28(12):2037-2041.

猜你喜欢
手势邻域灰度
采用改进导重法的拓扑结构灰度单元过滤技术
基于灰度拉伸的图像水位识别方法研究
稀疏图平方图的染色数上界
挑战!神秘手势
V字手势的由来
基于邻域竞赛的多目标优化算法
胜利的手势
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于灰度线性建模的亚像素图像抖动量计算
关于-型邻域空间