ARVR设备关键技术之空间监测和定位

开发 VR/AR
对于不同类型的ARVR产品,必须要要具备精确的空间监测和定位能力,才能实现全方位的头部、手部互动和交互, 并且给用户带来更具真实感的虚拟体验。

一.目前ARVR产品的现状

市场上已经上市的ARVR产品并不少,价格从几十元的Cardboard到上万元的Hololens,用户体验差异落差很大。先说VR产品,整体来说可以分成如下这几类:

1. Cardboard产品

这类产品是最简单的VR产品,来源于谷歌的纸盒VR盒子,简单地说就是用两个凸透镜把手机分屏显示的内容,投射到眼镜,借助于手机内置的IMU来判断用户头部的运动姿态来调整VR显示内容的运动方向。这类产品在2015年国内大量的白牌开始出货,但VR整体效果都取决于手机的配置和光学镜头的质量,只能说是入门级别的VR体验产品。

 

 

 

 

国内一些视频内容和游戏公司的第一代VR产品,也基本都是这种形态,最有代表性的就是暴风盒子,配一个BT控制手柄来进行菜单选择。这类产品的出现确实对整个VR行业的推动起了很大作用,但其弊端也是非常明显的,所以才有了暴风一体机、大朋、小鸟看看等一体机在2016年陆续上市。

Cardboard方式的VR设备,在2016年迎来了一个特别大的机遇,那就是谷歌提出的Daydream VR,谷歌为了提升VR Cardboard的用户体验,并且希望在整个VR生态系统中能够占据主导地位,在2016年发布了Daydream手机Pixel、Pixel XL这两款手机和Daydream Viewer头戴Cardboard,并且还配置了一个内置IMU的遥控手柄。按照谷歌对VR设备用户体验的要求,必须达到某个硬件配置以上的手机,配合Daydream Viewer运行相关VR应用,用户才不会眩晕。从2016年开始,随着华为P9、联想MotoZ等产品的上市,宣称支持Daydream的手机也越来越多,预计在2017年,这类产品会完全打破原来Cardboard用户体验不佳的僵局。

 

 

 

 

2. 头动控制的一体机

一体机顾名思义就是不需要再插入手机或者连接PC就可以使用的VR设备,目前代表性的有大朋、小鸟看看等,大部分产品都是在2016年上市的,这些产品的特点基本都是采用了1080p或者2K分辨率的显示屏(有些还采用了2Kx2的双屏)配合专门为VR产品优化设计过的菲尼尔非球面光学镜头,整体的画质和畸变都提升了很多。但目前这类产品都有一个共同的特点,那就是只有简单的头动控制,只能坐或者站在原地通过摇头晃脑来实现VR的控制,无法做头手的交互。为了弥补这个缺陷,目前有一些外置的具有空间位置检测功能的配件(内置IMU的手柄、体感背包、空间定位光球等)来提升整体VR的用户体验。

 

 

 

 

3. 带空间监测和定位的一体机

空间监测和定位,一般有两种方式,Inside-out和Outside-in。Inside-out是通过一体机内置的sensor来感知设备外部的空间信息并做相关定位。而Outside-in则正好相反,通过外置的传感器来感知VR设备的位置,从而提供定位信息给VR应用。对一体机来说,目前来看无一例外地选择了Inside-out的方案,这样就避免了需要提前额外布置外部传感器的工作,用户可以随时随地拿起VR设备就是用。预计2017年即将上市的一些大厂产品,比如大朋一体机二代、暴风一体机等,都会具备空间定位能力,从而大幅度提升VR的用户体验,特别是VR游戏。

4. PC VR

这类产品最具代表性的就是HTC Vive、Sony PSVR和HTC Oculus,这三剑客2016年上市之后,特别HTC Vive几乎成了VR体验馆的标配,另外很多的行业定制也是基于Vive的。Sony PSVR上市不到半年就销售了大约100万台,对于整个VR行业用户体验整体水准提高起来很大作用。这三款产品的特点就是都采用了外置的空间定位技术,比如Vive采用的是外置红外激光发射器,头显和手柄感应发射器的位置来判断自身的位置和运动轨迹,PSVR和Oculus都是采用外部传感器来感应头显和手柄发出的可见光或者红外光来判断头显和手柄的位置;让头显、手柄都能精确地知道任何时间他们各自在空间中的相对位置和移动轨迹,从而可以让VR的应用更加真实。

 

 

 

 

接下来再说说AR产品,目前AR产品整体来说落差很大,有些AR眼镜产品只是把虚拟信息、图像等直接投射出来,跟用户所在的实际环境并没有实际关联,这类产品只能做到投射的虚拟信息跟随头动实现6DOF的动作跟踪,但无法把虚拟的物体跟用户所在的实际环境融合。比如大名鼎鼎的ODG,目前最新的产品也只是支持6DOF的动作追踪,没有空间定位功能。

 

 

 

 

上海智视的智能眼镜也跟ODG的功能类似,但他们的定位是第一视角的直播,所以只需要在眼镜中显示拍摄的相关信息和视频即可,无需做空间定位。但据了解他们正在开发的还有一个内置TOF depth camera的眼镜,这个是可以实现6DOF+空间定位的功能的。

 

 

 

 

目前已经上市的AR产品中,空间监测和定位能力最好,虚拟物体跟环境匹配最好的有2个产品,一个是基于谷歌Tango的空间定位技术的联想Phab2 Pro, 还有一个是微软的Hololens,这2个产品虽然形态上差异很大,但本质上来说都是6DOF+SLAM的完整结合,实现空间定位和运动追踪,他们的AR效果,基本来说都可以做到虚拟物体和实际环境的融合,不管用户如何移动、从哪个角度来观看,感受就跟真实的物体放在眼前一样。但从最终实际使用的效果来说,Hololens的6DOF+SLAM精度和稳定性还是要比Tango高,这跟整个硬件设计平台、传感器类型和数量的选择、核心算法都是密切相关的。

 

 

 

 

另外国内其实还有很多公司也在开发相关的AR产品,其中颇具特色的就是Micro Eye的SMAKKEST,不但神似Hololens,而且功能也跟Hololens相似,其6DOF+SLAM的效果据说被Hololens所认可。

 

 

 

 

2.空间定位技术类别

空间监测和定位技术,其实本质上来说可以初略分成2大类,一类就是Inside-out空间监测和定位,另外一类就是Outside-in空间监测和定位。

1. Inside-out空间监测和定位技术

Inside-out空间监测和定位技术,技术本质上有些类似人类眼镜对环境感知环境的过程,从设备内部来感知外部空间,因此被称为Inside-out定位方式。Inside-out空间监测和定位技术也分成了2类,一类是基于SLAM技术的空间监测和定位,这个也是目前火热的机器人行业所需要的一个基础功能,SLAM是simultaneous localization and mapping的英文缩写,是指设备本身在未知环境中从一个位置未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现设备本身自主检测和定位导航。目前大部分的AR产品都是采用Inside-out空间定位技术。

基于SLAM的空间监测和定位技术的代表产品是联想Phab2 Pro Tango手机和Hololens,都是采用了深度监测+Fisheye和IMU融合做运动监测,不同的是深度监测所采用的技术不同(Tango采用的是TOF,而Hololens采用的是结构光)和Fisheye运动和特征点监测的数量不同,Hololens的空间定位效果比Tango要更精确更稳定,而且在弱光、玻璃透光等环节中,Hololens的效果则完胜目前的Tango,但Tango技术也不是一成不变的,下一代的Tango技术也支持多Fisheye camera。

联想Phab2 Pro Tango手机,使用了一个TOF深度摄像头,一个155度FOV的Fisheye运动监测camera和一个RGB camera,Fisheye运动监测camera配合IMU数据的融合,进行特征点匹配,给设备提供一个完整的运动轨迹的监测,配合TOF深度摄像头的云图信息,可以实时绘制出设备本身在空间中的位置、运动的轨迹,同时通过Tango自带的区域学习功能,当回到已经走过的空间中,一旦Fisheye camera监测到了已经存储的特征点并且能匹配上,就可以快速地进行空间定位,这对AR设备来说是非常重要的,可以确保用户随时随地地快速使用。Tango的工作原理这里就不解释了,可以参考林时工的另外一篇文章做详细了解。

 

 

 

 

微软的Hololens的设计非常独特也非常有钱任性,新开了一颗了基于Intel的CPU和GPU技术的HPU(Holographic Processing Unit),设备采用CPU+GPU+HPU的配置,跟Tango一样,不需要外置PC就看实现完整的空间监测和定位。而在传感器方面,深度监测使用了2个结构光camera,配合4个结构光光栅发射器来进行深度监测。另外在Hololens的左右各有2个Fisheye camera,从而能够监测到更多的空间环境中的特征点。因此Hololens的空间定位精度和稳定性要比Tango高很多。

 

 

 

 

另一类则是基于marker(标记点)的空间监测和定位技术,简单的说就是在实际空间中放置一些类似二维码、特殊颜色图形的图案或者光点作为标记点,设备来监测这些标记点的位置来判断自身的位置和运动趋势。HTC Vive就是这个类型的代表, 下图是HTC Vive的空间定位工作原理。

 

 

 

 

Vive通过两个固定的激光发射器发射激光,每个基站里有一个红外LED阵列,分布两个转轴互相垂直的旋转的红外激光发射器,一个是X轴扫描,另一个是Y轴扫描,两个激光器有固定的180度相位差,当其中一个激光器发射X轴扫描时,另外一个激光器则发射Y轴扫描。

 

 

 

 

HTC Vive 头显的外壳,密密麻麻布满了32个光感传感器,分别朝向不同问方向,这些传感器都是用来接受固定的激光发射器发出的红外激光,连接Vive的电脑会控制所有设备同步运作,头显上的光感传感器分别监测出X轴和Y轴方向激光到达每个传感器的时间和针对两个不同激光发射器的相位关系,就可以计算出各个光感传感器各自的相位差,从而精确地定位头显的位置和运动轨迹。

Vive手柄上共有24个光感传感器,手柄的工作原理和头显相同,这里不再重复。

 

 

 

 

另外必须要提一下的是国内的Ximmerse,他们也推出了针对VR设备的Outside-in空间定位包设计方案,通过这个空间定位包,可以给没有空间定位功能的VR设备提供跟HTC Vive类似精度的空间监测和定位能力。定位包包括一个双camera的模块,2个带光球的控制手柄,使用时将双camera模块外置到头显上,通过双camera捕捉控制手柄的光球,判断手柄在空间中的位置,同时手柄通过BT把自身6DOF的信息传给模块,模块将6DOF和光球位置信息进行算法融合,实现全方位定位,从而提升头手的交互。这个方案的优势就是可以在任何环境光照情况下,定位精度不受外界环境光干扰,而且定位精度很高。但该方案无法对用户所在的整体空间环境进行监测和定位,只能监测到光球手柄的空间位置信息,但其优势就是可以快速让原有没有空间定位的VR设备至少拥有类似HTC Vive这样的空间定位能力。

 

 

 

 

2. Outside-in空间监测和定位技术

Outside-in的空间监测和定位技术目前是VR设备是比较成熟的空间定位技术,Sony PSVR和Oculus都是采用类似的方案,不过Oculus更是在外置摄像头加上红外主动马克点的方式,来获得更高的精度和更快的响应时间。而PS VR则直接采用了PS 3的MOVE系统,原理与Kinect类似,通过外置双目深度摄像头来进行动作识别与追踪头显和手柄。头显上有灯光指示,手柄顶端也有不同颜色的光球,外置的双camera随时检查头显和手柄上的光球运动轨迹,同时PS Station接收通过BT传回的头显和手柄的IMU信息,通过计算就可以得到完整的头显和手柄在空间中运动轨迹和定位。

 

 

 

 

从原理和实际使用的效果上来说,空间监测和定位的精度没有HTC Vive高,虽然Sony的游戏效果和PSVR头戴本身的佩戴舒适度比Vive要好,但空间定位精度不高,就影响到了VR游戏的整体体验。因此我们也从Sony的官网上看到了Sony的一个最新空间定位专利,这个专利应该就是为下一代PVSR准备的,从专利的描述来看应该是类似HTC的固定激光发射器的方式,这个方案跟目前PSVR的做法正好相反,不再使用外部摄像头来拍摄(Outside-In定位),而是通过外部的信号来定位VR头盔在空间中的方向。从而可以提供类似HTC Vive的使用精度(可能更高),同时可以360度无死角地捕捉用户的各种姿态和运动轨迹。

 

 

 

 

Oculus的空间监测和定位技术跟Sony PSVR类似,不同的地方是PSVR采用的是外置双camera监测可见光的方案,而Oculus采用的是主动式红外光,头显和手柄上都放置了红外发光LED,通过外置的红外摄像头进行拍摄和捕捉头显和手柄上红外光点的信息,从而获得头显和手柄的运动轨迹和空间位置信息。

 

 

 

 

 

 

 

 

不管是Sony PSRV还是Oculus的Outside-in方案,都存在一个问题,那就是外置camera是固定的,而在用户背对camera的时候,camera是无法检测到头显和手柄上的光点的,可能会存在漏监的可能性,从而影响用户体验,这点在HTC Vive上就不存在。

另外一个基于Marker点的Outside-in空间监测和定位技术,也是Ximmerse公司的光球+双camera方案,这个跟前面提到的他们的Inside-out的方案正好相反,这里把双camera监测器放到了室内固定的位置,然后在VR头显和手柄上布置光球,头显和手柄在运动个过程中,双camera监测器记录下来头显和手柄在空间里的三维位置和它们的移动数据,通过BT或者WiFi传递给VR头显做相关的运算和处理,并实施反馈到画面上,实现在虚拟环境里自由地走动,与虚拟世界里的事物进行交互。

 

 

 

 

 

 

 

 

以下是几个不同方案的汇总和比较:

 

 

 

 

总之,对于不同类型的ARVR产品,必须要要具备精确的空间监测和定位能力,才能实现全方位的头部、手部互动和交互, 并且给用户带来更具真实感的虚拟体验。

注:文中所有图片和视频均来自互联网。

责任编辑:庞桂玉 来源: 电子圈
相关推荐

2022-04-15 15:03:42

云计算容器Linux

2013-07-04 14:56:11

100G数字相干接收

2023-01-12 09:40:28

数字人建模动画

2023-09-20 20:11:07

Java

2013-07-04 14:37:05

100G调制接收

2011-03-21 15:29:46

2010-03-18 16:39:49

2021-05-17 14:57:22

NFV虚拟化数据

2015-09-11 13:54:51

大数据关键技术

2018-01-03 00:38:20

大数据Hadoop分布式文件系统

2021-08-05 15:28:35

5G通信技术5G新通话

2016-10-28 13:12:41

2021-12-21 15:37:46

NFV虚拟化IO虚拟化

2023-07-31 14:44:23

物联网人工智能

2017-07-20 06:08:04

大数据自服务智能化

2019-01-16 14:20:42

2019-01-09 13:20:51

2019-10-30 15:35:08

虚拟化云计算封装

2018-06-14 09:38:53

Linux多核编程
点赞
收藏

51CTO技术栈公众号