龙空技术网

如何构建基于移动相机的AR系统

三次方AIRX 149

前言:

如今兄弟们对“a星寻路黑白图怎么制作”可能比较看重,看官们都想要剖析一些“a星寻路黑白图怎么制作”的相关文章。那么小编同时在网上搜集了一些关于“a星寻路黑白图怎么制作””的相关资讯,希望各位老铁们能喜欢,你们一起来了解一下吧!

移动 AR 如今是如何工作的,以及未来又将如何工作?

Mapbox AR 寻路工具: ( )

英国科幻作家,Sir Arthur C. Clark 曾说过:“任何足够先进的技术都无法与魔法区分开来。”

增强现实有可能像魔法一样让我们心生敬畏并感到惊奇。在计算史上,我们将首次有能力模糊物理世界和虚拟世界之间的界限。AR 将加速新的创意经济曙光的到来,在这里,数字媒体可以被带入生活中,并有能力与现实世界产生互动。

AR 体验看起来很神奇,但幕后到底发生了什么?要回答这一点,我们必须看看基于相机 AR 系统的三个基本的原理,以智能手机举例。

计算机是如何知道它在世界中的位置?(定位+地图绘制)

计算机是如何理解世界是什么样的?(几何)

计算机是如何像我们一样来理解世界的?(语义学)

第一部分:计算机是如何知道它在世界中的位置?(定位)

火星漫游者好奇在火星上自拍。资料来源:( )

当美国宇航局的科学家把火星探测器放在火星上时,他们需要一种方法让机器人在不用全球定位系统(GPS)的条件下在另外一个星球上进行自身导航。他们想出来一种叫做视觉惯性里程计算法(VIO)的技术,在不具备 GPS 的条件下,来跟踪漫游者的移动。我们所使用的智能手机也是用这种技术来跟踪自身所在的空间位置和方向的。

1.1 VIO系统由两部分组成

光学系统

惯性系统或惯性测量单元(IMU)

光学系统由透镜、快门和图像传感器这些相机模块组成。惯性系统由测算加速度的加速度计和测量方位的陀螺仪组成。

它们共同帮助您的设备确定它的位置(x,y,z)和方位(俯仰角, 偏航角, 翻滚角),这也是我们所知道的 6 DOF 追踪。

6DOF 的一般定义。来源:( )

当你移动智能手机查看 AR 内容时,本质上是手机首先捕捉环境中的许多的图像,并将它们进行比较来确定位置。同时,对于捕捉到的每一张图片,它会识别出其中独特和有趣的关键特征,如:场景中独特物体的边缘,角,脊等。您的手机通过比较两幅图像及各自的关键特征,并使用从手机 IMU 所获得的传感器数据,可以通过立体计算来确定其位置。这与我们的眼睛如何推断深度非常相似。

通过一种鲁棒和精确的算法(SIFT 尺度不变特征变换)来检测和匹配这两幅图像的特征。

来源:( )

1.2 地图绘制是如何完成的?

当我迷失在一个国外城市时,第一件事就是打开 Google 地图并四处寻找周围的标志性线索(如:地标、星巴克、路标等),以便确定自己处于地图中的什么位置。

对于你的手机去理解它在空间中所处的位置,它首先需要通过“环顾”它的周围来建立并记住一个地图。这个机器可读的地图基本上是一个图表,其中包含了手机所识别到的所有感兴趣的点,以及对他们的描述(例如:颜色和光照)。这些点或者特征共同形成了一个稀疏的点云。

这个地图非常重要,因为当手机迷失方向时,将需要这个地图来重新定位。快速的覆盖、放下或者移动手机时,它会失去追踪功能并且仅能捕捉到一些模糊的图片,这时手机将需要重新定位自己。当手机再次查看场景并识别场景中的关键特征时,会将这些特征与以前所记忆地图上的特征进行比较,当找到匹配时,手机将能够再次找到它所在的空间位置。

1.3 什么是 SLAM(同时定位与地图构建)

SLAM 指的是在更广阔的环境下,允许手机在未知环境中构建并更新地图同时及时跟踪自身在地图中的位置。SLAM 系统包括我们提到过的子系统,如手机的光学系统、惯性系统和地图构建系统。通过硬件和软件的相互作用,您的手机拥有有了这种不可思议的能力来了解它在世界中的位置,并在环境中得到自己的移动轨迹。

1.4 为什么 GPS 并不足够好?

GPS 只能够粗略的估计您在地球上的经纬度,但这并不足够精准。此外,GPS 在地下或者室内环境中不起作用,因为卫星发出的信号在穿过固体物质时会被减弱或者扭曲。

第二部分:计算机是如何理解世界是什么样的?(几何)

当口袋妖怪在 2016 年风靡全球时,我们被现实世界中所看到的栩栩如生、黄色毛茸茸的小怪兽迷住了。然而,我们很快意识到,皮卡丘只是计算机生产的图像被投射到现实世界而已,它也并不清楚这个世界是什么样的。

理想与现实。右边的皮卡丘不知道世界是什么样子。来源: ( )

如今,来到了 2019 年。我们的手机现在有一个难以置信的功能,在 6D.ai 软件的帮助下,能够构建我们的空间环境(3D 重建)。这意味着它能够理解场景中真正物体的形状和结构,使遮挡与碰撞成为可能。遮挡是指虚拟事物具备隐藏在现实世界物体下的能力,碰撞是指虚拟物体与现实世界物体发生碰撞的能力。当虚拟物体能对现实世界的物理做出反应时,就好像它们是真实的一样,这使 AR 体验更具有真实感。

移动手机在 3D 重建领域中技术的巨大进步离不开 6D.ai 的作用。通过这个软件,手机上的单目 RGB 相机拥有了深度传感的能力。它可以扫描环境并捕捉一个密集的点云,然后通过计算几何将其转换成网格。

想象一个网格,就像一个薄薄的无形毯子,覆盖在场景上,勾勒出物体的外部表面。当您移动手机时,这个网格是实时更新,为您的设备提供物理环境中最准确的空间信息。有了这些信息,虚拟的皮卡丘就可以跳到沙发上,走到桌子下面以及跑到厨房柜台后面。

在下面的演示中,我们使用 6D.ai 快速生成物理环境的纹理三维网格,并将虚拟外星植物生长在墙壁、地板和桌子的表面。

视频加载中...

第三部分:计算机是如何像我们一样来理解世界的?(语义学)

可爱警报!告诉我在下面的照片中你看到了什么?

来源: ( )

可能有人说看到了两只狗和两只猫,也可能有人说看到了两只小狗和两只小猫。更棒的回答可能是说,是看到了两只大腊肠小狗和两只俄罗斯小蓝猫。

当计算机看到这个图片时,它只看到了一堆 1 和 0。但是利用卷积神经网络(CNN)模型,可以训练计算机对图片进行定位、检测、分类和分割。在最简单的层面上,卷积神经网络是一个系统,它能够采集像上面这样的源图像,并且通过一系列专门的层来找出它在图片中看到的不同模式。每一层都有过滤器,这些过滤器被训练去识别特定的图案,如:边缘、形状、纹理、角落,甚至更复杂的物体,如狗、猫、人类、汽车或者停车标志。

以 CNN 作为支撑,现在计算机能够完成其他的计算机视觉任务,如物体的检测和分类,语义分割以及实例分割。

来源:( )

3.1 物体检测+分类

物体检测和分类是指为图像中的物体绘制一个包围框,并且给它一个标签,如狗、猫、人等。这里有两种常用的算法:

1、基于分类的算法分为两个步骤。在第一步中,模型选择一个感兴趣的区域,然后尝试使用 CNN 来分类这些区域。模型会对每个选定区域进行预测,直到确信已经检测正在寻找的对象为止。这是一种计算成本较高的方法,因为本质上它是对整个图像来寻找一个目标对象的。

2、基于回归的算法仅需运行一次就能对整个图像进行预测分类以及绘制包围。众所周知,YOLO(You only look once)就属于这类算法,它通常用于实时物体检测。

YOLO 运行下的状态。最先进,超精确,鲁棒和快速实时的目标检测和分类。视频地址:( )

3.2 语义分割

语义分割是一个旨在识别和理解像素图像内容的过程。图像的每个像素都与类标签相关联,如草、猫、树和天空。每个类标签也由唯一的颜色突出显示。

来源:

然而,语义分割不会以不同的方式突出某一类对象的单个实例。例如,有两头牛在图片中,它将会高亮两头牛的交集区域但是不能区分出每头牛。而这时就是实例分割该发挥作用的时候了。

3.3 实例分割

实例分割实际上是一种物体检测和语义分割相组合的方法。首先,模型将利用物体检测画出两只狗各自周围的包围框,然后它将在包围框中执行语义分割,以分割实例。

来源:

这个特别的模型被称为 Mask R-CNN(掩码区域卷积神经网络),由 Facebook AI 研究团队于 2017 年建立。

Mask R-CNN 可以用于实时增强现实吗?

简单说是肯定的,但质量和速度上都需要权衡。Niantic 公司用一个类似的神经网络来推断周围环境中的三维信息,实现了感知遮挡。像人类这样的动态对象能够被实时分割和屏蔽,这样虚拟世界中的皮卡丘和伊布就可以在他们身后奔跑。展示应用实例分割尝试实时变化不同的虚拟发色。

神经网络能够识别场景中不同物体以及其材料(例如:木材,玻璃,布)。因此,当虚拟子弹穿过每一种材料时,会产生不同的动画效果。例如,当子弹穿过织物座椅时,里面所填充的羽毛会被炸出来。

这一切对增强现实的未来意味着什么?

随着计算机学会定位自身,并能够像我们一样看到和理解世界,就意味着我们离虚拟和现实世界的融合又进了一步。

有一天,我们将会创造一个机器可读的 1:1 的世界模型,称为“AR 云”。AR 云还有许多其他名字,例如:“数字孪生世界”,“镜像世界”或者“魔法世界”。就我个人而言,我把它看作是我们世界的数字复制品,它可以完美地覆盖在现实世界之上。

“AR 云将成为计算史上最重要的软件基础设施,远远大于 Facebook 的社交图谱或谷歌的搜索索引”——Ori Inbar,Super Ventures。

AR 云能使每个人都有一个共享体验,而且它也能很好地扩展应用到自动驾驶、物联网、自动化、智能城市或自动导航交付无人机这些领域。

不久,我们将能够编写感知环境的数字产品与现实世界互动。在 2015 年,Niantic 发布了口袋妖怪 Go 概念预告片,它展示了数百人使用他们的宠物精灵在 Timesquare 上同超梦战斗。随着 AR 云、5G、AI 和 AR 眼镜这些关键技术的成熟,这种类型的体验将成为可能。

口袋妖怪 Go 概念预告片地址: ( )

J.K.罗琳曾说:“我们不需要魔法来改变世界,因为我们已经拥有了我们内心所需要的一切力量:我们有能力更好地想象。”随着增强现实的发展,我们的世界将变成一张画布,让我们可以把想象力画在上面。希望这篇文章能够激励你去尝试并创造 AR!

早期的增强现实是以增强人类的视觉为主,技术的发展也予以支持。在这种增强现实(AR)中,摄像机起着主要作用。与电脑(智能手机)配对的摄像头使用计算机视觉(CV)扫描周围环境,内容叠加在摄像头视图上。大量的现代AR应用程序可以很容易地使用智能手机的摄像头来显示真实空间中的三维物体,而不必使用特殊的标记。这种方法有时被称为无标记增强现实(marker-less-AR)。有许多技术用于增强相机视图上的内容。

基准标记和图像

基准标记是通常印在平面上的黑白图案。计算机视觉算法使用这些标记来扫描图像,从而在相机视图中相应地放置和缩放三维对象。早期的AR解决方案通常依赖于基准标记。作为另一种选项,图像也可以用来代替基准标记。基准标记是AR内容创建最精确的机制,通常用于电影行业的运动捕捉(MOCAP)。

三维深度传感

以“你是控制器”为口号,微软的Kinect是增强现实研究的革命性设备。它是一个三维深度传感相机,可以识别和绘制空间数据。3D深度感应在Kinect出现之前就已经出现了,但是Kinect让这项技术变得更加容易使用。它改变了普通计算机观察和增强自然环境的方式。深度感应相机分析和映射空间环境,以便在摄影机视图中放置三维对象。最近一个更主流的深度感应相机将是iPhone X的前置摄像头。

同步定位和映射(SLAM)

为了使机器人或计算机能够在一个环境中移动或增强,它需要绘制环境地图并了解它在其中的位置。同步定位和映射(SLAM)就是一种实现这一点的技术。它最初是为机器人在复杂地形中导航而设计的,甚至被谷歌自动驾驶汽车派上用场。顾名思义,SLAM能够在摄像机和一些传感器的帮助下实时绘制环境地图,从而生成三维地图。计算机可以使用此三维地图在环境中放置多媒体内容。

点云

像微软的Kinect和Intel的real sense和SLAM这样的3D深度感应相机在空间中生成一组数据点,称为点云。点云由计算机参照以在三维环境中放置内容。一旦映射到一个环境中,它们使系统能够记住三维对象在环境中的位置,甚至是在特定的GPS位置。

机器学习+普通摄像机

早期的AR方法除了摄像机外还依赖于大量的传感器。像OpenCV、Vuforia、ARCore、ARKit、MRKit等软件库已经在智能手机等小型计算设备上启用了AR,其精确度令人惊讶。这些库使用机器学习算法在环境中放置3D对象,并且只需要数码相机进行输入。这些算法在传感器需求方面的实用,在很大程度上导致了最近一段时间AR的狂热。

我们已经在图像识别、机器学习、三维图形优化和其他一系列技术挑战方面取得了长足的进步,使这第一波增强现实技术触手可及。我们大多数人都见过AR环境中建筑物的3D建筑模型被展示为AR潜力的顶峰。这只是个开始。

我们已经开始通过我们称之为计算机的小门户来体验我们生活的大部分。这些门户网站有各种不同的名称:笔记本电脑、iPad、智能手机、智能手表、智能音箱等等。即便如此,我们和我们的技术之间似乎也存在着障碍。我们不能和另一边的东西进行身体上的互动。增强现实的想法带来了一个有趣的前景,可能是我们如何与计算机交互的根本转变。

(版权归 AIRX 所有)

标签: #a星寻路黑白图怎么制作