揭秘微软HoloLens中SLAM技术

HoloLens把科幻电影中许多全息投影的桥段,真真切切带到现实生活里。不像Google Glass只能在头部固定位置看到个小屏幕,全息画面并不是融合在现实世界里,这种锁定头部的画面往往让人感觉不是很舒适。

而把全息场景和现实世界混合到一起,和你看到真实世界一样远近自然放缩,让你感觉全息场景就在那儿,就是现实世界里一部分,这些HoloLens做到了。在你惊讶这一黑科技之余,可能会好奇,HoloLens是如何做到把全息物体放到真实环境中的。

 timg (1)

要做到这,Hololens首先面临两个问题:我在哪儿(定位)、我周围有什么(三维场景重建)。解决这两个问题的关键就是SLAM(Simultaneous Localization and Mapping),中文叫即时定位与地图构建。

接下来我要直接开始大谈SLAM如何实现吗?那完了,估计你会看得一头雾水,肯定就不往下读了。那可不行,我还是先从生活中常见的AR慢慢谈起吧!HoloLens和生活中我们常见的手机AR应用都是基于摄像头的。常见的手机AR应用,基本都是采用类似Vuforia方案,只能检测现实生活中的平面图片。然后把虚拟物体放到图片上。

1

来自Vuforia官网

然而,同样基于摄像头,HoloLens却可以检测整个真实立体空间,并重建三维场景。厉害吧!这当然得益于HoloLens上的多种传感器了。

HoloLens上有4个环境感知摄像头、1个深度摄像头、1个 IMU(惯性测量单元)。

2

这些传感器分别都起什么作用呢?为了让你更直观的了解到,我们可以先做个小测试。

首先,我们把环境感知摄像头和深度摄像头都遮住。只让IMU起作用。

3

通过Windows Device Portal的3D View查看到如下结果。这个时候HoloLens只能知道方向,不能知道相对位置偏移,也不能对周围环境建模。可以看出IMU负责感应设备的方向。

4

然后,我们把4个环境感知摄像头遮住,只露出深度摄像头。

5

结果和上面一样。还不知道相对位置偏移,也没有对周围环境建模。可以看出深度摄像头对空间建模并不会单独起作用。

接着,我们把深度摄像头遮住,只露出4个环境感知摄像头,分别在房间三个位置扫描周围环境。

6

结果下图所示。每个位置建模形状接近球体,构建的三维环境模型是不正确的。但三个扫描的位置是正常的,所以这个时候,HoloLens是可以感知在真实空间中的相对位移和朝向角度。可以看出环境感知摄像头负责感应设备相对位置的偏移,但不会对周围环境建模。HoloLens的定位并不依赖深度摄像头。

7

最后,我们什么传感器也不遮,看看正常情况,如下图所示。HoloLens既可以感知在真实空间中的相对位移和朝向角度。又可以对周围环境建模。可以看出深度摄像头需要依赖环境感知摄像头去认知还原周围环境。

9

从上面的小测试里,你应该可以大致了解了这三种传感器的作用,IMU感应HoloLens的方向,环境感知摄像头感应HoloLens相对位置的偏移,深度摄像头感知HoloLens周围环境。IMU和4个环境感知摄像头与最开始说的“我在哪儿”问题有关。IMU和4个环境感知摄像头以及深度摄像头与“我周围有什么”问题有关。

知道了传感器的作用,接下来就可以深究传感器是如何解决这两个问题的。具体内容我们在下篇揭晓。(来自:微软HoloLens

更多精彩内容,关注青亭网微信号(ID:qingtinwang),或者来微博@青亭网与我们互动!转载请注明版权和原文链接!
责任编辑:
分享到QQ 分享到微信

0 条评论

头像发表我的观点

取消

  • 昵称 *
  • 邮箱 *
  • 网址

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录
切换登录

注册