应用于VR/AR的主流光学手势识别技术究竟是什么鬼?

2016-07-14 14:55:23 来源: 热度:
 
Oculus于今年五月刚收购了Surreal Vision,一家专门从事虚拟世界与现实环境实时互动研究的公司。两个月还不到,Oculus又宣布收购了以色列创业公司Pebbles Interfaces,一家专门从事动作检测的公司,与LeapMotion重建手指骨骼不同,Pebbles Interfaces重建的是整个手的外形。可以想见,Pebbles Interfaces和去年的Nimble VR一道,将继续增强Oculus在手势控制方面的优势,在未来将手势VR控制、AR互动整合在产品中,其重要性不言而喻。而究竟什么是主流技术?这里来给大家介绍一下。
 
谈起手势识别技术,由简单粗略的到复杂精细的,大致可以分为三个等级:二维手型识别、二维手势识别、三维手势识别。
 
在具体讨论手势识别之前,我们有必要先知道二维和三维的差别。二维只是一个平面空间,我们可以用(X坐标,Y坐标)组成的坐标信息来表示一个物体在二维空间中的坐标位置,就像是一幅画出现在一面墙上的位置。三维则在此基础上增加了“深度”(Z坐标)的信息,这是二维所不包含的。这里的“深度”并不是咱们现实生活中所说的那个深度,这个“深度”表达的是“纵深”,理解为相对于眼睛的“远度”也许更加贴切。就像是鱼缸中的金鱼,它可以在你面前上下左右的游动,也可能离你更远或者更近。
 
前两种手势识别技术,完全是基于二维层面的,它们只需要不含深度信息的二维信息作为输入即可。就像平时拍照所得的相片就包含了二维信息一样,我们只需要使用单个摄像头捕捉到的二维图像作为输入,然后通过计算机视觉技术对输入的二维图像进行分析,获取信息,从而实现手势识别。
 
而第三种手势识别技术,是基于三维层面的。三维手势识别与二维手势识别的最根本区别就在于,三维手势识别需要的输入是包含有深度的信息,这就使得三维手势识别在硬件和软件两方面都比二维手势识别要复杂得多。对于一般的简单操作,比如只是想在播放视频的时候暂停或者继续播放,二维手势也就足够了。但是对于一些复杂的人机交互,与3D场景互动,就必须含有深度信息才行。
 
二维手型识别
 
二维手型识别,也可称为静态二维手势识别,识别的是手势中最简单的一类。这种技术在获取二维信息输入之后,可以识别几个静态的手势,比如握拳或者五指张开。其代表公司是一年前被Google收购的Flutter。在使用了他家的软件之后,用户可以用几个手型来控制播放器。用户将手掌举起来放到摄像头前,视频就开始播放了;再把手掌放到摄像头前,视频又暂停了。
 
“静态”是这种二维手势识别技术的重要特征,这种技术只能识别手势的“状态”,而不能感知手势的“持续变化”。举个例子来说,如果将这种技术用在猜拳上的话,它可以识别出石头、剪刀和布的手势状态。但是对除此之外的手势,它就一无所知了。所以这种技术说到底是一种模式匹配技术,通过计算机视觉算法分析图像,和预设的图像模式进行比对,从而理解这种手势的含义。
 
这种技术的不足之处显而易见:只可以识别预设好的状态,拓展性差,控制感很弱,用户只能实现最基础的人机交互功能。但是它是识别复杂手势的第一步,而且我们的确可以通过手势和计算机互动了,还是很酷的不是么?想象一下你忙着吃饭,只要凭空做个手势,计算机就可以切换到下一个视频,比使用鼠标来控制可是方便多了!
 

责任编辑:邓爽