AR开发权威指南:基于AR Foundation
上QQ阅读APP看书,第一时间看更新

第1章 AR Foundation入门

1.1 增强现实技术概述

增强现实(Augmented Reality, AR)技术是一种将虚拟信息与真实世界融合展示的技术,其广泛运用了人工智能、三维建模、实时跟踪注册、虚实融合、智能交互、传感计算等多种技术手段,将计算机生成的文字、图像、三维模型、音频、视频、动画等虚拟信息模拟仿真后,应用到真实世界。增强现实技术考虑了真实世界与虚拟信息的相互关系,虚实信息互相补充,从而实现对真实世界的增强,如图1-1所示。

▲图1-1 AR技术将虚拟信息叠加在真实环境之上从而达到增强现实的目的

1.1.1 AR概述

VR、MR、AR这些英文缩写有时让初学者感到困惑。VR是Virtual Reality的缩写,即虚拟现实,是一种能够创建和体验虚拟世界的计算机仿真技术,它利用计算机生成交互式的全数字三维视场,能够营造全虚拟的环境。MR是Mix Reality的缩写,即混合现实,是融合真实和虚拟世界的技术。混合现实概念由微软公司提出,强调物理实体和数字对象共存并实时相互作用,如实时遮挡、反射等。本书主要关注AR技术,并将在后文详细讲述如何用AR Foundation来开发构建移动端AR应用。

第一个为用户提供沉浸式混合现实体验功能的AR系统是在20世纪90年代初发明的,虚拟装置及系统于1992年在美国空军阿姆斯特朗实验室开发。在AR技术萌芽后,经过无数人的努力,最早将AR技术带到大众视野的产品是Google公司的Google Glass增强现实眼镜,虽然Google Glass项目最终并未能继续下去,但它给整个AR行业带来了生机和活力,AR研究及应用由此进入蓬勃发展时期。2017年Apple公司的ARKit和Google公司的ARCore SDK的推出,把AR从专门的硬件中剥离了出来,使得人们可以通过普通手机体验到AR带来的奇妙感受。AR越来越受到各大公司的重视,技术也是日新月异,百花齐放。

顾名思义,增强现实是对现实世界环境的一种增强,即现实世界中的物体被计算机生成的文字、图像、视频、3D模型、动画等虚拟信息“增强”。叠加的虚拟信息可以是建设性的(即对现实环境的附加),也可以是破坏性的(即对现实环境的掩蔽),并与现实世界无缝地交织在一起,让人产生身临其境的感觉,分不清虚实。通过这种方式,增强现实可以改变用户对真实世界环境的持续感知能力,这与虚拟现实将虚实隔离,用虚拟环境完全取代用户所处的真实世界环境完全不一样。

增强现实的主要价值在于它将数字世界带入个人对现实世界的感知,而不是简单地显示数据,通过与被视为环境自然部分的沉浸式集成来实现对现实的增强。借助先进的AR技术(例如计算机视觉和物体识别),用户周围的真实世界变得可交互和可操作。简而言之,AR就是将虚拟信息放在现实世界中展现,并且让用户和虚拟信息进行互动,AR通过环境理解、注册等技术手段将现实与虚拟信息进行无缝对接,将在现实中可能不存在的事物构建在与真实环境一致的同一个三维场景中并予以展现、衔接融合。增强现实技术将改变我们观察世界的方式,想像在路上用户行走或者驱车行驶,通过增强现实显示器(AR眼镜或者全透明挡风玻璃显示器),信息化图像将出现在用户的视野之内(如路标、导航、提示),并且所播放的声音与用户所看到的场景保持同步,这些增强信息将实时进行更新,从而引发人们对世界认知方式的变革。

1.1.2 AR技术

AR技术是一门交叉综合学科的技术,其涉及数学、物理、工程技术、信息技术、计算机技术等多领域的知识,相关专业术语、概念也非常多,其中重要的概念术语主要有以下这些。

1.硬件

硬件是AR的物质基础,增强现实需要的硬件主要包括处理器、显示器、传感器和输入设备。有些需要一些特殊的硬件,如深度传感器、眼镜,通常这类AR往往价格昂贵,有些则不需要专门的硬件,普通的移动端,如智能手机和平板电脑就能满足,但也通常包括照相机和MEMS传感器,如加速度计、GPS和固态电子罗盘等。

2.显示

在增强现实中叠加的虚拟信息需要借助显示设备反馈到人脑中,这些显示设备包括光学投影系统、显示器、手持设备和佩戴在人体上的显示系统。头戴式显示器,简称头显。头显(Head Mounted Display,HMD)是一种佩戴在前额上的显示装置。HMD将物理世界和虚拟物体的图像放置在用户的眼球视场上,现代HMD常使用传感器进行六自由度监控,允许系统将虚拟信息与物理世界对齐,并根据用户头部运动相应地调整虚拟信息;眼镜是另一个常见的AR显示设备,眼镜相对更便携也更轻巧;移动端如手机屏幕也是AR常见显示设备。

3.眼镜

眼镜(Glasses),这里特指类似近视眼镜的AR显示器,但它远比近视眼镜复杂,它使用相机采集真实环境场景,通过处理器对环境进行跟踪并叠加虚拟信息,并将增强的虚拟信息投射在目镜上。

4.HUD(Head Up Display)

平视显示器(HUD)是一种透明的显示器,可谓是增强现实技术的先驱设备,在20世纪50年代首次为飞行员开发,它将简单的飞行数据投射到他们的视线中,从而让他们保持“抬头”而不用看仪器设备。因为HUD可以显示数据、信息和图像,同时允许用户查看真实世界,所以它也是一种AR显示设备。

5.SAR

空间增强现实(Spatial Augmented Reality,SAR)利用数字投影仪在物理对象上显示图形信息,其系统的虚拟内容直接投影在现实世界中。任何物体表面,如墙、桌、泡沫、木块表面甚至是人体表面都可以成为可交互的显示屏。随着投影设备尺寸的减小,成本、功耗的降低以及3D投影技术的不断进步,SAR也处于快速发展阶段。

6.跟踪

跟踪是AR实现定位的基础,增强现实系统可使用以下跟踪技术中的一种或多种:RGB相机或其他光学传感器、加速度计、GPS、陀螺仪、固态罗盘、RFID、深度相机、结构光、TOF。这些技术为跟踪提供了测量方面的支持。跟踪最重要的是需要跟踪用户头部或虚拟现实设备的姿态,跟踪用户的手或手持式输入设备,提供六自由度交互。

7.网络

随着移动设备、可穿戴设备的普及,AR正在变得越来越受欢迎。但是,虚拟现实往往依赖于计算密集型计算机视觉及人工智能算法,所以对处理及传输延迟方面有非常高的要求。为了弥补单台设备计算能力的不足,有时还需要将数据处理功能移到中心服务器上,这在延迟和带宽方面对网络提出了非常高的要求,而5G技术的发展有利于解决这个问题。

8.输入设备

输入技术包括普通的屏幕输入、手柄输入、将声音翻译成计算机指令的语音识别设备、用户身体运动的肢体识别和手势识别设备等。

9.处理器

处理器负责与增强现实相关的图形及算法运算,使得虚实融合、显示等。处理器接收来自传感器的数据——获取的环境信息,理解注册跟踪环境,生成图像视频模型等虚拟信息并叠加到合适的位置,最后渲染到显示设备上供用户查看。处理器也可从硬盘或者数据库中读取信息,随着技术和处理器的改进,处理器的运算速度越快,增强现实能处理的信息就越多,增强现实效果就越流畅越真实。

10.软件与算法

AR系统的一个关键指标是虚拟信息与现实世界的结合度。AR系统从摄像机图像中获取与摄像机无关的真实世界坐标,这个过程被称为图像配准。这个过程通常由两个阶段组成:第一阶段是在摄像机图像中检测特征点、基准标记或光流。在第一个阶段中可以使用特征检测方法,如角点检测、斑点检测、边缘检测或阈值处理等图像处理方法;第二阶段是用第一阶段获得的数据恢复真实世界坐标系,在某些情况下,场景三维结构应预先计算。在第二阶段中可以使用的数学方法包括射影(极线)几何、几何代数、指数映射旋转表示、卡尔曼滤波和粒子滤波、非线性优化、稳健统计等。在AR中,软件与算法大多与计算机视觉相关,且主要与图像识别跟踪相关,增强现实的许多计算机视觉方法是从视觉测径法继承的。

11.交互

AR中叠加的虚拟信息应该支持与用户的交互,它最令人兴奋的因素是对3D虚拟空间的引入能力,并能在现实中与虚拟信息进行交互。这个交互包括对用户操作的反馈,也包括程序自发的主动交互,如随着距离的不同显示不同的细节信息等。

1.1.3 AR技术应用

AR系统具有3个突出的特点:

① 真实世界和虚拟信息融合;

② 具有实时交互性;

③ 在三维空间中定位AR子流产生的虚拟物体。

AR技术可以将虚拟信息叠加到现实世界之上,因而在很多领域都有广泛的应用前景和发展潜力。AR技术可广泛应用于数字领域。游戏娱乐领域是最显而易见的应用领域,AR游戏最早并非起源于手机,而是起源于NDS。此类游戏大多数的玩法是在桌面上摆放识别卡,然后玩家可通过手机屏幕与识别出来的内容进行交互。2011年任天堂3DS主机内置的“AR游戏”可利用摄像头拍摄“AR卡片”,利用AR技术将摄像头拍摄到的内容以另外一种形式展现在屏幕内;2019年4月,国内AR探索手游《一起来捉妖》上线,这是与Pokémon Go差不多的捉怪游戏。在娱乐、游戏领域中,AR正处于快速发展阶段。

除此之外,AR技术在文学、考古、博物、建筑、视觉艺术、零售、应急管理/搜救、教育、社会互动、工业设计、医学、空间沉浸与互动、飞行训练、导航、旅游观光、音乐、虚拟装潢等领域都有着广阔的应用前景。

提示 

在本书中:1.虚拟对象、虚拟信息、虚拟物体均指在真实环境上叠加的由计算机处理、生成的文字、图像、3D模型、视频等非真实信息,严格来讲这三者是有差别的,但有时我们在描述时并不严格区分这三者;2.Unity、Unity3D均指Unity 3D引擎软件;3.Vertex Shader、顶点着色器、顶点Shader均指顶点Cg代码,Fragment Shader、片元着色器、片元Shader均指片元Cg代码。