请选择 进入手机版 | 继续访问电脑版
首页 首页 资讯 行业快讯 查看内容
ARinChina官网

从开始的惊鸿一现到而今的家喻户晓,ARKit为何如此之强!

2017-8-2 10:36| 发布者: Allen

摘要: 为什么ARKit比其他的SDK更好?HoloLens和Tango到底输在哪里?
苹果在最近的WWDC上发布了ARKit,这对增强现实生态系统产生了巨大的影响。开发者们惊喜地发现,终于出现了这样一个功能强大、适用范围又广的AR SDK。不需要摆弄标记、初始化、深度相机或专有的创建工具。毫无疑问的,现在网上已经掀起了广泛的ARKit demo演示的热潮。然而,大多数开发人员并不知道ARKit是如何工作的,也不知道为什么它比其他SDK更好。
  

  
ARKit是如何工作的?
  
技术上,ARkit是视觉惯性测距(VIO)系统,伴随一些简单的二维平面检测。VIO系统可以实时地跟踪你在空间中的位置(你的6自由度姿势)。你的姿势在每帧刷新之间重新计算,大约每秒30次。这些计算是并行完成的。你的姿势通过视觉(相机)系统进行跟踪,通过将现实世界中的一个点与相机传感器上的每一帧像素相匹配。你的姿势也被惯性系统(你的加速度计和陀螺仪-一起称为惯性测量单元或IMU)跟踪。这两个系统的输出通过一个卡尔曼滤波器结合起来,它决定了这两个系统中的哪一个提供了对“真实”位置的最佳估计(称Ground Truth),并通过ARKit SDK发布了这个姿势更新。就像你的汽车里程表追踪汽车行驶的距离一样,VIO系统会追踪你的iPhone在6D空间中行驶的距离。6D指的是xyz轴运动的3D平移,加上xyz轴的3D旋转。

  什么是ARKit

VIO视觉惯性测距系统
  
ARkit的第一个大部分是视觉惯性测距系统(VIO)。它带来的最大好处是,IMU惯性测量单元的读数是每秒1000次,而且是基于用户运动加速度的。“导航推测算法”用于测量IMU读数之间的设备移动。“导航推测算法”基本上是一种猜测,就像我让你走一步,猜出那一步是多少英寸,你会用“导航推测算法”来估算距离。惯性系统中的误差随时间累积,所以IMU帧之间的时间越长,惯性系统的时间越长,如果不从视觉系统得到“重置”,这样跟踪将距离“Ground  Truth”越来越远。
  
视觉/光学测量是根据相机帧速率做出的,通常是30fps,并且是基于距离(帧间的变化)。光学系统通常会在距离上积累误差(和时间到一个小范围),所以你越走越远,误差越大。
  

ARKit使用演示

  
好在每个系统的优点可以抵消另一个系统的弱点。视觉和惯性跟踪系统是建立在完全不同的测量系统上的,没有相互依赖。这意味着相机可以被覆盖,或者可以看到一个几乎没有光学特征的场景(比如白色的墙壁),而惯性系统可以“承载”几帧的负载。另一种方法是,这个装置可以相当静止,而且视觉系统可以比惯性系提供更稳定的姿态。为了获得稳定的跟踪,Kalman的过滤器一直在选择最好的质量姿势。
  
有趣的是,VIO系统其实已经存在了很多年了,在业界也是广为人知了,而且市场上已经有一些应用案例了。因此,苹果使用VIO的事实本身并不意味着什么。我们需要看看他们的系统为何如此强大。
  
简单的平面检测
  
ARKit的第二个主要部分是简单的平面检测。你需要一个“ground”(地面参照)来放置你的内容,否则它们将会惊悚地漂浮在天上。这是通过光学系统检测到的特征(你在演示中看到的那些小点)计算出来的,算法只是把它们平均起来,就像任何3个点定义一个平面一样。如果你做的足够充分,你就能估计出真实的地面在哪里。这些点通常被称为“点云”,这些点/点在一起是一个稀疏点云,用于光学跟踪。稀疏点云只需要占用很少的内存和CPU时间来跟踪,并且在惯性系统的支持下,光学系统可以很好地处理少量的点来跟踪。

  ARKit简单的平面检测

为什么ARKit更好?
  
拿tango,HoloLens来和ARKit做个比较。无论是tango,还是HoloLens,亦或是Vuforia ,它们都和ARKit一样使用了同一个VIO系统.Tango和ARKit甚至同样使用了由FlyBy最初开发的相同的代码库。那么为什么ARKit会后来居上呢?
  
其实ARKit并不比Hololens好(我甚至认为Hololens的追踪器是市场上最好的),但是Hololens的硬件市场并不广泛。微软可能会在Windows智能手机中运送Hololens跟踪器,但我相信他们选择不出于商业原因。因为这将会增加一些成本和时间来校准手机的传感器,但这款手机的销量将会很低,而且微软版本的ARKit也不会让开发者从ios/android系统中切换。

  ARKit VS Hololens

Google本可以在12个月前在大众市场的Android手机中轻松交付Tango的VIO系统,但他们并没有。如果他们那样做了,那么ARKit现在就会是一种追逐,而不是一种突破。我相信,这是因为他们不想为每个OEM都进行独特的传感器校准过程,而Google也并不想为少数几家大的OEM(三星,华为等)进行定制传感器校准,实际上这几个大厂的设备数量就已经会使得。相反,他们几乎告诉OEM厂商“这是硬件的参考设计,采用或者离开”。 (当然这并不简单,但这正是OEM厂商给予的反馈意见)。随着Android已经将智能手机硬件商品化,相机和传感器堆栈是最后的差异化领域之一,所以OEM厂商无法融合Google的需求。谷歌还强制说,深度相机是包装的一部分,这增加了BOM的手机成本(和咀嚼电池),这也是OEM厂商说“不要谢谢”的另一个原因!

  谷歌Tango对比Apple ARkit

因此,ARKit更好的原因是,苹果能够负担得起将VIO算法与传感器紧密结合的工作,并花费大量时间校准它们,以消除姿势计算中的错误/不确定性。
  
然而,值得注意的是,大型OEM系统有一些替代方案。 有很多学术追踪器(ORB,OpenCV等),但它们几乎都是只有光学系统;单RGB或立体声,或深度相机为基础,有些使用稀疏的地图,有些用密集地图,还有一些使用深度地图和其他使用传感器的半直接数据。目前也有有许多创业公司致力于追踪系统,增强像素的性能,但最终任何一个VIO系统都需要硬件建模和校准来增加竞争力。乐于花费大量时间和金钱进行校准的苹果ARkit于是成为了其中的王者!
分享至:
| 人收藏

相关阅读

最新活动
  • 科学家首次使用3D打印创建“生物仿生舌头”
  • ISMAR 2020免费注册来了!
  • 可视化相关学术会议
  • 报道称索尼或为Apple Galss等VR设备供应OLED面板

Copyright © 2013-2019 ARinChina增强现实   All Rights Reserved.陕ICP备13003260号