技术揭秘:HoloLens到底是怎么工作的?

作者:IVRCHINA    来源:IVRCHINA    时间:2017-01-04 11:40:18
导读:发布至今, HoloLens 虽然吸引了很大一部分人关注, 但总给人一种 "too good to be real" 的感觉。 HoloLens 是怎么把虚拟的 Hologram 和实体的人、 动作及现实物体联系到一起的?

发布至今, HoloLens 虽然吸引了很大一部分人关注, 但总给人一种 "too good to be real" 的感觉。 看过太多现场直播的科幻电影向演示, 可以看看项目主管 Alex Kipman 是怎么向开发者解释 HoloLens 的。

HoloLens 和 Holographic 之间的关系

微软在 Build 大会上带去了 300 台 HoloLens 样机, 供现场演示和报名参加 Holographic Academy 的媒体及开发者体验。 之前, Alex Kipman 已经在 1 月的首次公开演示中提到 Windows 10 中会内置 Holographic API, 欢迎 Oculus 等 AR/VR 设备调用。 而在 Build 的访谈上, Alex 进一步透露了 Hologram 生态的开放性。 根据他的描述,HoloLens 运行的是一个名为 Windows Holographics 的 Windows 10 分支, 这个分支可以运行 Windows Universal 通用应用, 同时也开放给其它厂商的设备搭载。只是现在运行这一系统的公开设备只有 HoloLens, 但 Windows Holographic 和 HoloLens 之间并不存在强绑定关系。

现场的 HoloLens/Hologram 演示直播到底是怎么实现的?

现场的演示直播并不是预先做好的录像 mockup, 而是微软将一台拆解过的 HoloLens 和摄像机连接在一起。 微软在 Build 现场使用了一台 4K/2K 摄像机, 将 HoloLens 中用到的所有传感器放置在摄像机侧面, 另将传感器所连接的屏幕放在镜头前, 最后用一条很粗重的线缆保证画面传输效率。 至于两台 HoloLens 之间怎么共享 Hologram, 我们后面会说到。

 


技术揭秘:HoloLens到底是怎么工作的?

HoloLens 是怎么把虚拟的 Hologram 和实体的人、 动作及现实物体联系到一起的?

HoloLens 内置的多组摄像头会对环境进行实时建模, 在所处空间中建立 X Y Z 立体坐标轴, 此外, 设备内置的声音和图像传感器或检测用户的语音指令、 手势指令和目光方向。 Alex Kipman 提到语音识别使用和 Cortana 一样的后端技术, 可以过滤环境噪音, 确认用户的操作,然后将操作和实际物体及 Hologram 关联起来做出响应。 他还提到, HoloLens 会识别环境中的平面, 所以可以把 HoloLens 和桌面、 地板和墙面等为止关联在一起, 实现 "pin" 或“跟随”的效果。 实时扫描和处理 Hologram 要求每秒处理 TB 级别的数据, 这是现在的 SoC 没法实现的, 所以微软在 HoloLens 中内置了两块自己定制的 HPU (Holographic Processing Unit)来实现这个量级的数据吞吐。


技术揭秘:HoloLens到底是怎么工作的?

多台 HoloLens 之间到底是怎么互动的?

同一个空间内, 这个问题会稍微简单一些。 我们上面说到 HoloLens 会实时对空间进行建模并建立 X Y Z 坐标系, 所以在场的多个用户只要共享 Hologram 和其所在的坐标信息就可以同时从多个角度同时查看一个或多个 Hologram。 至于视频中演示的 Skype 和远程指导修水管等, Alex Kipman 解释称: 这个场景下, 双方会在自己的视线内各从一个 2D 的小窗中看到对方, 然后通过键鼠或手势对现实物体做出箭头、 注释等标记。 而类似 NASA 案例中的多人协作, 每个参与者会以不同颜色的全息等高 Avatar 出现在 Hologram 中, 以此实现贴近于现实的交互。

开发者怎么为 Hologram 开发做准备?

目前为止, 开发者只能通过未来会兼容 Holographic 的 Universal App 通用应用平台进行应用开发。 不过, 简单的通用应用在 Hologram 中会以平面方式呈现, 这与 Holographic 应有的交互理念并不完全符合, 所以开发者应该开始学习 3D 界面开发, 专门对 Hologram 场景优化, 真正实现自然交互。这其中只涉及界面的不同, binary 完全共享。