探秘HTC Vive的空间定位技术 真有传说中那么神奇?
细细想来,空间定位真有那么神奇吗?电科技就为大家一一解开其中神秘的面纱。
光学定位是VR主题公园的核心
传统6度Free追踪是惯性传感器,最多只能跟踪头部的转动,想要跟踪头部的位移,就要引入光学系统。而在光学动作捕捉系统中,世界范围内最知名的两家公司就是英国的Vicon和美国的 Optitrack。
做为知名的光学动作捕捉公司,他们采用的是帧速率大于100Hz的专业摄像头,同时还起启用全局快门系统,这样就有效避免了高速运动的物体在画面上出现运动模糊的现象。
在摄像头的周围,他们通常采用的是红外LED进行补光,并用高反射率的材质来制作玩家佩戴的标记点。因为红外摄像头本身已经屏蔽了大部分的可见光信息,因此标记点在画面中就会显得分外明显。
但是,当扫描光线被用户或某些物体遮挡后,三维重构在缺少某个方向坐标准确信息后,会出现定位失败(而这仅仅是在非多人参与的理想状态)。当然遮挡问题可以通过多个角度来全方位定位(实际中就是多个摄像头)不过这也同时带来了高昂的成本,所以在理论上来说,空旷空间是最佳定位场所。
因此它也确实成为了目前很多VR体验馆搭建者的首选,国外包括像The Void主题公园、国内的诺亦腾的Project Alice,都是采用了OptiTrack的空间定位方案,而核心就是光学动作捕捉系统。
但其成本非常昂贵,单单一台摄像头的价格就以万人民币计算的,而构建一个相当规则空间起码需要4-5台这样的摄像头。所以对于大型的主题公园所来说,特定营造的环境和大空间场所是他们核心竞争力。
对于这样的价位实体店尚能负担的起,但相较于普通老板姓,这样高昂的成本显然就不适用了。
光学三维成像+外部基站? 别被名词给忽悠了
HTC Vive之所以在PC端VR市场如此受欢迎,主要在于亲民的价格。相较于其他高昂的空间定位来说,Lighthouse技术的普及让原本只能在网吧、主题公园才可以享受到娱乐方式变得更家庭化,很多年轻的玩家足不出户就可以同样享受同样的沉浸体验。
那么这种定位技术到底有什么神奇的功能?
根据之前介绍,我们知道,常规动作捕捉是光学三维成像,就是用光学的手段,根据测量物体的要求,获得物体三维空间信息的方法和技术。而目前主要是用于获得物体表面三维空间形状信息,应用也最广,激光光束可以是点、线,还可以是环。
像Oculus的Constellation系统就使用了摄像头加上红外主动马克点的方式,而HTC Vive则是主要依靠两个基站。
基站打开后是这样。
每个基站里有一个红外LED阵列,两个转轴互相垂直的旋转的红外激光发射器。转速为10ms一圈。每个基站分别两个循环指示显示A或者B,通过图片可看到内部是两个圆柱体,其旋转的一字激光器,一个是X轴扫量,另一个是Y轴扫量,两个激光器有固定的180度相位差,也就是说,A亮的时候B不亮,B亮的时候A不亮。
而它的工作原理是每20ms为一个循环,在循环开始的时候红外LED闪光,10ms内X轴的旋转激光扫过整个空间,Y轴不发光;下10ms内Y轴的旋转激光扫过整个空间,X轴不发光。
HTC Vive手柄内部
拆开 HTC Vive 头显的外壳,你会看到布满密密麻麻麻的传感器,总共 32 个,这些都是用来接受 Lighthouse基站发出的红外光,在基站的LED闪光之后就会自动同步所有设备的时间,然后激光开始扫描,此时光敏传感器可以测量出X轴激光和Y轴激光分别到达传感器的时间,激光发射器会分别以垂直和水平两个模式扫描整个房间,头显和手柄上的传感器接收到这些信号之后完成定位。
HTC Vive手柄头盔内部
为了确保 Lighthouse 基站能够准确定位,Vive 手柄上搭载了 24 个传感器,电路板上还有七个测试点。
换句话说,激光扫掠过传感器是有先后顺序的,因此头显上的几个传感器感知信号的时间存在一个先后关系,于是各个传感器相对于基站的X轴和Y轴角度也就已知了。而头显和手柄上安装传感器的位置已经提前标定过位置都是固定的。这样根据各个传感器的位置差,就可以计算出头显和手柄的位置和运动轨迹了。
引用极客视界
由此,我们可以知道,第一,Lighthouse技术占用计算能力小,因为Lighthouse仅仅是采用红外摄像头比单色摄像头简单,所以其使用的仅仅是时间参数,不涉及到图像处理,对于位置的计算在本地就可以处理。
第二,其延迟率低(仅仅是相对较低),因为需要的图形处理的数据相对要少,外加上Lighthouse可以直接将位置数据传输到电脑上,省略了从摄像头到电脑的高数据传输的步骤,缩短了传送数据的时间,但是这种延迟率仅仅是在传输方面降低,如何从根本上通过算法改变其传输方式,进行更有效的传输还尚待解决。
这些都建立在以基站能看的到的地方,它的可检测视角为120度范围以内,对于物体的高度并没有绝对限制,当时以能到最大范围优先。
精确度和扩展性成为Lighthouse绊脚石
当然,lighthouse也存在一些实际问题。
首先是图象信息采集的精准度问题,目前这个问题从技术上还不能完全解决。
从理论来讲,传感器点亮的时候需要精确的知道激光当时的角度,那么就需要很精确的测量激光到达的时间。光敏传感器本身也有一定宽度,如果传感器“挤”在一起,间距达到了传感器本身的宽度量级,那么测角本身就会出现误差了。所以光敏传感器的分布之间需要一定的距离,设备不能制造的太小。Valve表示要保持对一个刚体的跟踪,需要至少5个传感器形成一个阵列。
所以,Vive的手柄前方的传感器阵列必须足够大,才能捕捉到激光传导过来信号,而且在这之间不能有遮挡物。手柄的体积大成为其中一大缺陷。
不过据电科技了解,HTC正在着眼与手势控制的公司合作,不久将来,或许手柄将逐渐淘汰,手势控制或许会成为未来的趋势。
另一个问题是Lighthouse系统的可扩展性。
在一个空间里Lighthouse有许多基站的话,很有可能出现的情况是光敏传感器同一时间内被多道激光扫过,就很难分清楚激光是来自哪个基站,位置计算能力就会变差了。目前的Lighthouse是使用时分复用:任意时刻只有一个基站发光。在未来最彻底的解决方案应该是频分复用——光敏传感器接受的每一道激光都带有信息报告自己的基站的id,但是这样整个系统的设计会变得比现在复杂得多,在那么短的一道激光中做到这一点,也可能需要更昂贵的设备。
Valve表示这套系统是理论上可扩展到无限容量的,但是他们并没有披露具体是用怎样的方法做到这一点。
做了以上诸多的理论解释,总结下来就是,HTC Vive的Lighthouse技术在消费级的产品来说,尚属目前最主流的空间定位技术,而且成本低也是不争的事实。
作为VR最重要的环节之一,空间定位系统一直在用户体验度上占据重要位置,目前不仅国内外研究人员都在试图解决核心算法和技术壁垒,同时在实际场景应用方面,例如像主题公园及游戏开发上也在朝着大空间、可移动的方向发展。电科技相信,空间定位技术必然是未来VR发展的核心内容。