学习ARKit(一)

前言

在2017年6月,苹果2017年的WWDC大会上发布了全新的iOS11系统,我们可以先体验一下它的beta版,在9月19日就有正式版上线了。当然在新的iOS11系统中,我们比较关注的就是新增了ARKit和文件管理系统。本文主要是跟着苹果的官方Document来学习一下ARKit

AR是什么?

AR(Augmented Reality,即增强现实),透过摄影机影像的位置角度精算并加上图像分析技术,让屏幕上虚拟世界能够与现实世界场景进行结合与互动。这种技术估计于1990年提出。随着随身电子产品运算能力的提升,增强现实的用途也越来越广。(摘自维基百科)

那么ARKit带给我们什么呢?

这里有一段苹果给我们提供的视频(要用Safari打开)。
主要的功能大概有以下几个:视觉惯性里程计、场景理解和照明估计、高性能硬件和渲染优化。

视觉惯性里程计

在机器人和计算机视觉问题中,视觉里程计就是一个通过分析处理相关图像序列来确定机器人的位置和姿态。(摘自维基百科)
里程计我们知道它是记录距离的,但在机器人和计算机视觉的领域,不仅仅要知道行驶的距离,而且要知道机器人行驶的整个轨迹(即机器人每个时刻的位置和姿态)。假设在时间t时刻,机器人的位置和姿态信息是(xt,yt,zt,ψt,χt,ϕt),其中xt,yt,zt表示机器人在世界坐标系中的位置信息,ψt,χt,ϕt表示机器人的姿态,分布表示为roll(ψt), pitch(χt),yaw(ϕt)。
确定机器人轨迹的方法有很多,我们这里主要用的是视觉惯性里程计。将一个摄像头(或多个摄像头)刚性连接到一个移动的物体上(如机器人),通过摄像头采集的视频流来确定相机的六个自由度。如果使用一个摄像头,则称为单目视觉里程计,如果使用两个(或者更多)摄像机,则称为立体视觉里程计。

ARKit 使用视觉惯性里程计 (VIO) 以精准地追踪四周的环境。VIO 能结合相机传感器数据与 CoreMotion 数据,这两份数据让设备无需额外的校准,就能以高精度来感测它在房间内的移动。

场景理解和照明估计

使用 ARKit,iPhone 和 iPad 可以分析相机视图呈现的场景,并在房间中找到水平面。 ARKit 可以检测桌子和地板等水平面,并能跟踪及放置物品在较小的特定点上。 ARKit 还能利用相机传感器来估计场景中可用光的总量,并将正确的光亮度应用在虚拟对象上。

高性能硬件和渲染优化

ARKit 可在 Apple A9 和 A10 处理器上运行。 这些处理器提供了具有突破性的性能,可实现快速场景理解,并允许您在现实世界场景上构建出精细迷人的虚拟内容。 您还可以对 Metal,SceneKit 以及 Unity 和 Unreal Engine (虚幻引擎) 等第三方工具中的 ARKit 优化加以利用。

关于AR与ARKit

摘自苹果官网:About Augmented Reality and ARKit
Discover supporting concepts, features, and best practices for building great AR experiences.

任何AR体验的基本要求以及ARKit的定义特征——是创建和跟踪用户居住的现实世界空间与可视化内容建模的虚拟空间之间的对应关系的能力。当你的app显示那些内容(虚拟的)与实时相机图像时,用户能体验到增强的现实:你的虚拟内容是真实世界的一部分的错觉。
在所有AR体验中,ARKit使用世界和相机坐标系,遵循右手定则:y轴向上指向,z轴指向观察者,x轴指向观看者的右侧。
会话配置可以改变坐标系相对于现实世界的起点和方位。AR会话中的每个锚定义了自己的本地坐标系,也遵循右手定则和的z轴指向观察者的约定。例如,ARFaceAnchor定义了一种用于定位面部特征的系统。

世界跟踪的工作原理

为了在真实空间和虚拟空间之间创建一个对应关系,ARKit使用一种称为视觉惯性测距的技术。这个过程将来自iOS设备的运动感应硬件的信息与相机可见的场景的计算机视觉分析相结合。ARKIT识别场景图像中的显着特征,跟踪视频帧中这些特征位置的差异,并将该信息与运动感测数据进行比较,其结果是设备的位置和运动的高精度模型。
世界跟踪还分析和了解场景的内容。使用命中测试方法去寻找真实世界表面与相机图像中的一个点的对应关系。如果在会话配置中启用平面检测,ARKit将检测相机图像中的平面,并报告其位置和大小。你可以使用命中测试结果或在场景中检测平面去放置或与虚拟内容进行交互。

建立高品质的AR体验的注意事项

  1. 设计AR体验可预见的照明条件。
    世界跟踪涉及图像分析,需要清晰的图像。当相机无法看到细节时,例如当相机指向空白墙或场景太暗时,跟踪质量会降低。
  2. 使用跟踪质量信息来提供用户反馈。
    世界跟踪将图像分析与设备运动相关联。如果设备正在移动,即使设备只是微妙移动,ARKit也可以很好地了解场景。过多的动作,太快或者太剧烈地晃动,会导致图像模糊或跟踪视频帧之间的特征距离太大,从而降低跟踪质量。
    ARCamera类提供跟踪状态原因的信息,你可以用它来开发用户界面,告诉用户如何解决低质量跟踪的情况。
  3. 允许平面检测的时间产生明确的结果,并在您获得所需的结果时禁用平面检测。
    平面检测结果随时间而变化,当首次检测到平面时,其位置和范围可能不准确。随着时间的推移,平面仍然在场景中,ARKit会对其位置和程度进行细化。当一个大的平坦表面在场景中时,ARKit可能会在你已经使用平面放置内容之后继续改变平面的位置,范围和变化。

下一节学习ARKit(二)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,718评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,683评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,207评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,755评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,862评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,050评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,136评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,882评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,330评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,651评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,789评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,477评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,135评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,864评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,099评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,598评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,697评论 2 351

推荐阅读更多精彩内容