HoloLens是什么?
HoloLens是微软发布的可穿戴式增强现实计算设备,它拥有这么几个关键要素:
它是增强现实产品,即Augmented Reality(AR),AR技术将计算机生成的图像与真实的世界相叠加。类似的产品有图像投射到视网膜上的Google Glass,以及叠加在手机摄像头画面上的手机AR应用。
它拥有是独立的计算单元,自带CPU+GPU+HPU,不需要外接计算机。它的CPU和GPU基于英特尔的14纳米工艺的Cherry Trail芯片,HPU是微软发明的缩写,全称是Holographic Processing Unit,即全息处理单元。按照知乎匿名用户的回答,HPU是一块ASIC(Application-specific integrated circuit),是微软为HoloLens定制的集成电路,对此,我只能说“有钱任性”。
HoloLens不是什么?
看完微软栩栩如生的宣传视频后,如果你的反应是
卧槽,Matrix要来了。
那么你要好好看这一段,因为Matrix是Virtual Reality / VR /虚拟现实,VR的特点是让参与者置身于计算机生成的三维图像世界中,淡化真实的世界。VR近期的代表产品是Oculus Rift,戴上Rift后你是看不到真实世界的。在我看来VR最大的问题是:这个虚拟世界很真实很精彩,但是有什么用呢?也就是说VR只能做到更逼真的三维世界,它无法帮助人们更好地理解真实的世界。
HoloLens也不是Google Glass(以下简称GG),它比GG多了:
三维感知能力,可以对身边的三维场景进行建模。而GG只能看到RGB像素值。
三维渲染能力。
人机交互能力,可以用手势来进行控制。
HoloLens也不是市场上常见的的AR,常见的基于摄像头的AR应用基于摄像头有:
基于丑陋的黑白标记图片的AR
以及基于任意图片的AR。
很炫是吗,但是它们只能检测到图片所在的那个平面。HoloLens比它们都牛,它能检测到各个角度的三维场景!
HoloLens的AR是如何得到三维场景深度信息的?
我们回到AR的定义,想要实现增强现实,必须先理解现实,那么对于HoloLens而言现实是什么呢?是传感器的数据。
传感器是啥?是摄像头。
同样是摄像头,为什么HoloLens就可以感知深度呢?微软的Kinect在这方面很成功,那么是不是HoloLens上放了一台嵌入式的Kinect呢?
答案在下面的原型图片中:
HoloLens拥有有四台摄像头,左右两边各两台。通过对这四台摄像头的实时画面进行分析,HoloLens可覆盖的水平视角和垂直视角都达到120度。
也就是说它采用的是立体视觉/ Stereo Vision技术来获取类似下图的深度图(depth map)。
立体视觉是计算机视觉学科的一个子学科,专注于从两个摄像头的图像数据中得到真实场景中的物体离摄像头的距离。示意图如下:
下面是基本的步骤,查阅OpenCV文档可以了解具体到函数用法:
摄像头校正,undistortion。由于摄像头的镜片出厂时都存在扭曲,为了得到精确的数据需要在使用前进行较正。常用的方法是基于棋盘的各个姿态拍几次,然后计算相机的矩阵参赛。下图便是常见的标定界面。
关注天下网吧微信,了解网吧网咖经营管理,安装维护:
本文来源:不详 作者:佚名