位置追踪是VR(虚拟现实)中实现沉浸感和临场感的重要手段——这一点已经被业内所认同。用以实现位置追踪的技术方案有不少,各有优劣。下面我们就来看一下这些不同的位置追踪技术。
(下文有部分选自Sensics公司CEO Yuval Boger的个人博客。)
不论是追踪头部、手臂、手指还是其他物体(如武器),位置追踪可以带来如下好处:
·根据用户的动作(如跳起、下蹲、或前倾)改变用户的视角。
·在虚拟世界中显示用户的手或其他物件。
·连接现实和虚拟世界。例如,如果软件可以检测到手的位置,就可以实现用手移动虚拟物体。
·检测复杂动作。通过分析一段时间内肢体的位置,可以检测到较复杂的动作。例如,当用户用手在空中画出一个“8”时,软件可以识别出。
以下是一些在VR中可以用到的位置追踪技术(还有些位置追踪技术并不适合VR,在此就不介绍了)。
磁力追踪
磁力追踪通过衡量不同方向上磁场的强弱来实现。通常会用一个基站发出交流、直流或脉冲直流励磁。当检测点和基站间的距离增大,磁场就会减弱。而当检测点发生转动,磁场在不同方向上的分布会发生变化,因此也能检测方向。使用磁力追踪的产品代表为Razer雷蛇的PC体感控制器Hydra。从用户实际体验来看,Hydra具有相当不错的体验感受,只是有线方式会给体验带来一些困扰。
磁力追踪在特定环境下可以达到不错的精度(Hydra可以支持1mm的位置精度及1度的转向精度)。但如果周围有导体、电子设备或磁性物体,就会受到干扰。
声学追踪
声学追踪测量一个已知声音信号到达已知接收器所用的时间。通常会使用多个发射器,并对应多个安装在被追踪物上的接收器(麦克风)。当发射时间可知,通过接收到信号的时间就可以得出距离发射器的距离。当被追踪物体上安装有多个接收器,通过它们收到信号时间的差异就可以判断被追踪物体的方向。采用声学追踪方案的产品有Intersense公司的IS-900 位置追踪器。
Intersense IS-900 positionaltracker
声学追踪设备调试过程很费时,而且由于环境噪音会产生误差,精度不高。所以声学追踪技术通常和其他设备(如惯性追踪设备)共同组成“融合感应器”,以实现更准确的追踪。
惯性追踪
惯性追踪使用加速度计和陀螺仪实现。加速度计测量线性加速度。根据测量到的加速度可以得到被追踪物的位置(准确地说,是相对一个起始点的位置)。
陀螺仪测量角速度。陀螺仪是基于MEMS技术的部件,但与上图的机械陀螺的运行原理是一样的。同样,根据角速度可以算出角度位置(准确地说,是相对一个起始点的角度)
惯性追踪的优点是十分便宜;能提供高更新率及低延迟。但缺点是会产生漂移,特别是在位置信息上,因此很难仅依靠惯性追踪确定位置。
目前的移动VR设备均应用了惯性追踪方案,或直接就采用手机的陀螺仪与加速度计。借助该技术方案,移动VR主要用来检测头部动作(包括方向和运动),并能作为部分VR内容的交互手段,但首先需要解决好漂移问题,否则会带来晕眩。而位置追踪方面,移动VR包括三星GearVR正在寻求新的解决方案。
光学追踪
根据所用镜头的不同,光学追踪可以分为以下几类:
1.利用标记的光学追踪
被追踪物体上按某种规则布满标记点。一个或多个摄影镜头持续地捕捉标记点,并利用一些算法(如POSIT算法)得出物体的位置。算法会把镜头捕捉到的标记点位置和原先的规则作比较,从而得出物体的位置和朝向。算法中也需要考虑有些标记点在镜头视野之外或被遮挡的情况。
标记点有主动和被动两种。主动型标记点通常会定期发射红外线。因为可以将红外线发射时间和镜头作同步,可以排除周围其他红外线的干扰。被动型标记点实际上是反射器,将红外线反射回光源。如果使用被动型标记点,通常镜头里会有红外线发射器。下图就是一个配有红外线发射器的镜头。
只要标记点排列规则互不相同,多个物体可以同时被追踪。
2.利用可见标记点的光学追踪
另一种光学追踪的技术是利用如上图所示的特殊图案或花纹作为标记点。镜头可以辨认出这些标记点,将多个标记点放置于特定的位置,就可以计算出位置和方向。
标记点可以是各种形状和大小。标记点需要能有效地被镜头识别,但同时能产生大量独特的标记点。
一个著名的案例是Valve公司的一间展示房间(见上图),墙上和天花板上布满了不同的标记点。一台VR头显样机上配备了摄像头,可以通过这些标记点进行位置追踪。这种方法能提供室内精确的位置追踪,但对普通用户来说不太实用。
3.无标记点的光学追踪
如果被追踪物体的几何形状已知(比如由CAD模型产生),也可以通过持续搜索和对比已知3D模型,实现无标记点的光学追踪。即通过分析图像中的边缘和颜色变化等信息,识别出需追踪的物体。
即使对非已知的3D物体,也可以辨别出一些代表性的部分,如人脸和肢体,并对它们持续追踪。
4.利用DepthMap的追踪
利用Depth Map镜头也可以实现位置追踪。Depth Map镜头,例如微软的Kinect或SoftKinetic的DS325,采用某些技术(如structured light、time of flight)生成物体到镜头距离的实时分布图。通过从Depth Map中提取被追踪物体(如手部、脸部),并分析提取出的比例来实现位置追踪。
多传感器融合
多种追踪技术的组合通常能达到比单一技术更好的效果。举个例子,光学追踪和惯性追踪。惯性追踪会有漂移的问题,而光学追踪会有遮挡的问题(标记点被遮挡)。如果把这两种技术组合使用,就可以带来很多好处,例如:
如果标记点被遮挡,可以先利用惯性传感器提供的数据估算位置信息,直到光学追踪再次捕捉到目标。
即使光学追踪没有被遮挡,惯性传感器提供的更新数据也可以加强位置追踪的精度。
那么,应该如何选择最适合的位置追踪技术?
建议根据实际需要,考虑以下这些因素:
对追踪精度的要求
对刷新率的要求
被追踪物体的形状是事先已知,还是会时时改变
被追踪物体是刚性的还是柔性的
追踪区域的大小
是否需要在户外实现追踪,户外的光线情况会更复杂
成本、电力消耗、硬件计算能力限制等因素考量
(下文有部分选自Sensics公司CEO Yuval Boger的个人博客。)
不论是追踪头部、手臂、手指还是其他物体(如武器),位置追踪可以带来如下好处:
·根据用户的动作(如跳起、下蹲、或前倾)改变用户的视角。
·在虚拟世界中显示用户的手或其他物件。
·连接现实和虚拟世界。例如,如果软件可以检测到手的位置,就可以实现用手移动虚拟物体。
·检测复杂动作。通过分析一段时间内肢体的位置,可以检测到较复杂的动作。例如,当用户用手在空中画出一个“8”时,软件可以识别出。
以下是一些在VR中可以用到的位置追踪技术(还有些位置追踪技术并不适合VR,在此就不介绍了)。
磁力追踪
磁力追踪通过衡量不同方向上磁场的强弱来实现。通常会用一个基站发出交流、直流或脉冲直流励磁。当检测点和基站间的距离增大,磁场就会减弱。而当检测点发生转动,磁场在不同方向上的分布会发生变化,因此也能检测方向。使用磁力追踪的产品代表为Razer雷蛇的PC体感控制器Hydra。从用户实际体验来看,Hydra具有相当不错的体验感受,只是有线方式会给体验带来一些困扰。
磁力追踪在特定环境下可以达到不错的精度(Hydra可以支持1mm的位置精度及1度的转向精度)。但如果周围有导体、电子设备或磁性物体,就会受到干扰。
声学追踪
声学追踪测量一个已知声音信号到达已知接收器所用的时间。通常会使用多个发射器,并对应多个安装在被追踪物上的接收器(麦克风)。当发射时间可知,通过接收到信号的时间就可以得出距离发射器的距离。当被追踪物体上安装有多个接收器,通过它们收到信号时间的差异就可以判断被追踪物体的方向。采用声学追踪方案的产品有Intersense公司的IS-900 位置追踪器。
Intersense IS-900 positionaltracker
声学追踪设备调试过程很费时,而且由于环境噪音会产生误差,精度不高。所以声学追踪技术通常和其他设备(如惯性追踪设备)共同组成“融合感应器”,以实现更准确的追踪。
惯性追踪
惯性追踪使用加速度计和陀螺仪实现。加速度计测量线性加速度。根据测量到的加速度可以得到被追踪物的位置(准确地说,是相对一个起始点的位置)。
陀螺仪测量角速度。陀螺仪是基于MEMS技术的部件,但与上图的机械陀螺的运行原理是一样的。同样,根据角速度可以算出角度位置(准确地说,是相对一个起始点的角度)
惯性追踪的优点是十分便宜;能提供高更新率及低延迟。但缺点是会产生漂移,特别是在位置信息上,因此很难仅依靠惯性追踪确定位置。
目前的移动VR设备均应用了惯性追踪方案,或直接就采用手机的陀螺仪与加速度计。借助该技术方案,移动VR主要用来检测头部动作(包括方向和运动),并能作为部分VR内容的交互手段,但首先需要解决好漂移问题,否则会带来晕眩。而位置追踪方面,移动VR包括三星GearVR正在寻求新的解决方案。
光学追踪
根据所用镜头的不同,光学追踪可以分为以下几类:
1.利用标记的光学追踪
被追踪物体上按某种规则布满标记点。一个或多个摄影镜头持续地捕捉标记点,并利用一些算法(如POSIT算法)得出物体的位置。算法会把镜头捕捉到的标记点位置和原先的规则作比较,从而得出物体的位置和朝向。算法中也需要考虑有些标记点在镜头视野之外或被遮挡的情况。
标记点有主动和被动两种。主动型标记点通常会定期发射红外线。因为可以将红外线发射时间和镜头作同步,可以排除周围其他红外线的干扰。被动型标记点实际上是反射器,将红外线反射回光源。如果使用被动型标记点,通常镜头里会有红外线发射器。下图就是一个配有红外线发射器的镜头。
只要标记点排列规则互不相同,多个物体可以同时被追踪。
2.利用可见标记点的光学追踪
另一种光学追踪的技术是利用如上图所示的特殊图案或花纹作为标记点。镜头可以辨认出这些标记点,将多个标记点放置于特定的位置,就可以计算出位置和方向。
标记点可以是各种形状和大小。标记点需要能有效地被镜头识别,但同时能产生大量独特的标记点。
一个著名的案例是Valve公司的一间展示房间(见上图),墙上和天花板上布满了不同的标记点。一台VR头显样机上配备了摄像头,可以通过这些标记点进行位置追踪。这种方法能提供室内精确的位置追踪,但对普通用户来说不太实用。
3.无标记点的光学追踪
如果被追踪物体的几何形状已知(比如由CAD模型产生),也可以通过持续搜索和对比已知3D模型,实现无标记点的光学追踪。即通过分析图像中的边缘和颜色变化等信息,识别出需追踪的物体。
即使对非已知的3D物体,也可以辨别出一些代表性的部分,如人脸和肢体,并对它们持续追踪。
4.利用DepthMap的追踪
利用Depth Map镜头也可以实现位置追踪。Depth Map镜头,例如微软的Kinect或SoftKinetic的DS325,采用某些技术(如structured light、time of flight)生成物体到镜头距离的实时分布图。通过从Depth Map中提取被追踪物体(如手部、脸部),并分析提取出的比例来实现位置追踪。
多传感器融合
多种追踪技术的组合通常能达到比单一技术更好的效果。举个例子,光学追踪和惯性追踪。惯性追踪会有漂移的问题,而光学追踪会有遮挡的问题(标记点被遮挡)。如果把这两种技术组合使用,就可以带来很多好处,例如:
如果标记点被遮挡,可以先利用惯性传感器提供的数据估算位置信息,直到光学追踪再次捕捉到目标。
即使光学追踪没有被遮挡,惯性传感器提供的更新数据也可以加强位置追踪的精度。
那么,应该如何选择最适合的位置追踪技术?
建议根据实际需要,考虑以下这些因素:
对追踪精度的要求
对刷新率的要求
被追踪物体的形状是事先已知,还是会时时改变
被追踪物体是刚性的还是柔性的
追踪区域的大小
是否需要在户外实现追踪,户外的光线情况会更复杂
成本、电力消耗、硬件计算能力限制等因素考量