合肥新闻网

Niantic深度总结:如何用AR唤起魔幻现实主义,为人类感知设计AR系统

来源:Yingwei.com作者黄岩

Diana Hu是Niantic的工程总监和增强现实平台的负责人。她帮助开发了诸如《Pokemon Go》,《Ingress》和《哈利波特:巫师联盟》等AR游戏。在此之前,她是Escher Reality的联合创始人兼首席技术官。 Escher Reality是一家初创公司,Y Combinator于2017年孵化,后来被Niantic收购。

Diana Hu参与AR约3-4年,自2012年以来,她为不同的产品建立了大规模的机器学习和计算机视觉系统。

几天前,Diana Hu在QCon会议上发表了题为“用增强现实技术唤起魔幻现实主义”的演讲。

1.什么是魔幻现实主义?

戴安娜首先介绍了关于魔幻现实主义的四件事。

例如,《百年孤独》的作者是诺贝尔文学奖获得者加西亚马克斯。他来自哥伦比亚,这本书与马孔多镇有关,它涉及哥伦比亚的许多历史。它描述了一个家庭的日常生活,一个关于孤独的旅程。这本书的有趣之处在于它以新闻和世俗的方式讲述了一系列故事,但这些人物经历了许多看似普通的神奇体验。例如,有些鬼魂变老了,可以飞行的地毯,这似乎是那里的角色最常见的事情。

第二本书是Franz Kafka的《变形记》。它讲述了一个年轻的工作狂的故事。突然有一天,这个年轻人变成了一只昆虫,然后从昆虫的角度感受现实和社会。这本书的有趣之处在于故事的叙述。这种昆虫变形很奇怪,但在故事中,这听起来很正常,好像它只是刚刚发生的常见事情。你醒了,你变成了昆虫,就是这样。

第三本书的作者是村上春树。他是日本作家,书名是《奇鸟行状录》。这是关于冈田寻找失踪猫的侦探故事。这听起来同样正常,但有趣的是,随着故事的展开,他开始在东京发现一系列奇妙的事物。故事也以非常逼真的方式讲述了这个故事,使它看起来像是一个非常神奇的东西,可以出现在我们的日常生活中。

最后的第四本书被改编成一部由洛拉埃斯维(Lola Eszvi)编写的电影《巧克力情人》,讲述了一个女人在制作巧克力时禁止婚姻释放魔法的故事。同样,这些戏剧性的事件在故事中非常普遍。

她说:“上面提到的书籍和作者有什么共同之处?所有这一切都遵循文学写作风格,称为魔幻现实主义,而不是科幻小说或幻想,但神奇的现实主义。学说的一个关键点是它需要一个与世界完全不同的世界,例如《权力的游戏》,《哈利波特》或《星球大战》。一个世界上不存在的世界,一个完全不同的世界。科幻作品也不是神奇的现实主义。它主要描述了一个变化的世界,科学带来了疯狂的进步。“

魔幻现实主义的有趣之处在于它的虚构元素发生在我们的世界中。他们可能发生在你的邻居身上,也许是我告诉过你的故事,或者你祖母告诉你的故事。它对魔法元素有一个有趣的介绍,可以长期用作升华故事和叙事故事,或批评现实社会中发生的事情,如卡夫卡和《变形记》批评社会孤立。

2.反映现实的神奇启示

上述内容之间有什么关系?对于这个对现实的神奇启示,它经常以类似的方式报道,没有任何情感方式来讲述故事,例如“是的,有一个飞毯,但它怎么样?”这就像是以叙事的方式在日常世界中讲述真相,但请注意,这种想象力用于丰富现实,而不是像科幻或幻想作品那样逃避现实。它仍然基于现实,因为如果它只是魔术,它将纯粹是奇思妙想。通过在现实世界中扎根,这将以意想不到的方式创造出美学上令人愉悦的维度。

大多数故事和书籍叙述的一个重要方面是,它以一种迷人且不可实现的方式讲述故事,但同时使它完全真实且可信,以至于你相信飞行。地毯确实会飞,鬼魂会变老,而且由于相关的叙述,它们似乎很常见。

这与增强现实有什么关系? Diana Hu将增强现实定义为在物理世界中包含魔法元素的一种方式。魔术类比是一个数字元素,一个可以出现并无缝融入物理世界的数字角色,遵循物理定律和人类行为,但同时使用幻想元素作为调味品,因为有数字,你可以信息以更有趣的方式表现出来。

3.增强现实

你是如何建立这样一个现实的?有什么要素?

对于魔幻现实主义,它的构图是魔术+现实。至于增强现实,它对应于数字+物理。戴安娜胡指出,建立这样一个现实有三个原则:探索;锻炼和社交。

探索意味着探索我们周围的世界。这意味着有许多故事和冒险等待随处可见。诸如《Ingress》或《Pokemon Go》之类的东西将在您的社区中呈现冒险,您将找到您不知道的历史地标。锻炼是一个方面,我们都需要一点推力,而这种元素类似于嵌入其中,遵循其物理学,遵循身体的自然节奏可以增加AR的可信度。另一方面,社交,我们生来就是社交动物。创造一种与现实世界中的朋友互动的方式,并创造一种方式,我们可以结交新朋友,不仅仅是社交网络意义上的朋友,还有可以真正意义上与您联系的朋友。

Diana Hu继续指出数字世界应该遵循类似于现实世界的规则来保持现实感。作为现实的一部分,世界是多种多样的,有天气等因素会下雨,它会从太阳下来,或者会下雪等等,所以Niantic希望游戏可以展示它。这是《Pokemon Go》中的一个功能。下雨时,您会看到相应的效果将在手机的数字屏幕上正确显示。

4.实施可信的数字元素

如果您实施可信的数字元素怎么办?戴安娜胡说,我们可以向神奇的现实主义大师学习,因为他们编织了所有这些可信的故事,当你阅读它们时,你可以完全沉迷于它们。我们如何为AR做这个?

这主要涉及三个要素:了解世界;视力;创建。

为了获得良好的增强现实体验,您首先需要了解世界才能用数字来改善世界。这意味着您必须充分利用所有不同的传感器,例如相机。你需要开始理解和解释它的含义,语义,并标记你所看到的。了解世界与SLAM和Vince这样的算法密切相关,在这些算法中,您可以通过基于时间的立体视觉捕捉不同相机的位置以进行三角测量并建立3D理解,然后通过特征提取和使用一系列其他组件来构建AR世界说过。为什么AR需要它们?因为要显示数字字符,您需要将它们锁定在世界中。你怎么锁定他们?您必须对您的连贯系统有一个大致的了解,并且SLAM能够构建它。另一点是对视力的需求。为了显示可信的数字对象和数字字符,需要将它们集成到现实世界中。您需要创建一个合理存在于3D空间中的角色。这是一个充满图形,3D动画等的世界。第三点是创造。你拥有所有这些元素,“好吧,我理解这个世界。现在,我可以渲染一些角色,然后你应该如何创建一个角色?增强现实适用于游戏的原因是游戏开发者总是以一种在3D中感觉自然的方式创造世界和体验。构建体验的工具包括Unity和Unreal等。

4.1为人类感知设计AR系统

Diana Hu讨论了构成AR的一些要素。她还提到了与AR相关的重要方面:人类。您必须构建一个响应人类的AR系统。上面提到的许多算法类似于自动驾驶车辆,并且这是两者不同的地方,因为AR系统需要为人类提供非常高的交互性。

戴安娜胡提到米勒反应时间测试。这项研究的核心是,对于任何小于100毫秒的反应,你都会感觉到它立即或实时发生,或者感觉很自然。

一秒钟左右足够快,但不是瞬间的,足够快得到反应,但不够好。如果超过10秒,当你看到加载条时可能会失去用户,因为用户会失去耐心。所以,你需要设计一个小于100毫秒的系统。这是创造难以置信的现实主义或使一切成为现实的关键,支持物质世界来支持我们的感官。

右边的研究是关于心理场景感知过程中的眼动和视觉编码,这表明视网膜需要观察图像大约80毫秒才能完全注册和理解它是什么。

4.2提高响应时间

为了建立一个可信的ar,我们需要在移动设备的限制范围内建立一个足够快的ar系统。它们只提供少量的计算,持续时间不长,相机质量不够好,与机器人或自主车辆系统相比,大多数传感器都处于低端。对于后者,你可以把GPU放在汽车后备箱里。但对于移动设备,你显然不想这样做,因为在我们发展到节目时代的未来,你不会想烧掉用户的头发。有很多这样的限制,所以你必须优化低计算和低耐力,同时实现非常,非常快的响应时间。

我们怎么做?

Niantic采用了上述两个设计原则。一个是你想要尽可能的高效;另一个元素是并行编程。

Diana Hu说:“世界越来越多地转向多核,而不是单一,更快,更快的核,所以我们需要能够利用这一点,让更多核心,而不是一个大核心,处理它。例如iPhone的处理器,甚至三星设备的处理器,四个大核和四个小核设计。四个小核负责快速和简单的计算,四个大核负责计算更高负载任务,所以你需要明智地使用它们,随着时间的推移,这种设计将变得越来越普遍。“

她进一步指出,我们的生活是实时进行的。当您与朋友交谈时,您没有加载栏。您希望与包含该角色的AR体验具有相同的加载栏。他们应该感到自然。

传统的基于云的服务的当前局限之一是,对于大多数基于云的应用程序,远程托管一系列机器。如果您前往亚马逊,弗吉尼亚或亚马逊,俄勒冈州,当您向世界其他地方付款时,潜在的往返旅程将是几百毫秒。仅此数字就超出了我前面提到的不到100毫秒的人类感知。如果它是几百毫秒并且你试图渲染朋友的AR位置,你将大致渲染一帧每秒一位,这是一件非常糟糕的事情。

戴安娜胡然后列出了四个象限:实时;非实时性;可靠的信息;不可靠的信息。显然,真实且可信赖的AR需要位于左上象限。

我们如何到达我们想要的象限?事实上,没有任何神奇的解决方案可以真正结合这两者当然,有一些新的网络协议或一些聪明的解决方案。

Diana Hu解释说,Niantic使用自己的网络协议为AR技术建立实时P2P技术。她指出:“你可以把它想象成WebSockets,但效果更好,不是很麻烦,但是这个软件包针对计算机视觉进行了优化。如果你试图使用云域,你的手机会拨打一次信号进入然后进入云端,然后将云传递到手机信号塔,最后传输到另一部手机。整个往返是几百毫秒,你不会看到你的朋友被包裹在虚拟角色中。图片不一致。因为存在偏差,它会发送前一个位置而不是当前位置。“

“我们所做的是切断往返云的过程,但直接与手机塔对话。这是一种有趣的方法,因为在5G世界中,数据传输速度变得更快。这是另一项计算各种法律的法律,Edholm的带宽法则规定无线通信在某些时候将与有线通信一样快。有物理定律和数据传输方法可以做到这一点。“

“围绕边缘计算的概念正在推动行业将计算放在手机信号塔上。由于我之前提到的所有原因,对于AR来说这将是非常有趣的。你可以开始聚合一些计算并在塔中执行它们。现在我们所做的实际上只是在手机上操作并消耗更多的电池,但我们可以稍后减少。这是行业发展的一个有趣部分,而且我们打赌。现在,你可以减少它从几百毫秒到几十毫秒,然后你达到人类响应时间的神奇预算。“

4.3加速计算

另一个设计考虑因素是加速计算的概念,业界现在正在实施更多核心而不是更大核心。我们如何做到这一点?

Diana Hu首先谈到了High Level的传统增强现实SLAM管道。对于高级别,您有这四个阶段。您有来自像素和IMU的原始传感器输入,即陀螺仪加速度计,然后用于特征提取以更有用的方式提取数据。

戴安娜胡提到我们不应该使用原始图像。例如,对于相机,如果您面向1080P,想象您得到1080×720的矩阵并乘以3,因为它是RGB。这不是压缩的,所以非常大,10到6次方或10到8次方,速度是每秒30到60赫兹。在手机上处理所有这些并且始终支持它很难。

然后你有其他数据,它们都是惯性测量单元的高分辨率数据。惯性测量单元基本上是陀螺仪和加速度计,它可以解释X,Y,Z旋转加速度,它可以显示您是世界上的位置。这是有损数据。从技术上讲,你可以根据它们知道你在这个世界的哪个位置,但由于它们是非常便宜的传感器,它们会积累很多错误。

因此,Niantic致力于特征提取。所谓的特征提取是将原始矩阵(1080×720)划分为3个通道,这里只是一个灰色通道,然后根据场景纹理提取特征。

戴安娜胡进一步解释说:“我们使用传统的计算机视觉算法。当实现原始版本时,例如,每秒帧数,它们可以达到每秒60帧。我们没有对算法做任何改动,这基本上是它只是一个新的编程范例。这是一个新的并发编程框架,称为角色模型。在高级别,“角色”是一个完全隔离的原始计算单元,并使用内部状态来执行某种计算。它们不是它会阻碍任何人,他们有自己的记忆干线。“ (注意:角色模型/角色模型是并发操作的模型。“角色”是一个过程抽象,被视为并发操作的基本单元当角色收到消息时,它可以做出一些决定,创建更多角色,发送更多消息,并决定如何回答下一条消息。角色模型在Carl Hewitt,Peter Bishop和1973年。在Richard Steiger的论文中提出。

这里的关键字是异步的。您没有阻碍其他人或等待其他人,因为如果您开始基准测试和运行这些SLAM系统,有一半时间您只是忙着骑车和等待,而且更改方案的成本非常昂贵。 “角色”系统摆脱了这一点,因为它们是完全独立的计算块。

5.总结

总之,戴安娜胡主要讨论AR中的神奇现实主义;我们可以做些什么来实现这一目标;如何使数字元素可信;以及我们如何为人类感知等建立AR系统的感觉。她认为,至少对于AR来说,实现高响应性并对其进行优化非常重要。

以下是完整的演示视频:

原文链接:

——