Uploads%2farticles%2f11004%2fproject tango
|
2016-07-31

Google Project Tango 与高通合作,让位置跟踪离消费级手机更近了一步

Tango API 将可以在高通骁龙的 SoC 上完整运行

Project Tango 对大家来说可能已经不陌生了,过去的几年 Google 一直致力于在消费者应用中加入位置追踪(positional tracking)和定位(localization)。虽然早期的平板内置系统级芯片 Nvidia Tegra,但是无论在硬件或者是软件方面,仍存在各种各样的问题。Tegra Soc 的架构并不是真正为移动端 Tango 设备而设计,许多需要在 GPU 和 CPU 中处理的任务被卸载到了例如 ST-M’s Cortex M3 MCUs(用来处理传感器和时间戳)的专用协处理器、计算机视觉加速器 Movidius VPU,以及用来提升 BOM(字节顺序标记)和线路板区域要求(board area requirements)的其他芯片上。

在此前的 SIGGRAPH 大会上,Google 公布了 Project Tango 最近的进展情况,Google I/O 目前而言,优化了 Tango 在传感器融合(sensor fusion)、手势追踪、建模、材质和动作追踪等方面的表现。任何尝试过在把智能手机当做惯性导航(inertial navigation)设备的人都知道,为了避免堆积产生的误差,设备需要不断更新来自外部信息的位置,这种矫正是必需的。

Google Tango 为了避免这个问题做了很多层面的工作,在最高层面,传感器融合被用来联合摄像机数据和惯性元件数据来消除噪点。如果遍历所有的摄像机,会发现这种深度感知(depth sensing)的联合有利于映射(mapping)和增强现实的应用的可视化(visualizing)环境。传统的相机和鱼眼相机的结合可以利用平行视差来进行畸变矫正和完整性检测,但是如果在手机上尝试过这种双镜头的解决方法,这种距离测量是不够精确的。谷歌的研究人员表示在没有锚点的情况下,系统会在每 100 米移动后产生 1 米的误差偏移,这种不小的误差会导致最终无法回到原始区域。然而,Tango 可以重新定位,消除这种累积错误。

通过联想 Phab 2 Pro,Tango 最终走到了面向消费者的道路上。谷歌在秋季发布的 Android Nougat 系统中集成了 Tango 的开源框架。当然,软件只是组成部分之一,如果考虑到之前提到的深度感知相机、鱼眼镜头、和协处理器等等问题,Tango 的支持性依然难以评价。

为了使 Tango 不缩减电池容量和不减少供电效率,高通与谷歌合作使 Tango API 在骁龙的 SoC 上能够完整运行,而不是通过专用协处理器。Tango 完全发挥了骁龙的 SoC 同步时钟这一特性,从而使在之前提到的传感器融合得以实现。除此之外,运算处理是在骁龙 Snapdragon 652/820 ISP 处理器和 Hexagon DSP 信号处理器上进行的,和低功率岛(LPI)集成传感器协处理器一样。其最终结果是 Tango API 可以在零占用 GPU 和低占用 CPU 的情况下运行,从而使调用Tango API 的程序可以在没有处理器限制的情况下运行更复杂的程序。高通提到,Tango 在 S652 和 S820 上的CPU 周期占用低于 10%,在 DSP 上低于 35%。而在 Hexagon Vector Extensions 等的使用上,还能进一步降低 CPU 使用率,目前大部分的 CPU 的使用在 NEON 向量单元(vector units)上。

如上所示就是高通所展示的在联想 Phab2 Pro 手机上运行的一些预加载的手机程序。例如一款 Lowe's 公司(美国知名家具零售商)的家装程序,它能够使用户在实地现场预览家的场景,成像效果非常细致,并且支持家具尺寸测量。具体来说,该设备可以区分墙面和地板,所以用户不会被卡进墙壁内部。家具静止摆放效果良好,不会出现抖动,运动时虚拟物体成像非常快速清晰流畅,确实是令人惊奇,总的说来很难找到非常明显的问题。

目前 Project Tango 仍然存在一些 Bug 需要解决,一些功能需要润色和添加,但基本上 Tango API 已经具备基础功能可被用户使用了。6DOF 移动的的环境追踪缺失会影响到移动 VR 设备,但这对于使用 Tango 的高端设备来说,仅仅启动两个额外的摄像机的需求并不是那么难以实现。但是由于传感器的大小,相对较于智能手机来说,Tango 更可能在平板手机(5.3 到 6.9 英寸)上首先得到应用。

本文由 布格VR 供稿

>>
Back to top btn