IOs interface memory secutity

改善XR环境中的头部追踪

发布时间:2020-12-16 点击数:

作者:CEVA  Charles Pao


       在虚拟现实和混合现实的应用中,精确的头部跟踪是绝对必要的。在XR应用中,一切都基于视觉。如果用户的大脑“看到”的东西与其他感觉所报告的信息不同,则用户会感到困惑。它剥夺了体验的真实性和乐趣,或更糟的是,它使用户产生强烈的眩晕感。

       实际上,实现正确的头部跟踪是一项复杂的任务。需要考虑各种因素才能使它恰好适合用户的设备或应用。通过对这些因素的深刻理解以及手头上的传感器的关键知识,逼真的沉浸式体验就可以完美的实现。

 

为什么需要头部追踪

       虽然AR和VR应用程序之间的实际体验截然不同,但两者都需要精确的头部跟踪。在增强现实或混合现实中,运动差异会更加清晰地体现出来,因为虚拟世界不会以我们知道物理世界的方式移动。想象一下一个物理世界中的桌子,上面放着一个虚拟的立方体。如果没有正确的头部跟踪,我们会注意到立方体一角转入桌子的那一刻就知道那是错误的。虚拟世界中不遵守我们知道的相同物理动作。

       在VR应用程序中,差异仍然会迅速导致用户产生眩晕,或者至少会带来负面的用户体验。尽管我们看到的是一个完全虚拟的环境,但我们的大脑仍然可以感知到我们所看到和听到的声音与如何移动头部之间的微小差异。即使它不会立即影响我们,我们也一定会产生眩晕感。

       在3D音频应用程序中可能会发生类似的问题。如果声音没有随着用户头部的动作和方向移动,他们可能会注意到声音抖动或者延迟。


头部追踪的关键因素

       为了提供强大的用户体验,需要考虑以下3个关键因素:

       •延迟:这是行动和反应之间的延迟。总是会有一定程度的延迟,但是关键是将其最小化,以便用户不会检测到此延迟。

       •精度:这是指在XR环境中跟踪运动或定位的精度。如果传感器(及其算法)不准确,用户可能可以实时跟踪头部运动,但无法在虚拟环境中准确反映。

       •平滑度:用户想要创建不受抖动影响的XR体验。突然变化的输出会破坏沉浸感,对于游戏而言,甚至可能导致角色的“死亡”。


       即使优化了这些因素,也会发生错误。一个常见的问题称为“抖动”。抖动通常分为以下几类:

       •定时抖动:发生这种情况时,答案是会当回复“提早”或“延迟”时会发生定时抖动,从而这会导致XR环境中的动作抖动不紧随用户的移动而变化。

       •噪声:当真值静止仍旧但而输出处于运动状态时,这是可见视为噪声的。这是更关键的抖动类型,通常是眩晕的原因。它使用户感到困惑,因为即使他们静止不动,XR环境也会移动。


       那么,究竟如何才能为XR设计一个向用户展示真实生活体验的系统?这些是其基本组成部分:

       •准确的头部追踪

       •高传感器输出率

       •低延迟

       •稳定的输出无跳跃

 

在XR中实现准确的头部跟踪

       准确的头部跟踪看似很简单,但实际上非常复杂;要实现该目标,没有正确的答案。但是,用户需要考虑一些事项。

 

一个水平的环境

       用户要确保虚拟或混合现实环境处于水平状态,以便正确校准所有内容。随着时间的流逝,补偿加速度计的零速率偏移(ZGO)是使系统与现实保持水平的一种好方法,并且可以提供稳定的长期航向性能。

 

使用磁力计

       至少需要一个加速度计和陀螺仪来进行精确的头部跟踪,但是还需要弄清楚是否应该使用磁力计。如果磁环境不稳定,它将对磁北产生许多不确定的答案,并且由于用户运动和环境而更加复杂。但是,如果用户有一个稳定的磁环境,则可以获得随时间推移在长时间段内一致的方向输出的好处。

       如果不使用磁力计,则可能需要使用地理参考系统,以帮助用户确定自己在世界上的位置,例如所面对的方向和直线位置。这需要一些外部输入。


解决陀螺仪错误

       陀螺仪非常快速地确定方向,并且不受电磁环境的影响。但是,尽管具有出色的性能,但消费级陀螺仪会随时间自然漂移。而且,如果用户不考虑并解决此问题,则可能极大地影响用户体验。

       磁力计可以通过提供稳定的绝对方向读数来缓解此问题,但是6轴传感器系统没有磁力计的支持。当头部和手部控制器向不同方向缓慢移动时,漂移尤其成问题。

      来自加速度计和磁力计的长期数据可能会显示与(漂移的)陀螺仪输出不同的方向信息。如果XR控制器的移动速度比陀螺仪能跟踪的速度快,那么在没有算法帮助的情况下该数据将丢失。实施算法来纠正这一点对于解决传感器错误至关重要。

 

平稳运行

       有时,来自实际的情况和陀螺仪的反馈不一致(请记住,陀螺仪在短期内的用途更多,而加速度计和磁力计在获取长期信息方面的效果更好)。稳定化的想法是确保“追赶”正确的反馈不会对用户造成伤害。使算法和传感器更干净地填充空白对于获得流畅的体验非常重要。

       除了这些外部选择和棘手的错误之外,XR系统还需要快速的数据。这就是传感器输出速率和延迟的重要因素发挥作用的地方。高传感器速率使虚拟世界与现实世界保持同步。但是,如果高延迟将数据经过高延迟才传递到用户端手中,则数据的精确度并都不重要了。

       头部跟踪很复杂,但这是整个XR体验中最关键的部分。如果用户在设计中没有考虑到这一点,那么无论使用哪种虚拟应用程序,都将为用户带来令人不愉快的真实体验。

       幸运的是,CEVA知道如何解决交付沉浸式的XR体验的关键问题。 我们的BNO085具有准确的头部跟踪功能,所有这些功能均以高传感器速率(1kHz),低延迟(结合预测算法来克服系统延迟)和稳定算法来保持体验平稳运行。

赞助企业