HTC Vive的Lighthouse工作原理

  在虚拟现实(VR)这样一个新兴产业里,获得了最多注目的自然是明星公司Oculus。很多人都体验过Oculus Rift,知道VR头显会是一种什么样的体验。但是由Valve和HTC合作而开发的Vive,就没有那么多人体验过了。最近笔者有幸接触到了HTC Vive,尽可能的向大家解释Vive到底在体验上,与Oculus有何区别,以及它有什么过人之处。

  HTC Vive的Lighthouse工作原理_第1张图片

  说到Vive就不得不提到Valve。核心游戏玩家都对Valve的大名如雷贯耳:他们开发了《半条命》(Half-Life)系列,《反恐精英》(Counter Strike)系列,《传送门》(Portal)系列,以及《Dota 2》。但是这点就不是那么多人知道了:Valve同时也是VR产业的技术先锋。

  Valve是一个特别有创造力的公司。这可以部分归功于Steam极度盈利,Valve没有业绩压力。在Oculus的早期Valve就已经介入并且帮助Oculus解决了很多技术难题并且让自家游戏(《半条命2》)支持Oculus,可以说Valve实际上是跟Oculus一样的VR产业先锋,而且在某种意义上来说他们的技术更加先进。后来Valve停止了和Oculus的合作,转向HTC,推出了现在我们看到的HTC Vive,以及Valve独家的VR定位技术Lighthouse。Lighthouse才是HTC Vive相比于其他VR头显的鹤立鸡群之处,在这里需要好好解释一下Lighthouse的基本原理。

  头动跟踪是VR头显非常重要的技术指标。要做到头动跟踪,最传统的方法是使用惯性传感器,就像我们每日都用的智能手机那样。但是惯性传感器只能测出转动(绕XYZ三轴转动,称之为三个自由度),无法测量出移动(沿XYZ三轴移动,另外三个自由度,合起来称之为六自由度)。另外一点,就是惯性传感器的误差比较大——想要VR头显的误差达到理想水平,可能需要洲际导弹上的惯导系统。

  所以说更精确和自由的跟踪头部运动,需要额外手段的辅助。

  HTC Vive的Lighthouse工作原理_第2张图片

  这就是Lighthouse的基站Vive没有采取通常的使用光学镜头和马克点的定位系统。它使用的这套定位系统叫做Lighthouse,由两个基站构成:每个基站里有一个红外LED阵列,两个转轴互相垂直的旋转的红外激光发射器。转速为10ms一圈。基站的工作状态是这样的:20ms为一个循环,在循环开始的时候红外LED闪光,10ms内X轴的旋转激光扫过整个空间,Y轴不发光;下10ms内Y轴的旋转激光扫过整个空间,X轴不发光。

  

  高速摄影机下的Lighthouse基站Valve在头显和控制器上安装了很多光敏传感器。在基站的LED闪光之后就会同步信号,然后光敏传感器可以测量出X轴激光和Y轴激光分别到达传感器的时间。这个时间就正好是X轴和Y轴激光转到这个特定的,点亮传感器的角度的时间,于是传感器相对于基站的X轴和Y轴角度也就已知了;分布在头显和控制器上的光敏传感器的位置也是已知的,于是通过各个传感器的位置差,就可以计算出头显的位置和运动轨迹。

  HTC Vive的Lighthouse工作原理_第3张图片

  Lighthouse的原理解释;图自Hizook从理论来讲,Lighthouse的精度依赖于系统的时间分辨率。这也就意味着,光敏传感器的分布之间需要一定的距离,设备不能制造的太小。光敏传感器本身也有一定宽度,如果传感器“挤”在一起,间距达到了传感器本身的宽度量级,那么测角本身就会出现误差了。Lighthouse具体能支持多高的测角精度,Valve并没有给出数据。同时,Valve也表示,需要至少5个传感器才能够保证一个刚体的6自由度跟踪。

  这个系统有很多优势。第一条是其需要的计算能力非常小。一个光学系统需要进行成像,然后程序就需要通过图像处理的方法来将成像中的马克点分辨出来。成像的细节越丰富,需要的图像处理计算能力就越高。所以红外摄像头比单色摄像头简单,单色摄像头比彩色摄像头简单。Lighthouse使用的仅仅是时间参数,那么它就不涉及到图像处理,对于位置的计算在设备本地就可以完成。

  第二个优点是其延迟也很小。计算能力需求高就意味着延迟会高:图形处理的大量数据要从摄像头传输到电脑中,再从电脑传输到头显上,就会增加延迟。而Lighthouse可以直接将位置数据传输到电脑上,省略了从摄像头到电脑的高数据传输的步骤。

  HTC Vive的Lighthouse工作原理_第4张图片

  光圈科技提示您:Lighthouse需要两个基站所以Lighthouse造就了目前最好的VR体验。Vive的头动跟踪和手柄跟踪都非常精确,延迟极低,用户甚至可以做出将手柄抛来抛去的动作。就个人体验而言,Vive的头动和手柄跟踪的精确程度已经让人真的产生了“这就是现实”的错觉——你会不自觉的对你在整个环境中所能做到的事情产生更高的期望,比如大动态的动作,试着去伸手够到远方的物体,等等。在这种情况下,Vive所默认的只有手柄的交互体验就会显得十分不自然,在虚拟现实中的身体感知就是十分迫切的了,而全身动捕在这里大有可为。

  

  Lighthouse基站的转速很高,震动不小除开Lighthouse,Vive作为头显本身体验也不错。屏幕分辨率很高,纱窗效应十分不明显——用户需要有意识的注意才能够注视到像素点。Vive使用的是菲涅耳透镜而非Oculus用的球面镜,优点是色散低,所以没有Oculus那么明显的色散补偿效应,缺点则是透光率低,开发者自己开发的应用需要调很高的亮度才能在头显里看起来正常。另外使用菲涅耳透镜的一个缺点是:对佩戴者的视点要求很严格,稍微有一点点的错位,看上去就一片模糊。而Oculus Rift的普通球面透镜允许一定的错位。

  Lighthouse并不是没有缺点——可以说,就现在所接触的设备而言,Vive目前并仍然是开发机状态,在某些基本问题上HTC仍然需要对硬件进行改进。Lighthouse的两个基站里有旋转部件,所以其可靠性尚待检验;基站本身的安装和校准的要求实在是相当精密,对一般消费者而言,门槛过高。作为VR从业者,我们仍然前前后后花了差不多两个下午的时间才真正将Lighthouse调试安装完毕,达到精密完美的状态。而且,高速旋转的部件带来了基站的震动——这种震动会导致跟踪变得不精确,手柄经常出现抖动和跳变的情况。需要将基站固定的十分牢固,才能够获得比较满意的效果。而且,基站震动久了就会变松,用户需要时不时的重新固定。

  HTC Vive的Lighthouse工作原理_第5张图片

  头显和手柄上都分布了数十个光敏传感器设备本身也有改进余地:头显本身有点重,使用可以伸缩的织带固定,所以头显的整个重量都压在脸上,佩戴不是很牢固。留给鼻子的空间太大(照顾欧美人的脸型),戴正了以后还是可以明显感受到外界的光线。手柄本身的材质看起来也十分脆弱而廉价,让人担心会不会很容易就把它磕碰坏掉。这些问题并不是不能解决的,比如基站安装和校准的问题,就原则上可以通过更加精细的说明指导来解决。笔者希望HTC能够在消费者版公布的时候解决这些问题并且推出更加完善,更加对用户友好的Vive。

  如果有机会,在之后的文章中,我们将讨论Vive所带来的室内(Roomscale)VR体验。

你可能感兴趣的:(VR)