ARKit

为什么ARKit是AR的最好选择h1>

这篇博客是为那些掌握一些科学技术但不是计算机视觉工程师的人而写的. 从科学的角度看, 我知道我所做的一些简化不是百分百的准确, 但我希望这能帮助人们在已有的基础上有更深一层地理解.

ARKit是基于什么样的技术进行构建的h2>

Tango是一个品牌而非真正的产品. 它由硬件参考设计(RGB、鱼眼、深度相机和CPU/GPU)和提供VIO的软件堆栈(运动追踪)、细数映射(区域学习)和致密3D重建组成(深度知觉).

Hololens的软件堆栈完全相同, 除了一些用于处理CPU/GPU进程和节省能源的ASIC码(被称为全息处理单元).

Vuforia也是基本相同, 但它是独立于硬件的.

以上所有都是用相同的VIO系统(Tango和ARKit甚至用了由FlyBy开发的相同的代码库). Hololens和Tango都没有用深度相机追踪(尽管我相信他们即将将深度相机融入一些案例中). 所以ARKi为什么t这么好上, ARKit真的没有比Hololens好在哪里(我甚至认为Hololens的追踪器在市场上是最好的), 但Hololens的硬件没有被广泛使用. 微软原本可以在Windows智能手机上使用Hololens追踪, 但我认为最后微软出于某种商业原因而没有这样做. (因为他们会增加很多成本和时间来校准用于低容量手机的传感器, 并且Microsoft版本的ARKit并不能说服开发商从iOS和安卓转向微软).

12个月前, 谷歌可以很容易地将Tango的VIO系统应用到市场上大量的安卓机上, 但是他们也没有这么做. 如果当时他们这样做了, 那么ARKit将会是从后追赶, 而不是像现在一样拥有突破. 我认为(并不确定)这是因为谷歌不想为每一个OEM制造商都制作一个独特的传感器校准处理器. Tango不同OEM厂商版本各不相同, 谷歌并不想照顾到如此大量的OEM厂商, 它只想对三星和华为等这种拥有大量设备的厂商进行支持. 相反他们可以告诉OEM厂商:“这是硬件的设计参考, 可以选择接受或者放弃. ”(当然这并不是那么简单, 但这也确实是OEM厂商给我的反馈). 由于安卓已将智能手机硬件商品化了, 而相机和传感器是有所差别的最后一块领域了, 所以OEM厂商绝不会去迎合谷歌的想法. 谷歌还强制将深度相机整合进包中, 这也相应的给手机的物料成本增加了很多(并且十分耗电), 这也是厂商拒绝Tango的另一个原因. 自ARKit的发布之日起世界就发生了改变. 我们将很期待看到:1.OEM厂商是否会找到一个Tango的替代系统(他们正在寻找);2.谷歌在硬件设计参考上作出让步(以及相应的控制平台)

所以ARKit相比其他替代方案更好的最终原因是苹果可以将VIO算法紧密耦合到传感器上, 并且话费大量的时间来校准它们以消除在位置计算中的错误和不确定性.

值得一提的是大型的OEM系统有很多替代品. 这儿有很多学术性质的跟踪器(ORB Slam就是一个很好的例子, OpenCV 也有一些可选项)但他们几乎都仅限于光学(单RGB,或立体声, 和/或深度相机为基础, 有些使用稀疏地图, 有些使用密集的, 还有一些深度地图使用来自其他传感器的半直接数据. 达到目的的方法不止一种).

我是一名开发者, 我应该选择哪个呢, 为什么呢h2>

一个很吸引人但未得到充分赏识的方面是世界上只有少数人可以构建如此良好跟踪器. 这些工程师在专业领域的相互交流使得单目VIO在移动领域成为最佳的解决方案. 没有其他的方式可以提供这样的用户体验(到目前为止).

有趣的是, 我并不清楚现在哪些AR初创公司中在AR追踪方面是由那些小的天才团队人员领导的. 拥有在机器人或者其他计算机视觉的相关背景的创始人并不能证明他们的产品能够在如此广泛的环境中健壮的运行.
我稍后再谈一下目前这一代科学家在研究什么. 给个提示:不是VIO.

性能统计

有趣的是, VIO并不是很难使用. 现在已经有很多公开的算法和非常多相应的实现. 但是却很难将它使用好. 我的意思是, 惯性光学系统几乎可以立即聚合到立体地图上, 并且可以用低单位数精度来决定度量标度. 例如, 我们在Dekko上所实现的要求用户在一开始就有一个明确的移动 然后将手机前后移动大约30s才能进行收敛聚合. 建立一个良好的惯性追踪系统需要一些有经验的工程师. 不幸的是, 世界上只有20个人拥有必要的技能和经验. 其中大多数都正在建造巡航导弹跟踪系统或者火星漫游者导航系统等. 而不是消费型的手机.

因此即使你能够接触这些人中的一个, 事情依然取决于现有的软件和硬件是否能够同步以便更大程度地降低错误. 系统的核心包括, 在软件上能够准确建模的IMU, 能够完全访问整个相机堆栈的权限以及栈中每个组件的详细规格, 最为重要的是, IMU和相机需要十分精确地进行时钟同步. 系统需要精确地知道IMU读取的数据对应的捕获帧开始和结束的位置. 这对于连接两个系统是非常必要的, 但是直到现在这也是不可能的, 因为OEM厂商没有理由投资于此. 这就是基于此系统的Dekko ipad2 花费很长时间才能实现聚合的原因. Tango Peanut是第一个能精确时钟同步所有内容的设备, 也是第一个提供良好跟踪功能的消费型手机. 今天, Qualcom等芯片系统都有一个用于所有组件的同步传感器中枢, 这意味着VIO在大多数当前设备上可行, 并配有合适的传感器校准功能.

由于硬件和软件的紧密依赖, 软件开发人员几乎不可能在没有OEM厂商的深度支持的情况下构建一个良好的系统. Google投入了大量资金让一些OEM厂商支持Tango硬件规格. MSFT, Magic Leap等正在设计他们自己的硬件, 这也就是为什么Apple的ARKit如此成功的原因, 因为他们已经能够设计出符合自己的软硬件.

光学校准

当我们在思考IMU时, 记住IMU是用来测量加速度而不是距离或速度是很重要的. IMU读取错误会随着时间的推移积累地非常快. 校准和建模的目标就是确保在X部分距离测量(加速度的双重整合)是足够精确的. 理想情况下, 摄像机是有足够长的时间来弥补由于用户覆盖镜头或者场景中发生其他事情所造成数帧跟踪的丢失.

使用IMU测量距离被称为航迹推算. 这基本上是一个猜测, 但是通过对IMU的行为进行建模, 找出产生错误的所有方式, 然后编写过滤器来减少这些错误, 可以使这个猜测更加精确. 想象一下如果你被要求向前走一步, 然后猜测你走了几英寸这么个场景. 单步猜测会有很大的误差. 但是如果你重复走上千步, 测量每一个步长, 允许知道你走的是哪只脚, 走在什么地板上, 你穿的什么鞋子, 你的移动速度以及你的疲惫程度等等, 那么你对距离的猜测最终会变得非常准确. 这基本上就是IMU校准和建模的原理.

那么对于目前已经存在VIO, 接下来会发生什么, 它会使ARKit变得多余么人惊讶的是, VIO仍然是在追踪数百米范围内最好的方式(对于更长的距离, 系统将需要使用融合到系统中的GPS加上某种地标识别来进行重新定位). 这样做的原因是, 即使其他光学系统也能够像VIO一样精确, 但是它们将仍然需要更多的(GPU或摄像头)功耗, 这在HMD中非常重要. 单目VIO是目前精确度最高,功耗消耗最低, 同时成本也是最低的解决方案.

深度学习在追踪研究界有一定的影响. 到目前为止, 基于深度学习的系统大约是10%的错误, 其中顶级的VIO系统错误率却在个位数. 但它们正在追赶, 并将真正有助于户外重新定位.

深度相机可以通过以下几种方式帮助VIO系统. 在低特征场景中, 深度相机在提高地面实况, 度量标度以及边界追踪的精度方面有很大的帮助. 但是它们非常耗能, 因此只有在非常低的帧率以及帧间使用深度相机和VIO才是有意义的.
它们在户外也不会正常运行, 因为来自太阳光的红外散射会过滤掉深度相机中的红外线. 深度相机的拍摄范围也取决于它们的功耗, 这意味它们只适合在手机上的短距离范围内使用(几米的范围). 另外深度相机在BOM成本方面也是非常昂贵的, 因此OEM厂商避免在大容量手机上使用它们.

立体RGB或鱼眼镜头都有助于看到更大范围的场景(因为立体RGB和鱼眼镜头具有潜在的光学特性. 例如普通镜头可能只会看到白色的墙壁, 但是一个鱼眼设备可以在画面中看到有图案的天花板和地毯 – Tango和 Hololens使用这种方法). 并且相对VIO而言, 它们可以以更低的计算成本来获取更加有深度的信息. 尽管VIO使用较低的BOM和功率也可以达到同样的精度. 由于手机立体摄像头(即使是HMD)之间的距离非常近, 因此手机上深度计算的精度范围也被受到限制(相隔数厘米距离的手机相机在深度计算的精度上可以达到数米).

跟踪管道最有趣的事情是支持在更大的范围进行跟踪, 尤其是在户外数千米的范围. 在这一点上, AR的跟踪相比自动驾驶的跟踪除了使用更少的传感器和更低的能耗外, 几乎没有任何区别. 因为任何设备最终都将在尝试映射更大的区域时时消耗尽空间, 所以要解决这个问题就需要云服务的支持. 这也是最近Google宣布Tango视觉定位服务的原因. 我们将在未来几个月内看到更多相关的东西. 这也是现在每个人都如此关心3D地图的原因.

AR计算机视觉的前景

上述提到有关深度摄像机的所有问题在3D重建中仍然存在, 这也就是它不可广泛使用的原因. 目前正在进行积极的研究, 以便支持使用单个RGB相机来完成真实且实时的3D重建. 大约还需12-18个月才能看到相关的产品. 这就是为什么我认为真正的消费级AR头戴式显示器仍然很遥远的一个主要原因.

那么我们需要弄清楚如何将所有这些惊人的技术扩展到实时支持多个并发用户.

ARKit

AR其他部分的前景

深入研究这些内容已经超出本篇博客的范围, 但是还有很多工作要做来提升技术栈:

  • 光学: 视场, 眼框尺寸, 分辨率, 亮度, 深度, 聚光度重定向都有待解决. 我认为在最终消费级解决方案出现之前, 我们将会看到数个过渡性的头戴式显示器设计. 它们只有有限的功能集, 只期待解决其中的某一个问题(如 交信 , 跟踪或企业使用情况, 或别的东西).
  • 渲染:使虚拟内容与现实世界相一致. 确定真实的光源并将虚拟事物和现实事物进行虚拟匹配, 以便使阴影和纹理看起来更逼真. 这也就是多年来好莱坞特技效果一直在做的内容(所以复仇者联盟看起来十分逼真). 但是对于AR来说, 它是在手机上实时完成的, 无法控制现实世界的灯光和背景等.
  • 输入:解决输入问题还有很长的路要走. 研究表明多模式输入系统在使用时可以提供最好的效果. 有谣言说Apple将采用这种方式. 多模式只是意味着A将I同时考虑各种输入模式(手势, 语音, 计算机视觉, 触摸, 眼睛跟踪等)以便更好地理解用户的意图.
  • GUI和应用程序:对于AR来说, 并没有我们认为的App这么一个东西. 我们想要的仅仅是看一眼Sonos, 虚拟的控制面板就会出现在设备上. 我们并不想要一个小方块状的Sonos按钮. 难道我们想要这么个按钮么们只是想要将需要的控制面板出现在视野中(像战斗机飞行员抬头显示器) 并且和现实中的物体连接起来. 目前还没人知道如何来实现, 但绝对不会是4*6的 格图标.
  • 还有 会问题需要解决. 在我看来, 只有Apple和Snap懂得如何推销时尚, 并且AR头盔显示器的购买也是时尚进行的驱动. 这可能比以上所有的技术问题要更难解决.

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年8月11日
下一篇 2017年8月11日

相关推荐