ARCore之路-前言

一、AR

(一)、什么是AR

这里写图片描述

  增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。
  早在1901年,作家L. Frank Baum第一个提出将电子数据叠加在实现之上产生虚拟与实现混合的思想,当时他把这种技术称之为“字符标识”,这是有记载的最早的虚拟现实的设想,但是,受之于当时的软硬件技术及整体科技水平,这也只能是一种设想。第一个为用户提供沉浸式混合现实体验的功能AR系统是在1990年代初发明的,虚拟装置系统于1992年在美国空军阿姆斯特朗实验室开发。经过无数代人的努力,最早将AR技术带到普通大众视野的是 Google的Google Glass增强现实眼镜,虽然Google Glass项目最终并未能继续下去,但它给整个AR行业带来了生机和活力,AR进入到了蓬勃发展时期。Oculus Rift,微软HoloLens,Magic Leap,HTC vive,AR吸引了很多大公司的加入,技术日新月异,百花齐放。
  增强现实(AR)是对现实世界环境的一种增强,在这种环境中,现实世界中的物体被计算机生成的感知信息“增强”,有时跨越视觉、听觉、触觉、体感和嗅觉等多种感官模式。叠加的感觉信息可以是建设性的(即对自然环境的附加),也可以是破坏性的(即自然环境的掩蔽),并与这样的物理世界无缝地交织在一起,让人产生身临其境的感觉,分不清虚实。通过这种方式,增强现实改变了一个人对真实世界环境的持续感知,而虚拟现实则完全取代了用户的真实世界环境。
  增强现实的主要价值在于它将数字世界带入到个人对现实世界的感知中,而不是简单的数据显示,通过被视为环境的自然部分的沉浸式集成来实现对实现的增强。借助先进的AR技术(例如添加计算机视觉和物体识别),用户周围真实世界的信息变得可交互式和可操作。用简单的话来说AR就是将虚拟信息放在现实中展现,并且让你和虚拟信息进行互动,AR通过技术上的手段能够将现实与虚拟信息进行无缝对接,将在现实中不存在的事物构建一个三维场景予以展现,与现实生活相互衔接。 增强现实将改变我们观察世界的方式,想像您自己行走在或者驱车行驶在路上。通过增强现实显示器(最终看起来像一副普通的眼镜),信息化图像将出现在您的视野之内,并且所播放的声音将与您所看到的景象保持同步,这些增强信息将随时更新,以反映当时大脑的活动。

(二)、AR技术

  硬件
  增强现实的硬件组件有:处理器、显示器、传感器和输入设备。现代移动计算设备,如智能手机和平板电脑都包含这些元素,通常包括照相机和MEMS传感器,如加速度计、GPS和固态罗盘,使它们成为合适的AR平台。
  显示
  在增强现实渲染中使用了各种技术,包括光学投影系统、监视器、手持设备和佩戴在人体上的显示系统。头显(HMD)是一种佩戴在前额上的显示装置。HMD将物理世界和虚拟物体的图像放置在用户的眼球视场上,现代HMD经常使用传感器进行六自由度监控,允许系统将虚拟信息与物理世界对齐,并根据用户头部运动相应地调整虚拟信息。HMD可为AR用户提供移动和协作体验。
  眼镜
  AR显示器可以呈现在类似眼镜的设备上,包括眼镜,它使用相机拦截真实世界视图并通过目镜重新显示其增强的视图,其中AR图像被投影或反射出眼镜的透镜表面。
  HUD
  平视显示器(HUD)是一种透明的显示器,显示数据,而不需要用户远离他们通常的观点。增强现实技术的先驱技术,在20世纪50年代首次为飞行员开发,将简单的飞行数据投射到他们的视线中,从而使他们保持“抬头”而不看不起仪器。眼睛增强现实设备可以用作便携式抬头显示器,因为他们可以显示数据,信息和图像,同时允许用户查看真实世界。许多增强现实的定义只定义它为覆盖信息,这基本上是平视显示器所做的,实际上,增强现实预期包括叠加的感知、感觉、信息之间的登记和跟踪。数据、图像和现实世界的某些部分。
  空间
  空间增强现实(Spatial augmented reality ,SAR)增强现实世界的对象和场景,而不使用显示器,头戴式显示器或手持设备等特殊显示器。SAR利用数字投影仪在物理对象上显示图形信息。SAR的主要区别在于显示器与系统的用户分离。由于显示器不与每个用户相关联,SAR自然地缩放到用户组,从而允许用户之间的并置协作。示例包括着色器灯、移动投影仪、虚拟表和智能投影仪。着色器灯通过投射图像到中性物体来模拟和增强现实,提供了利用简单单元的材料来增强物体外观的机会——投影仪、照相机和传感器。SAR系统可以同时显示在室内设置的任意数量的表面上。SAR支持图形可视化和被动触觉的最终用户,用户能够在提供被动触觉感觉的过程中触摸物理对象。
  跟踪
  现代移动增强现实系统使用以下跟踪技术中的一种或多种:数码相机和/或其他光学传感器、加速度计、GPS、陀螺仪、固态罗盘、RFID、深度相机,这些技术提供了不同的精度和精度水平。最重要的是用户头部或者虚拟现实设备的位置和方向,跟踪用户的手或手持式输入设备,可以提供6自由度交互技术。
  网络
  移动增强现实应用越来越受欢迎,因为移动设备、可穿戴设备的广泛普及。但是,虚拟现实往往依赖于计算密集型计算机视觉算法,所以对处理及传输延迟具有极端的要求。为了弥补单台设备计算能力的不足,通常需要将数据处理上传到中心机器上,这在延迟和带宽方面对网络提出了非常高的要求。尽管存在大量的实时多媒体传输协议,但也需要来自网络基础设施的支持。
  输入设备
  输入技术包括普通的屏幕输入、手柄输入、将用户的声音翻译成计算机指令的语音识别系统、通过视觉检测或从嵌入在外围设备中的传感器来解释用户的身体运动的手势识别系统等等。
  计算机
  增强现实使用计算机生成的图像,计算机负责与增强现实相关的图形及算法运算。计算机接收来自传感器的数据、接收扫描的环境,这些传感器确定物体表面的相对位置,这转化为计算机的输入,然后生成图像或视频,并将其放在接收器上,以便观察者看到。物体表面上的固定标记被存储在计算机的存储器中。计算机也从内存中取出,逼真地向旁观者呈现图像。随着技术和计算机的改进,增强现实将对我们对现实世界的看法产生巨大的变化,计算机的运算速度越快,增强现实在我们的社会中就会变得越灵活和普遍,计算机是增强现实的核心。
  软件与算法
  AR系统的一个关键度量是如何实实在在地将虚拟环境与现实世界相结合,软件必须从摄像机图像中获取与摄像机无关的真实世界坐标,这个过程被称为图像配准,通常这些方法由两部分组成:第一阶段是在摄像机图像中检测兴趣点、基准标记或光流。该步骤可以使用特征检测方法,如角点检测、斑点检测、边缘检测或阈值处理等图像处理方法;第二阶段从第一阶段获得的数据恢复真实世界坐标系,某些方法假设场景中存在已知几何(或基准标记)的对象。在某些情况下,场景三维结构应预先计算,如果部分场景是未知的,同时定位和映射(SLAM)可以映射相对位置。第二阶段的数学方法包括射影(极线)几何、几何代数、指数映射旋转表示、卡尔曼滤波和粒子滤波、非线性优化、稳健统计等。在AR中,软件与算法大多与计算机视觉相关,主要与视频跟踪相关,增强现实的许多计算机视觉方法是从视觉测径法继承的。
  交互设计
  增强现实技术中的交互设计以用户与虚拟物品互动为中心,以提高整体用户体验和感受。由于交互依赖于用户的输入,设计者必须使系统控制更容易理解和可访问。在交互设计中,开发人员使用增强现实技术来补充系统的功能和目的,增强现实技术最令人兴奋的因素是利用3D空间的引入能力,并在现实中与虚拟物品进行交互,如果一个产品的设计中没有交互,那将大的降低其可玩性、娱乐性、实用性。
  视觉设计
  一般来说,视觉设计是用户能够最直观的感受到的信息,为了改善图形界面元素及用户交互,开发人员可以使用视觉提示来通知用户,界面的哪些元素可与之交互,以及如何与它们交互,在使用2D设备时,作为交互面的增强现实应用中,2D控制环境在3D空间中往往面临诸多问题,为了解决这个问题,设计师应该应用视觉提示信息来帮助使用者更好的使用、探索他们的周围环境。

(三)、AR技术的应用

  AR系统具有三个突出的特点:①真实世界和虚拟的信息集成;②具有实时交互性;③是在三维尺度空间中增添定位虚拟物体。AR技术因为可以将虚拟的信息叠加到现实世界之上而在很多领域都有很广泛的应用前景,在相当多的领域对所有人都是有价值的,AR技术可广泛应用于多等领域,有数百种可能的应用,其中游戏和娱乐是最显而易见的应用领域。AR游戏最早的起源并非手机,而是NDS上的AR游戏。 此类游戏大多数的玩法都是在桌面上摆放识别卡,识别卡片后通过手机屏幕与识别出来的内容进行交互。2011年任天堂3DS主机内置的《AR游戏》是利用摄像头拍摄AR卡片来游玩的游戏, 通过利用AR技术,将摄像头拍摄到的内容以另外一种形式出现在屏幕内,由Niantic Lab出品的Ingress与Pokemon GO就都是增强现实类游戏,中国一家公司开发的产品PP GUN也能通过和增强现实显示器连接玩枪战游戏。在娱乐、游戏领域AR正在快速的发展起来。
  除此之外,AR技术在文学、考古、建筑、视觉艺术、商业、应急管理/搜救、教育、社会互动、工业设计、医学、空间沉浸与互动、飞行训练、军事、导航、旅游观光、音乐、零售、虚拟装潢等等领域都有很广阔的应用前景。

二、ARCore

(一)、什么是ARCore

这里写图片描述

  2017年6月6日,苹果发布iOS11系统所新增框架和ARKit,它能够帮助我们以最简单快捷的方式实现AR技术功能。ARKit框架提供了两种AR技术,一种是基于3D场景(SceneKit)实现的增强现实,一种是基于2D场景(SpriktKit)实现的增强现实。ARKit的发布确实大的推动了AR概念的普及,同时也刺激了Google,Android 开发者们也无时不在期待着 Google 进军 AR 领域,没有一个企业比Google在Android手机系统上开发AR SDK更合适。Google也并没有让广大开发者等多久,2017年08月29日,Google在 Android 官方博客上正式发布了一款名为 ARCore 的新软件开发工具包(SDK)的预览版,正式向 AR 领域发力,与 Apple 的 ARKit 相抗衡,该工具包可以为现有及未来的 Android 手机提供 AR 功能。ARCore 是一套用来创建AR的SDK。 官方网站是 https://developers.google.com/ar/develop/。它可以在现下多种流行开发平台中使用。ARCore 利用不同的 API 让手机能够感知其环境、了解现实世界并与信息进行交互,在 Android 和 iOS 上同时提供的 API 支持共享 AR 体验。ARCore 的原理主要是集成了设备Camera中的加速传感器、陀螺仪、上下文识别信息 等功能。首先它从Camera环境中甄别出一些可视的特征, 并通过手势追踪、传感器传来的坐标位移等,进而实现了一个现实世界与虚拟事物的一个映射功能。
  从本质上讲,ARCore 在做两件事:在移动设备移动时跟踪它的位置和构建自己对现实世界的理解。ARCore 的运动跟踪技术使用手机摄像头标识兴趣点(称为特征点),并跟踪这些点随着时间变化的移动。 将这些点的移动与手机惯性传感器的读数组合,ARCore 可以在手机移动时确定它的位置和屏幕方向。除了标识关键点外,ARCore 还会检测平坦的表面(例如桌子或地面),并估测周围区域的平均光照强度。 这些功能共同让 ARCore 可以构建自己对周围世界的理解。借助 ARCore 对现实世界的理解,我们能够以一种与现实世界无缝整合的方式添加物体、注释或其他信息。 可以将一只打盹的小猫放在咖啡桌的一角,或者利用艺术家的生平信息为一幅画添加注释。 运动跟踪意味着可以移动和从任意角度查看这些物体,即使当我们转身离开房间,当回来后,小猫或注释还会在其最初添加的地方。

(二)、ARCore的前生今世

这里写图片描述

  2014年,Google的Tango首次出现,它是Google基于FlyBy授权的VIO技术发展起来的,而且技术也比现在的ARKit和ARCore更先进,比如有深度感知技术和相关硬件,但它需要用到额外的感应器和其它硬件来辅助增强现实,过高的门槛使得很多消费者甚至开发者难以触及,采用Tango应用只有联想的Phab 2 Pro和华硕Zenfone手机 。尽管Google对自家技术很自信,但无奈市场不买账,Tango需要借助更多的传感器辅助现实增强,而AR功能确不是用户的必选项。
  苹果的ARKit上线后,透过ARKit,开发者可以轻松地打造AR应用,而所有升级到iOS 11的设备都能享受其带来的乐趣和帮助,而不需要额外的硬件,好像一下子甩了笨重的Tango几条街。作为老对手,谷歌自然不可能忽视这个市场的潜力,但是Tango的硬件限制实在太多。被苹果这么刺激一下,谷歌就在Tango的基础上提取了ARCore,用来与苹果PK,ARCore提供了Android、IOS、Unity、Unreal、Java等多个平台的API,使其可以将安卓上的AR应用方便的移植到苹果手机,除了让ARCore可以适配Unreal及Unity等主流3D引擎外,还正在开发能够将网页延伸至真实世界的浏览器,透过Java指令将网页中的三维物件给推入真实世界里。
  因此,尽管技术上有所差异,但从来源上来说,ARKit和ARCore是基于FlyBy开发的技术,是苹果与Google在AR领域的最新研发成果。

参考文献

1、维基百科 https://en.wikipedia.org/wiki/Augmented_reality
2、百度百科 https://baike.baidu.com/item/%E5%A2%9E%E5%BC%BA%E7%8E%B0%E5%AE%9E/1889025?fr=aladdin
3、ARCore 概览 https://developers.google.cn/ar/discover/
4、苹果ARKit与谷歌ARCore https://baijiahao.baidu.com/s?id=1577532535842263992&wfr=spider&for=pc

猜你喜欢

转载自blog.csdn.net/yolon3000/article/details/81462939