对Project Tango开发者应该知道什么
(YiViAn 2016年6月10日)智能手机的摄像头可以拍摄照片或者录制视频,但其实并不是真正的摄像头。 但是严格来说,这个摄像头得是多个传感器、 透镜和硬件的组合体。
谷歌研发的Project Tango正是这么一个配备了一些列摄像头、 传感器和芯片的平台, 可以实时对用户周围的环境进行建模。
谷歌工程师Wic Meeussen在不久之前的Google I/O大会上说:“基本上,Tango可以让移动设备去理解并且学习周围的世界。 Tango开辟了全新的应用制作前景。”
Project Tango可以为用户带来沉浸感。 开发商可以通过对现实世界的物体进行建模从而创建增强现实体验。 虚拟现实多人游戏同时也会受益, 因为玩家可以知道感知到身边是否有其他玩家或者物体。 Project Tango可以解决室内物体建模问题, 从而为增强现实开创一个新纪元。
与即将到来的科技产品相比, 我们现在手上所拥有的东西实在是太落后了。 那么对于Project Tango, 开发者们需要知道的东西是什么呢?
● Project Tango的历史
谷歌的Project Tango这个概念最开始是在2014年6月份出现的。 它可以把计算机视觉、 图形处理和先进的视觉传感器植入到智能手机上。 Tango还可以实现动态捕捉, 深度感知和场景学习。
Project Tango是由多个机构和公司共同研发而成的, 这包括:NASA的喷气实验室、 联想、 欧特克、 高通、 英伟达和Open Source Robotics Foundation。 而这个名为Yellowstone的开发者套件从2014年开始就已经在谷歌官网上开售了, 价格为512美元。
这个平板电脑有4百万像素、 两个内置RGB-IR传感器、 以及各个不同的传感器, 这些传感器都可以在一般的智能手机上找到, 例如加速计、 GPS等。 但Yellowstone还加入了动作捕捉和3D深度感知的传感器。
● Project Tango的三个核心概念
Project Tango有三个核心概念: 动作捕捉、 场景学习和深度感知。
动作捕捉: 可以实时定位追踪用户的动作。
在开始讲这个概念之前, 我们需要重温一下物理知识。 在学校时, 学生会学习到XY坐标系, 这是个二维平面, 垂直和水平。 后面学生还会学到第三个维度, Z坐标。
一个自由移动的物体并不仅仅是限制于这三个坐标上的, 物体是具有“自由度”的(DOF)。 我们可以想象一下太空中的卫星。 在X、Y、Z坐标进行平移时有分别会得到三个不同坐标, 也就是三个自由度, 而在X、Y、Z坐标系进行转动的时候又分别得到三个不同的坐标, 也就是三个新的自由度, 所以说一个三维的物体需要6个自由度才能确定其位置。
物体的位置和转动的统称为“Pose”。
Pose数据是Project Tango动作追踪的基础, 并且会绘制出设备的移动路线。
谷歌的介绍是这样子的:
Project Tango的动作捕捉只会提供相对的位置和距离数据, 而不是GPS坐标。 设备并不能通过动作捕捉来了解学习周围的场景,也不能记住以前的场景。 经过长时间的距离移动后, 系统也会发生一些小错误。
场景学习: 如果说动作捕捉只是测量目标物体点到点的运动轨迹, 那么场景学习就是通过学习功能和记忆功能来修正数据。
场景学习是应用了计算机视觉的功能。 在经过一定的区域时, 摄像机将会记忆所经过的区域并且保存为ADF文件(场景描述文件Area Description File)。 场景学习还会记住转弯和曲线, 以及不同的结构。 通过动作捕捉, 你可以发现目标物体的行动轨迹是如何被绘制出来了, 系统也会记住所经过的位置。 这个能力十分重要, 尤其是对增强现实来说。
开发者可以通过Project Tango Explorer或者Project Tango APIs来获取应用程序编程接口(API)文件, 从而处理场景学习, 保存并且加载到应用上。 如果想创建持续的体验, 那么开发者需要通过ADF文件来实现本地化。
谷歌表示场景学习功能在不同的场景中表现效果不同。 在一个纯白色的房间中, 设备会很难辨别场景中的物体, 相反视觉差异较大的场景, 设备的表现会更好。 同时当设备重启的时候, 场景不应该发生太大的变化, 以便设备进行学习(保存ADF文件)。 开发者应该为不同的角度和方向创建不同的ADF文件。
深度感知: 在现实世界中, 人类可以看到不同距离的物体。 我知道我的电脑离我有1米远, 而墙壁离我有3米远。 但是这对于电脑来说并不容易。
Project Tango可以让制作者来选择不个不同的深度感知技术: 结构光技术、 时间间隔技术和立体技术。
Project Tango的深度感知技术在0.5到4米之间的室内表现最好。 另外, 设备不能扫描强紫外线。
Project Tango API通过点云数据来扫描物体的深度信息。
● Project Tango开发者工具包
安卓系统中的Project Tango可以通过C语言、 Java语言和Unity来编辑。 谷歌为每种编程语言都提供API端口和编码模板。
Project Tango开发套件主要包括:
- Explorer: 设备上的Project Tango Explorer可以让开发者自由选择场景学习功能、 点云(深度感知)以及诊断语句。
- Permission: Permissions Manager可以让开发者和用户拥有Project Tango应用的权限。
- Constructor: 这个函数可以让开发者访问场景的3D模型, 并且保存或者导出3D网格。
- ADF Inspector: 一旦开发者创建了ADF文件, 那么这个检查其就可以让开发者查看文件, 并且做出修改。
引用参考:Source