Project Tango的前世今生
Project Tango是Google 的ATAP(Advanced Technologies and Projects)部门在几年前开发的基于VSLAM技术一种空间探测和自我定位整体方案,通过一些列传感器的信息组合,让集成Project Tango的设备能够像人类一样根据空间环境定位自我并且追踪运动轨迹。通过Tango的技术,可以让移动设备不用借助外部设备就能实现空间定位,类似微软的HoloLens。
ATAP部门经过几年的潜心研究,经过了两代原型机的不断优化和改进,终于今年6月9日联想集团在美国硅谷举办的第二届全球科技创新大会(Lenovo Tech World)上发布了全球首款搭载Tango技术的AR(增强现实)智能手机PHAB2 Pro, Phab2 Pro是第一代可以商用的Project Tango手机,其实这也是第三代Project Tango技术,经过前面两代的不断优化,在设备体积、功耗、关键部件和软件生态环境方面都有了重大的突破,终于在2016年和联想一起合作发布了第一代可以商用的Project Tango设备, 同时Google也正式宣布Project Tango正式更名为Tango,同时启用一个全新的Logo。新Logo由原来的三维坐标上的立方体变成了一个橘黄色的三维立方体,跟Google的整体新Logo风格保持了一致,而且突出了在三维空间感知的能力。第一代Tango设备,,也就是五寸手机平台Peanut,深度信息检测是基于Primesense structured light方案,通过第一代Tango设备的开发,Google基本完成了Tango Core和SDK的框架搭建,也初步验证了Tango的整体空间感知能力,但由于采用了结构光的深度检测信息技术,导致系统的尺寸、重量和散热都无法做到一个真正的手机中去。Tango的第二代产品,在Google内部叫YellowStone,是一个7寸的平板电脑,基于NVDIA Tegra K1处理器和Mantis Vision的structured light深度检测方案,由台湾仁宝代工,虽然这款平板号称上市,但却是限量发售,并且只面向开发者,普通消费者是无法购买的。无法作为第一款商用的原因有二: 首先此款平板电脑由于采用了Tegra K1处理器和Mantis Vision的视频处理芯片,功耗其实比第一代还要严重;其次由于Primesense的机构光技术被Apple收购之后,将无法继续采用结构光的深度检测技术方案,很明显不适合大批量的生产。但是通过YellowStone这款开发者样机,Google初步建立的整体的Tango生态系统,同时也开始引导开发者开始开发基于Tango的应用。Google的第三代Tango产品,就是跟联想一起发布的Phab2 Pro智能手机,Tango部分的整体构架弃用结构光,第一次采用TOF深度检测技术,在整体的功耗、整机尺寸和Tango Core上都做了深度地优化。这款6.4英寸的平板手机拥有三颗摄像头,包括一颗鱼眼镜头和一颗红外传感器,从而实现大量的增强现实应用,产品将于9月上市在美国,售价499 美元。通过Tango的技术,这款手机可以实现类似微软的HoloLens的AR功能。经过这三代Tango产品的演进,2016年下半年,消费者和开发者都能购买到Phab2 Pro,并且基于Google的Tango SDK开发更多新奇的apps,届时整个Tango的Ecosystem将会更加丰富。
Project Tango原理大揭秘
看上去神乎其神的基于Tango的ARVR应用,其实其基本核心就是三大核心技术:运动追踪(Motion Tracking),深度感知(Depth Perception)和区域学习(Area Learning), Google将人眼对世界的客观感知,通过以上三个维度的拆解,利用先进的机器视觉技术和运算,将这三个维度的数据进行整合,最终体现出来就是可以让集成Tango技术的设备能够像人类一样感受空间信息,并且将自身的运动趋势定位到真实的空间中去。
运动追踪(Motion Tracking):
Project Tango的第一个核心技术“运动追踪”,Motion Tracking的三维动态捕捉就是利用了单目视觉技术的升级版Feature Tracking(Google称为特征捕捉)。这个技术是在传统9DOF(惯性测量单元、加速度计和陀螺仪)的运动检测基础上,额外增加了超广角鱼眼Camera,通过超广角鱼眼camera的视觉特征识别补偿,从而消除单纯IMU运动轨迹的累计误差。
当设备在移动的过程中,超广角鱼眼Camera不断地一帧一帧进行拍摄,因为拍摄到的特征点的相对位置在不断变化(这里“变化”是指拍摄到的两帧之间同一个特征点的相对位置变化),通过计算就可以得到超广角鱼眼Camera的移动距离。简单来说Tango设备在不断循环的一个过程就是:拍摄——识别特征点——匹配特征点——筛去错误匹配——坐标换算,通过IMU来捕捉相机的加速度和运动方向。当融合了IMU和Camera的数据之后Project Tango就实现了三维运动追踪。所以Project Tango的运动追踪功能可以理解为基于IMU技术的增强VSLAM,但这个时候是没有深度信息的,深度信息将由后续要介绍的深度检测单元来实现。
Project Tango的运动检测是基于单目camera技术,因此对于大面积没有特征点的环境,比如白墙、全黑环境和玻璃,这些使用环境下都是无法正常工作的。
深度检测(Depth Perception):
Project Tango的深度检测方案其实是基于第三方的硬件基础来实现,从第一代的Primesense结构光方案,到联想Phab2 Pro所采用的TOF技术,其实都不是Google自己所特有的技术,甚至基于RealSense的双目相机方案,理论上来说也能实现深度距离的检测。在介绍Project Tango的深度检测之前,我们先大致介绍下目前主流的3种不同的深度检测方案:
1. 结构光方案,代表Primesense,已经被Apple收购,是通过发射特定图形的pattern或者点阵的激光红外图案,当被测物体反射这些图案,通过摄像头捕捉到这些反射回来的图案,计算上面pattern或者点的大小,跟原始pattern或者点的尺寸做对比,从而测算出被测物体到摄像头之间的距离,也就是我们所说的深度信息。结构光方案目前是业界比较成熟的深度检测方案,很多的激光雷达和3D扫描技术都是采用的结构光方案,但它的问题就是要在激光发射器上安装特定的pattern或者点阵的Filter,一旦有多个设备同时在使用,如果pattern或者点阵相同,那么摄像头就无法正确解析出哪个是正确的反射图案了。
2. TOF方案,代表Infineon/PMD, TOF技术是发射一束经过相位调制的红外激光到被测物体,当红外激光被反射会摄像头,会因为光飞行时间的延迟,导致相位跟发射时的相位有微小的变化,通过计算相位的变化,就可以计算出被测物体到摄像头之间的距离。TOF方案要求发射和接收端要非常高精度的相位同步,否则光线反射回来本身的相位差就很小,如果同步不好,那么检测出来的距离信息误差就非常大,甚至完全无法检测。但TOF方案的优势是可以对每个设备调制不同相位到激光上,从而可以让多个设备同时在一个环境内使用。
3. 双目立体成像方案,代表Intel RealSense技术,所谓双目立体成像就是利用两个摄像头捕捉的图像之前的视场角度差,来计算出被测物体到摄像头的距离,当视场角越大说明距离越近,反之则越远。双面立体成像方案要求两个摄像头之间的距离越远越好,因为远距离物体在2个摄像头中视场角变化很小,因此双目立体成像方案的探测距离最近。不论采用哪种方案,最终都是通过摄像头做一个坐标系XYZ获得三个坐标的点,从而获得一个点的深度信息。如果有深度信息加上运动追踪就可以测不在同一帧的两点之间的距离了。
上述深度检测是检测一帧静态的物体的表面,障碍物,物体的形状等。最终如果能检测到物体反射回来的所有点距离信息,就可以生成类似如下的距离云图,每个点的表面代表实际物体的点离摄像头的距离。图上的点越密集,则检测的整个立体环境的深度信息越细致。当达到每秒30fps或者更高的动态深度检测时,就可以完整地复现整个环境的动态空间信息,类似激光雷达就是采用同样的技术,但激光雷达为了降低整体运算量只检测一个切面,而Project Tango的深度检测是实时的立体空间检测,通过Tango Core优化的算法,配合Motion Tracking超广角鱼眼Camera抽取的特征点,快速地实时把实际环境动态建模,从而避免了海量运算,这也为移动设备能够集成Tango提供了可能性。
区域学习(Area Learning):
通过运动追踪和深度检测,可以获得Tango设备的移动轨迹和周边空间信息,但对于其所处的场景位置还是要进一步学习,否则一旦设备关掉或者进入到两个很相似的空间(比如两个同样大小同样摆设的会议室),则设备之前的运动轨迹如果没有跟区域空间匹配,则运动过程中积累的误差就会不断累计甚至丢失。为此Project Tango专门根据设计了场景学习功能,其核心是把Tango设备检查到的空间深度信息和超广角Camera检查到的特征点匹配成一组场景信息存在Tango设备中,随时跟检查到的新场景(深度和特征点)做匹配运算,一旦发现检查到的新的场景和某个预设的场景中深度和特征点信息匹配,则Tango设备会把自己重新马上定位到预设的场景中去,并且同步修正追踪的数据,为下一次场景匹配做准备,终而复始地做如上的操作,就可以让Tango设备能够像人类一样非常方便地判断自己所处的空间位置和所在场景。其实场景学习是把前面的运动检测和深度检测两个功能做的一个结合,从而做到1+1>2的功效,通过场景学习功能,Tango算法把IMU、摄像头和深度信息集成到一个本地端小型数据库中,通过对数据库的自我扩充和匹配,从而实现场景学习的功能。也就完美地模拟了人眼对真实世界的感观。
如何玩转Project Tango来创造更多商业机会?
Project Tango技术由于采用了这一些特殊的传奇器,同时通过三个主要的功能的应用,可以让设备能够感应周围环境,追踪运动轨迹并能认识场景并虚拟出3D模型。这不但可以实现Google一心想推广的室内导航功能,并且在游戏、娱乐、教育、ARVR和机器人等专业领域,都有广阔的应用前景。
主要应用:
1. 室内导航, 在2016年MWC上,联想就邀请Google一起做了室内导航的Demo,在巴塞罗那的加泰罗尼亚国家艺术博物馆演示了Project Tango的室内导航功能,通过预制或者现场扫描的室内地图,Project Tango会持续用多个摄像头来扫描用户的前方,采用场景学习的功能实时匹配地图中的特征点,在将用户的空间信息确认的基础上,很容易做到如图的室内导航。
Google希望在公共的室内场合中,如大型商场、博物馆、图书馆等,能够通过Project Tango顺利地把室外的Google Maps无缝切换到基于Project Tango技术的室内导航,而且能够在室内导航的过程中,通过云端推送显示沿途信息给用户,比如用户在卢浮宫参观,当他到达蒙娜丽莎的画像的区间时,显示相关关于蒙娜丽莎的相关信息资料。(猜测此功能可能意味着在国内无法享受相应的服务,因为Google在中国大陆目前还是无法提供云服务的)。
2. 虚拟购物:在联想Techworld的发布会上,演示了美国家具巨头Lowe’s(类似宜家)的虚拟购物应用,Johnny用Phab2 Pro演示了这个应用,不知道想要买什么家具的情况下,可以用Phab2 Pro来在家里的实际环境中,虚拟地摆放家具、调整颜色和款式,从而确认哪个家具是最适合的。用户可以围绕虚拟的家具四周来观察家具是否合适,一旦确认了还可以通过apps直接下单快速购买。
3. 教育培训,通过虚拟博物馆,可以让用户足不出户就学习到九大行星的运作,并且近距离观看太阳系的运行;
培训机构可以通过Project Tango实现远程虚拟教育。
虚拟购车体现,可以让用户在家里360度实际感受新车的形态,甚至可以坐到车里面去观察车的内饰,还可以根据自己的爱好调整喷漆颜色,内饰配置。类似Hololens的应用,都可以通过Project Tango来实现。
4. VR游戏:目前的VR头盔设备,不管是Oculus还是HTC Vive,都需要额外摄像头,或者在房间内组建了激光阵列,这种追踪方式被称为“由外而内”的追踪,只能使用在固定场景,而且无法感知到自身周边移动物体(比如另外一个人)是否在VR运行的空间内,VR头盔使用者在使用过程中经常会出现碰伤的情况。目前VR头盔的这些缺陷,会因为Project Tango的场景学习功能而大大改善,Project Tango的各种内置传感器能够“由内而外”地追踪空间环境,从而精确地知道自己在空间中的位置,而且可以把房间内的物体直接3D建模虚拟到VR环境中去,可以让用户在真实环境中看到的场景和行为与虚拟世界保持一致。
在VR游戏中,可以将实际的环境变成VR游戏的场景,家里的桌子就是CS游戏中的障碍物,用户可以实际躲到桌子后面避开机器人的射击,也可以用桌子作为掩体来攻击来袭的机器人。
其实Project Tango的应用还远不止这些,基于Tango的SDK,用户可以随意开发更多的应用,比如VSLAM、盲人导航系统、机器人控制…
如果能将Project Tango做成标准模组,那么可以实现的功能会更广泛,也许某一天你的手机或者VR头盔加上Tango模组,立刻就能让你的设备增加空间感知能力,从而让用户进入到一个完全不同的空间。
期待Project Tango能成为开启下一个技术革命的窗口。
转自:手机技术资讯