虚拟现实的定位方法和技术概述



位置跟踪是硬件和软件的组合,可让您确定对象在空间中的绝对位置。这项技术对于实现沉浸在虚拟现实中的效果至关重要。结合定向跟踪,可以测量现实世界的所有6个自由度(6-DoF)并将其传输到VR。在我们公司使用虚拟现实技术的过程中,我们在此问题上获得了一些经验,并希望通过谈论跟踪虚拟现实状况的现有方法以及解决方案的利弊来分享它。

小分类


解决此问题的方法和方法集可分为几组:
  • 声学的
  • 无线电频率
  • 磁性的
  • 光学的
  • 惯性
  • 杂种

人的感知对BP设备的准确性(〜1mm)和延迟(<20 ms)有很高的要求。光学和惯性方法最接近这些要求,并且最经常一起使用,相辅相成。考虑构建上述方法的基本原理。

声学方法


声学跟踪设备使用超声波(高频)声波来测量目标物体的位置和方向。为了确定物体的位置,测量从发射器到接收器的声波的飞行时间到达时间),或者在接收和发射过程中正弦声波的相位差。公司InterSense公司显影设备位置跟踪基于超声波。
由于空气中的声速低,声学跟踪器通常具有较低的刷新率。另一个问题是空气中的声速取决于环境因素,例如温度,大气压力和湿度。

射频方法


有许多基于射频的方法。在许多方面,根据确定位置的原理,它们类似于声学跟踪方法(不同之处仅在于波的性质)。目前最有前途的是UWB(超宽带)方法,但是即使在基于UWB的最佳解决方案中,精度也只能达到几厘米(DecaWave的DW1000Zebra Technologies的DartUbisense的7000系列等)。也许将来,像PozyxIndoTraq这样的初创公司将能够达到亚毫米级的精度。但是,UWB位置跟踪解决方案尚不适用于虚拟现实。
在此更详细地描述了其他用于定位射频的方法文章

磁性方法


磁跟踪基于测量各个方向上的磁场强度。通常,在这样的系统中,存在产生交变磁场或恒定磁场的基站。由于磁场强度会随着测量点和基站之间距离的增加而减小,因此可以确定控制器的位置。如果测量点旋转,则磁场的分布会沿不同的轴发生变化,从而可以确定方向。基于磁跟踪的最著名的产品是Razer Hydra控制器Sixense的STEM系统
在受控条件下(Hydra规格指的是1 mm的位置精度和1度的定向精度),此方法的精度可能很高,但是磁跟踪会受到发射器或传感器附近的导电材料,其他电子设备产生的磁场和铁磁的干扰。跟踪空间中的材料。

光学方法


光学方法是计算机视觉算法和跟踪设备的组合,其中包括可见光或红外热像仪,立体声摄像头和深度摄像头。
根据参考系统的选择,有两种跟踪位置的方法:



  • 从里到外的方法意味着存在固定的外部观察者(相机),该观察者通过特征点确定运动对象的位置。用于Oculus Rift(Constrellation),PSVR,OSVR和许多Motion Capture系统。
  • 由内而外的方法假定在移动的物体上存在光学传感器,因此可以跟踪周围空间中相对固定点的运动。用于Microsoft Hololens,Project Tango(SLAM),SteamVR Lighthouse(混合选项,因为有基站)。

另外,根据特殊光学标记的可用性,它们是分开隔离的:
  • 无标记跟踪通常基于使用两个或多个摄像机或带有深度传感器的立体摄像机的复杂算法。
  • , . ( , ), QR-. .

Perspective-n-Point (PnP)

借助光学跟踪,当需要从物体到相机传感器平面的透视投影中确定物体在3D空间中的位置时,解决了所谓的PnP(透视n点)问题,可以确定物体在空间中的位置。



对于给定的对象3D模型和对象在相机平面上的2D投影,求解方程组。结果,获得了许多可能的解决方案。决策的数量取决于对象的3D模型中的点数。可以通过至少4个点来获得用于确定对象的6自由度位置的明确解决方案。对于一个三角形,可以获得2到4个可能的解,即,位置不能明确确定:



该解由库中实现的足够多的算法提出:

SLAM- 同时进行本地化和映射

同步定位和地图构建方法(SLAM)是机器人技术中(不仅是唯一的)最流行的定位方法,用于跟踪空间位置。



该算法由两部分组成:第一部分是基于测量值(里程表或立体相机的数据)的未知环境的映射,第二部分是根据当前测量值与现有空间图的比较确定其在空间中的位置(定位)。不断地重新计算该循环,而一个过程的结果将参与另一过程的计算。解决该问题的最流行方法包括粒子滤波器和高级卡尔曼滤波器。实际上,SLAM是一个相当广泛的主题,而不仅仅是一个特定的算法,有关该主题的所有现有解决方案的分析都引自另一篇文章。
SLAM对于移动虚拟和增强现实解决方案非常方便。但是,这种方法的缺点是计算量大,再加上要求苛刻的VR / AR应用程序,将极大地增加设备的生产资源。Google的

Project Tango和Microsoft Hololens是最著名的基于SLAM的移动设备项目。英特尔(Project Alloy)和高通(VR820最近发布的产品也有望支持基于SLAM的跟踪
在开源解决方案中,我们可以区分ORB-SLAMLSD-SLAMPTAM-GPL

惯性跟踪


现代惯性测量系统(IMU基于MEMS技术可以监测空间中的定向(滚动,俯仰,偏航)以极高的精度和最小的延迟)。



得益于基于互补滤波器或卡尔曼滤波器的传感器融合算法来自陀螺仪和加速度计数据成功地相互校正,并为短期测量和长期测量提供了准确性。

但是,由于线性加速度的二次积分(推算)而确定坐标(位移))是根据加速度计的原始数据计算得出的,长期以来无法满足精度要求。加速度计本身会产生非常嘈杂的数据,并且当积分后,误差会随着时间呈二次方增长。
将惯性跟踪方法与定期校正所谓的加速度计漂移的其他方法相结合,有助于解决此问题。

混合方法


由于没有一种方法是完美无缺的,并且它们都有各自的弱点,因此组合不同的跟踪方法是最合理的。因此,惯性跟踪(IMU)可以提供高频率的数据更新(高达1000 Hz),而光学方法可以在很长一段时间内提供稳定的精度(漂移校正)。

混合跟踪方法基于“ 传感器融合算法,其中最流行的是扩展卡尔曼滤波器EKF)。

SteamVR Lighthouse如何工作?

HTC Vive跟踪系统由两个基站,光学传感器和控制器和头盔中的惯性测量单元(IMU)组成。基站包括两个旋转激光器和一个红外LED阵列。其中一束激光器垂直旋转,第二束激光器水平旋转。因此,激光依次“扫描”周围空间。基站同步运行:在某个时间点,四个激光器中只有一个“扫描”跟踪空间。为了在每次打开激光之间同步整个系统的操作,整个周围空间会被红外光脉冲照亮。

控制器和头盔上的传感器记录来自基站的所有光脉冲,并测量它们之间的时间。由于预先知道激光速度(60Hz),因此可以从脉冲之间的时间计算出各射线的旋转角度。通过了解光学传感器在控制器上的相对位置,可以使我们获得光学传感器的2D坐标,您可以轻松地将控制器的3D位置恢复到太空(PnP任务)。借助两个基站的同时可见性,可以从两条光线的交点计算出控制器的3D位置,从而获得更准确的结果,并且所需的计算更少。跟踪过程将在下面更清楚地说明。


一个月前,Valve宣布将向第三方开发人员开放其跟踪系统。您可以在此处了解更多信息

您认为哪种方法跟踪空间位置最适合虚拟/增强现实?

这是有关BP技术人员的系列文章中的第一篇。如果有兴趣,我们将继续为他们撰写更多文章。

PS为什么没有虚拟现实中心?

Source: https://habr.com/ru/post/zh-CN397757/


All Articles