标签:
Project Tango类设备能够给开发者在哪些领域带来机会。
Google Project Tango 发展: link
Project Tango --> ATAP (All Things Are Possible,ATAP是Google收购Motorola(后来又卖给了联想)后保留的一个重要部门),更要说起Johnny Lee。
三块技术:
我们可以通过John神的职业道路,由简入繁来看看Project Tango里面的黑科技是如何一步一步实现的。
运动追踪
单目视觉技术的升级版Feature Tracking (Google称为特征捕捉)。特征捕捉如何理解呢? 再回到John神的例子里,我们不再固定接收器的位置了,反而是拿着接收器(这里我们不再叫它接收器了,叫采集设备或相机)移动;而对面只有两个光点的发射器也变成一个一个的光点贴在John神家里屋子的各个角落。
当我们移动相机时不断地一帧一帧进行拍摄,因为拍摄到的光点的相对位置在不断变化(这里“变化”是指拍摄到的两帧之间同一个光点的相对位置变化),通过计算我们可以得到相机的移动距离。简单来说Tango设备在不断循环的一个过程就是:拍摄——识别特征点(个人估计是SIFT点)——匹配特征点——筛去错误匹配——坐标换算。当然Project Tango的运动追踪不仅如此,他还能通过一个内置的6轴惯性传感器(加速度计和陀螺仪)来捕捉相机的加速度和运动方向。
当融合了以上两类传感器的数据之后Project Tango就“完美”(其实还有瑕疵)实现了三维运动追踪。
区域学习
为什么说还有瑕疵的?因为运动追踪只是单纯得到了相机移动的轨迹,然而对于相机所处的场景是零认知。所以一旦设备被关掉,它之前的运动轨迹就会被“忘掉”。最大的问题还是运动追踪中所累积的误差,或者叫漂移,在长距离使用后真实位置会和运算位置有很大差异。
为解决这个问题,John神团队为Tango设备设定了一种学习模式。这应该是他在Google X里面无人驾驶汽车研究成果的冰山一角。这种学习模式理解起来就简单很多了,为了让Tango设备具有一定记忆,而不再像一个被蒙着眼睛的人一样需要靠数自己走了多少步来计算距离,Project Tango可以让用户预先录入某个场景(这里要特别提醒的是,录入的数据不光包括了运动追踪里面所识别的特征点,还包含了场景本身),当用户重回这个场景的时候Tango设备会自动用录入的数据来纠正运动追踪的数据,这个纠正的过程中录入场景里的那些特征点会被当作观测点,一旦发现与当下特征点匹配的观测点,系统便会修正当下的追踪数据。这就是Project Tango的第二大技术核心——区域学习。
深度感知
如果说把深度感知作为Project Tango的第三大技术核心,我觉得有点虚,毕竟Google也是采用的第三方的深度传感器。不过对此Google并没有掖着藏着,而是很大方的表明Tango设备可以选择任意一种现今流行的深度感知技术。而对这项技术的顺利应用多半也要归功于John神在Project Natal的经历了。Kinect一代的推出震动了业界,震动了学术界,同时也把结构光(Structured Light)的概念推广了出去。那么他到底是怎么实现深度检测的呢?检测到的“深度”又是什么概念呢?
结构光顾名思义是有特殊结构(模式)的光,比如离散光斑,条纹光,编码结构光,等等。他们被投射到待检测物体或平面上,看上去就好像标尺一样。根据用处不同,投影出来的结构光也可以分为不可见的红外光斑,黑白条纹可见光,单束线性激光,等等。比如Kinect投射出来的就是红外光斑,设想你玩游戏的时候要是一片黑白条纹光打到你身上,这画面感岂不是很怪。
< Kinect 一代的离散光斑 >
发明者以色列PrimeSense公司的专利图了,他们非常聪明地在红外发射器前面加了一个特殊设计的diffuser(光柵、扩散片)可以使红外光线能从不同角度射出。另一个摄像头再去拍摄这些光斑然后进行计算从而得出每一个光斑所在的深度。每种结构光的扫描精度,所对应的算法,以及应用场景都有所不同。例如用于电子产业元器件锡膏检查(SPI/ AOI)一般就是可见的条纹光。
另外几种结构光就不多做介绍了,总之只需要知道他们对深度感知的精准度会远远高于Kinect这种离散光斑类型的结构光(可以达到微米级),并且算法也有很大出入。
< Kinect 二代的TOF >
TOF(Time of Flight飞翔的时间?)一个激光发射器,一个接收器,一个运算光程的芯片组成。通过计算不同的光程来获取深度信息,它也是一种深度传感器。
深度传感器输出“点云” ---- < “点云”的实时拼接 >
一个技术难点,因为Tango设备是在一边移动一边采集的,如何把上一帧采集的“点云”信息和当下帧采集的“点云”进行匹配,并且显示在同一世界坐标中就是难点所在。
Project Tango巧妙的结合运动追踪的轨迹数据达到了对“点云”的实时拼接。要知道“点云”的数量一般在几百或者上千。算法已经不易,运算量更是大的离谱,而Project Tango还把它做进了移动设备里。
Tango设备就是一种SLAM设备,并且Google把它实现在了移动设备端。John神和他的团队靠的不是魔法,而是对于光学传感器和惯性传感器与计算机视觉技术的巧妙结合:
补充:DayDream VR平台 和 Android N
。。。
标签:
原文地址:http://www.cnblogs.com/jesse123/p/5927305.html