Polidea实验室:使用iPhone增强现实

在Polidea Labs系列的下一集中,我们以增强现实为主题。 关于Web AR的文章即将发布,如果您想阅读有关我们的VR实验的全部内容,可以在这里找到。 这次,我们正在处理iOS上的增强现实。

苹果无情地对AI话题保持沉默的黑暗时代已经一去不复返了。 苹果公司最近的WWDC真正爆发了利用机器学习的新闻介绍框架。 这些有很多口味。 在Polidea Labs,我们快速浏览了其中两个工具:ARKit和Vision。

您可能要记住,这些都是beta。 (我们希望您像我们一样喜欢Apple的beta版🙂

在使用上述工具进入增强现实之前,需要执行以下几个步骤。

  • 在Mac上安装Xcode 9 Beta,并在设备上安装iOS 11 Beta。 顺便问一下,您知道这意味着什么吗? 无线构建,是的! 最后! 除了不是真的。 Vision和ARKit都做很多繁重的事情,结果他们像疯了一样吞噬了电池。 因此…
  • 请将充电器放在手边。
  • 请耐心等待-Xcode 9尽了最大努力,但往往会发生很多崩溃。
  • 忘掉文档-Apple工程师要做的工作比编写文档要好。

经过所有这些工作之后,您就可以开始了。

ARKit提供了一个平台,可用于开发iOS应用中的AR(增强现实)体验。 这意味着可以从iPhone或iPad的摄像头向实时视图中添加2D或3D元素,以使这些元素好像生活在现实世界中。 ARKit集成了iOS设备的摄像头和运动功能,以创建增强现实体验。 它还提供与SceneKit和SpriteKit的集成,以及与Metal 2的更底层控制。

ARKit可以分为三个主要层:

  • 跟踪 ,它提供有关设备在物理环境中的相对位置的实时信息。 ARKit使用视觉惯性测距法,听起来像火箭科学,对吗? 但简单来说,它使用引擎盖下的AVFoundation和CoreMotion来估算设备相对于其起始位置的3D位置。
  • 场景理解 ,提供平面检测,命中测试或光线估计等功能。 借助这些功能,ARKit使我们能够将任何虚拟内容集成到物理世界中。
  • 渲染。 特别是向SpriteKit和SceneKit开发人员致敬-ARKit为您实现了大多数渲染。 好消息是,据说Unity和Unreal都支持所有ARKit功能(这在我们最近对PolideaLabs的调查之后为我们打开了一些有趣的机会。

您需要做的就是告诉ARSceneView会话 (显示为常规摄像机视图)以指定的配置运行。 ARKit处理所有处理。 您可以创建一个ARWorldTrackingSessionConfiguration ,以六个自由度跟踪设备的移动:三个旋转轴(滚动,俯仰和偏航)和三个平移轴(在x,y和z中移动)。

ARSession对象输出快照( ARFrame对象),其中包含有关会话状态的所有数据。 您将完全根据自己的意愿来做这些事情-想象力是极限(或者实际上,可能是ARKit的神秘崩溃)。

特别感谢 吉卜林先生 提供的美味虚拟蛋糕

苹果(Apple)推出的视觉框架提供了一些强大的图像分析和计算机视觉技术,可以识别设备相机记录的图像和视频中的对象。 Vision建立在CoreML框架(也是Apple的一种崭新的机器学习工具)上,该框架可以使用Xcode友好.mlmodel格式的自训练模型(或现成的模型,例如Apple提供的模型)。

我们如何玩视觉? 基本上,我们创建一个请求处理程序( VNImageRequestHandler ),该处理程序执行来自传递数组的所有请求。 这些请求对象继承自VNImageBasedRequest类,涉及以下任务:

  • 人脸识别
  • 视界检测
  • 对齐两个图像的内容
  • 场景分类
  • 条形码或文本检测
  • 图像追踪

在创建此类请求时,我们传递了一个完成处理程序,其中我们可以在其中处理执行请求时生成的一些基于VNObservation的对象。 这些观察结果所包含的内容取决于所执行请求的类型,请从上面进行选择。

Vision的有趣之处在于,尽管它可以无缝处理图像的大小调整(您无需进行任何缩放),但是在确定图像的方向时却完全无奈。 它要求您显式指定它,否则,所有基于图像的请求都将被保留。

综上所述,Vision提供了一些可通过简单API访问的高级设备上解决方案。 坦白地说,其中有些(例如条形码检测请求)还有很多不足之处。 但是其他请求(例如分类请求)则完全依赖于所使用的CoreML模型,因此在创建(或选择)正确的模型方面还有更多工作要做。

InceptionV3 模型可让88%的人识别唇膏。

如果这些是使开发人员轻松实现移动增强现实的第一步,我认为我们正在朝着正确的方向前进。 当然,即将发布的ARKit和Vision框架更新将带来更好的性能,更少的电池消耗和更高的准确性。 我们正在计算9月正式发布之前的日子。

要创建良好的增强现实体验,需要大量的领域知识。 设计师一定会为此而设。 从开发人员的角度来看,值得庆幸的是,ARKit或Vision之类的工具可以很好地解决这些麻烦,并将它们整齐地缝制,即使它们仍未打磨。

您是否曾经梦想过实时虚拟设计客厅,或者在孩子卧室的地板上描绘睡前故事? 全球各地的人们已经对Apple的新玩具表达了难以置信的热情。 今年秋天的AppStore肯定会给我们带来很多有趣且有用的概念。

莫妮卡·齐隆卡(Monika Zielonka)。 最初在 www.polidea.com上 发布