VR实现空间定位的7种利器(上)

  (二)光学定位与图像识别

  有一则去年的新闻,在大多数VR从业者耳中应该不会陌生:来自澳大利亚的Zero Latency成为了全世界第一家虚拟现实游戏体验中心,它占地400平方米左右,由129个PS Eye摄像头组成,同时支持6名玩家同场进行游戏……

  

VR实现空间定位的7种利器(上)

 

  没错,这个体验中心相比之前的VR应用,其最大的卖点就是可以在虚拟空间中自由行走。而PS Move设备(包括PS Eye摄像头,以及装备了标记光球的Move手柄)则是这一技术的核心所在。

  

VR实现空间定位的7种利器(上)

 

  如之前的游戏效果图所示,不同颜色的光球在PS Eye摄像头中可以呈现出显著不同于背景画面的图像,从而方便我们通过计算机视觉(CV)算法将它提取出来。当然,仅有一个PS Eye摄像头的话,是无法得到玩家的三维空间信息的。此时需要有不止一个摄像头去捕捉玩家的光球在屏幕空间的位置,然后通过空中三角测量的算法,取得玩家在世界坐标系当中的真实位置。

  

VR实现空间定位的7种利器(上)

 

  这里自然又带出了两个不小的问题:

  一、如何准确而稳定地从摄像头画面里判断和区分不同的光球(标记点);

  二、如何知道摄像头本身在世界空间的位置和姿态,从而正确推算玩家的位置和姿态。

  为了解决这里所述的第一个问题,已经足够让无数开发者绞尽脑汁、前赴后继了。通过颜色来区分标记点的方案当然是可行的,不过如果摄像头里出现了另一种类似颜色的干扰物呢?或者现场就是一片花花绿绿的环境怎么办?这种时候,误识别恐怕是很难避免的。因此,一批光学动作捕捉供应商站了出来,他们选择采用红外摄像头作为识别的替代方案。

  这里当然首推老牌的OptiTrack,他们采用了帧速率大于100Hz的专业摄像头,并且采用了全局快门系统,因而有效避免了高速运动的物体在画面上出现运动模糊的现象。在摄像头的周围采用红外LED进行补光,并且采用高反射率的材质来制作玩家佩戴的标记点。因为红外摄像头本身已经屏蔽了大部分的可见光信息,因此标记点在画面中就会显得分外明显。除非有人用另外的红外光源来进行干扰,否则几乎不可能出现误判断的情形。

  根据目前已知的一些信息,包括The Void主题公园,以及诺亦腾的Project Alice,都是采用了OptiTrack的空间定位方案,这也无疑证明了这种方案的可靠性。只是与之相对的,往往是高昂的成本(如下图,一台摄像头的价格都是以数万人民币计算的,而构建一个规则空间起码需要4台这样的摄像头,以及软件系统)。

  

VR实现空间定位的7种利器(上)

 

  (Via www.optitrack.com)

  不过,既然使用了不发光的标记球替代PS Move的光球方案(这样的另一个好处是,不用考虑怎么给标记球供电的问题),那么如何区分标记球的ID,进而区分游戏中的多个玩家呢?方法也有多种,例如通过对反射率的调整,让标记球在摄像头画面中显示不同的亮度;或者采用不同的组合方式,让一组光球在画面中呈现出唯一的组合形态,如下图所示:

  

VR实现空间定位的7种利器(上)

 

  (Via www.chingmu.com)

  而之前所说的第二个问题:如何知道摄像头本身在世界空间的位置和姿态。事实上是通过预先标定(calibration)的方式来完成的。体验馆的搭建者预先将每台摄像机安装到固定的位置,然后逐一观察它们的画面显示。通过已知位置姿态的一些标记物来推算每台摄像机的位置姿态,并且保存下来。这一过程无疑是繁琐而枯燥的,尤其当你需要动辄配置上百台摄像机的时候。而设置完成之后,如何避免摄像机被再次移动,或者因为场馆结构问题而发生震动和偏移,这又是每一位开发者所不得不面对的设备维护难题。