关于计算机视觉的手势识别综述
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于计算机视觉的手势识别综述
蒋指挥
(江苏科技大学江苏镇江 213022)
摘要:计算机技术的高速发展也产生了许多新领域,在此对以计算机视觉为基础的手势检测识别技术展开综述。主要阐述该技术的发展历程、实现方法、研究现状以及其存在的不足之处和发展方向。结果表明简单的可穿戴设备的手势识别和深度视觉传感器的手势识别和多方法交叉融合的手势识别是未来该领域的发展方向。
关键词:计算机视觉;手势识别;人机交互
A survey of gesture recognition in computer vision//Jiang Zhi Hui
Abstract;With the rapid development of computer technology, a lot of new fields have been developed. In this paper, the technology of gesture detection and recognition based on computer vision is reviewed. This paper describes the development of the technology, the realization method, the research status and its shortcomings and development direction. The results show that the simple wearable device for hand gesture recognition and depth vision sensor for hand gesture recognition and multi method cross fusion for gesture recognition is the future direction of the development of the field.
Key words:Computer vision; gesture recognition; human-computer interaction
计算机在我们的生活中越来越不可或缺,我们同时也对计算机提出了更高的要求,计算机视觉的手势识别正是对计算机应用拓展的重要途径,例如现在的VR技术,就是应用了手势识别才实现的。ABIResearch公司高级分析师约书亚·弗拉德(JoshuaFlood)指出:“免提操作或手势识别很快将成为高端旗舰智能手机、媒体平板电脑和智能眼镜区别于其他同类产品的一个关键因素。三星电子最新推出银河S4已经将这项技术用于其手机中,并以其全新的用户体验获得用户交口称赞。此外,在一系列新型智能眼镜产品即将发布之时,不难想象这类技术将被采用。”其实手势识别技术涵盖了许多领域,比如物理学、生物学等,实现手势识别的方式有很多种从一开始的二维手型识别、二维手势识别到后来的三维手势识别,正是计算机视觉技术的发展使得手势识别的实现方式更加多样。但目前的技术仍然很繁琐,冗杂的可穿戴设备就直接影响了使用者的舒适感,其还有很大的发展空间。
1、手势识别的发展历程及其实现方法
说起手势识别技术从简单粗略到复杂精细大致可以分为三个等级:二维手型识别、二维手势识别、三维手势识别。
在具体讨论手势识别之前,我们有必要先知道二维和三维的差别。二维只是一个平面空间,我们可以用(X坐标,Y坐标)组成的坐标信息来表示一个物体在二
维空间中的坐标位置,就像是一幅画出现在一面墙上的位置。三维则在此基础上增加了“深度”(Z坐标)的信息,这是二维所不包含的。这里的“深度”并不是咱们现实生活中所说的那个深度,这个“深度”表达的是“纵深”,理解为相对于眼睛的“远度”也许更加贴切。就像是鱼缸中的金鱼,它可以在你面前上下左右的游动,也可能离你更远或者更近。前两种手势识别技术,完全是基于二维层面的,它们只需要不含深度信息的二维信息作为输入即可。就像平时拍照所得的相片就包含了二维信息一样,我们只需要使用单个摄像头捕捉到的二维图像作为输入,然后通过计算机视觉技术对输入的二维图像进行分析,获取信息,从而实现手势识别。而第三种手势识别技术,是基于三维层面的。三维手势识别与二维手势识别的最根本区别就在于,三维手势识别需要的输入是包含有深度的信息,这就使得三维手势识别在硬件和软件两方面都比二维手势识别要复杂得多。
1.1、二维手型识别
二维手型识别,也可称为静态二维手势识别,识别的是手势中最简单的一类。这种技术在获取二维信息输入之后,可以识别几个静态的手势,比如握拳或者五指张开。
其代表公司是一年前被Google收购的Flutter。在使用了他家的软件之后,用户可以用几个手型来控制播放器。用户将手掌举起来放到摄像头前,视频就开始播放了;再把手掌放到摄像头前,视频又暂停了。
“静态”是这种二维手势识别技术的重要特征,这种技术只能识别手势的“状态”,而不能感知手势的“持续变化”。举个例子来说,如果将这种技术用在猜拳上的话,它可以识别出石头、剪刀和布的手势状态。但是对除此之外的手势,它就一无所知了。所以这种技术说到底是一种模式匹配技术,通过计算机视觉算法分析图像,和预设的图像模式进行比对,从而理解这种手势的含义。
而这种识别方法的缺点就非常明显了,他的拓展性差、控制感很弱,人机交互的体验非常繁杂,而且他所能实现的功能非常有限,完全达不到人们的使用要求。
1.2、二维手势识别
二维手势识别,比起二维手型识别来说稍难一些,但仍然基本不含深度信息,停留
在二维的层面上。这种技术不仅可以识别手型,还可以识别一些简单的二维手势动作,比如对着摄像头挥挥手。其代表公司是来自以色列的Point Grab,Eyesight和Extreme Reality。
二维手势识别拥有了动态的特征,可以追踪手势的运动,进而识别将手势和手部运动结合在一起的复杂动作。这样一来,我们就把手势识别的范围真正拓展到二维平面了。我们不仅可以通过手势来控制计算机播放/暂停,我们还可以实现前进/后退/向上翻页/向下滚动这些需求二维坐标变更信息的复杂操作了。
这种技术在硬件要求上和二维手形识别并没有区别,但他实现的功能更加丰富,使用体验也更好,目前也已经集成到电视中,但大多以噱头为主,还不能作为电视控制的常用方法。
1.3、三维手势识别
实现三维手势识别的方法就有许多种了,在此简单介绍两种:
(1)结构光(Structure Light)
结构光的代表应用产品就是Prime Sense公司为大名鼎鼎的微软家XBOX 360所做的Kinect一代了。这种技术的基本原理是,加载一个激光投射器,在激光投射器外面放一个刻有特定图样的光栅,激光通过光栅进行投射成像时会发生折射,从而使得激光最终在物体表面上的落点产生位移。当物体距离激光投射器比较近的时候,折射而产生的位移就较小;当物体距离较远时,折射而产生的位移也就会相应的变大。这时使用一个摄像头来检测采集投射到物体表面上的图样,通过图样的位移变化,就能用算法计算出物体的位置和深度信息,进而复原整个三维空间。
(2)2光飞时间(Time of Flight)
光飞时间是Soft Kinetic公司所采用的技术,该公司为业界巨鳄Intel提供带手势识别功能的三维摄像头。同时,这一硬件技术也是微软新一代Kinect所使用的。
这种技术的基本原理是加载一个发光元件,发光元件发出的光子在碰到物体表面后会反射回来。使用一个特别的CMOS传感器来捕捉这些由发光元件发出、又从物体表面反射回来的光子,就能得到光子的飞行时间。根据光子飞行时间进而可以推算出光子飞行的距离,也就得到了物体的深度信息。
2、其他一些手势识别研究思想
2.1、隐马尔科夫方法[1]