AR干货|没时间解释了,快收藏!
那么,AR这么“红”,到底是凭什么呢?就让小编来告诉你吧!
什么是AR?
AR是增强现实(Augmented Reality)的简称,指通过计算机系统提供的信息增加用户对现实世界感知的技术,将虚拟的信息应用到真实世界,并将计算机生成的虚拟物体、场景或系统提示信息叠加到真实场景中,从而实现对现实的增强。
或许很多人对它的“近亲”VR(虚拟现实)更为熟悉,甚至常常将两者混淆。不过,虽然AR技术的出现源于虚拟现实技术(Virtual Reality,简称VR)的发展,但二者还是存在明显差别的。
AR与VR的区别
虚拟现实(VR)是利用PC模拟出三维空间的虚拟世界,可以提供给用户关于视觉、听觉等感官的模拟,并且能够及时、没有限制地观察三维空间内的事物,从而达到以假乱真的沉浸感。
增强现实(AR)则是通过摄像机影像的位置及角度精算并加上图像分析技术,让屏幕上虚拟世界可以和现实世界场景进行结合与互动。
简单来说,VR技术给予用户一种在虚拟世界中完全沉浸的效果,是另外创造一个世界;而AR技术则把计算机带入到用户的真实世界中,通过听、看、摸、闻虚拟信息,来增强对现实世界的感知,实现了从“人去适应机器”到技术“以人为本”的转变。
什么?还要再简单点?没问题,上图:
这是VR:
而这才是AR:
现在你应该理解二者的不同,并可以成功将它们区分开了吧。很好!那让我们趁热打铁,了解一下AR的技术原理。
AR的技术原理
AR从其技术手段和表现形式上,可以明确分为大约两类,一是Vision based AR,即基于计算机视觉的AR,二是LBS basedAR,即基于地理位置信息的AR。
1.Vision based AR
基于计算机视觉的AR是利用计算机视觉方法建立现实世界与屏幕之间的映射关系,使我们想要绘制的图形或是3D模型可以如同依附在现实物体上一般展现在屏幕上,如何做到这一点呢?本质上来讲就是要找到现实场景中的一个依附平面,然后再将这个3维场景下的平面映射到我们2维屏幕上,然后再在这个平面上绘制你想要展现的图形,从技术实现手段上可以分为2类:
(1) Marker-Based AR
这种实现方法需要一个事先制作好的Marker(例如:绘制着一定规格形状的模板卡片或者二维码),然后把Marker放到现实中的一个位置上,相当于确定了一个现实场景中的平面,然后通过摄像头对Marker进行识别和姿态评估(Pose Estimation),并确定其位置,然后将该Marker中心为原点的坐标系称为Marker Coordinates即模板坐标系,我们要做的事情实际上是要得到一个变换从而使模板坐标系和屏幕坐标系建立映射关系,这样我们根据这个变换在屏幕上画出的图形就可以达到该图形依附在Marker上的效果,理解其原理需要一点3D射影几何的知识,从模板坐标系变换到真实的屏幕坐标系需要先旋转平移到摄像机坐标系(Camera Coordinates)然后再从摄像机坐标系映射到屏幕坐标系。
在实际的编码中,所有这些变换都是一个矩阵,在线性代数中矩阵代表一个变换,对坐标进行矩阵左乘便是一个线性变换(对于平移这种非线性变换,可以采用齐次坐标来进行矩阵运算)。公式如下:
矩阵C的学名叫摄像机内参矩阵,矩阵Tm叫摄像机外参矩阵,其中内参矩阵是需要事先进行摄像机标定得到的,而外参矩阵是未知的,需要我们根据屏幕坐标(xc ,yc)和事先定义好的Marker 坐标系以及内参矩阵来估计Tm,然后绘制图形的时候根据Tm来绘制(初始估计的Tm不够精确,还需要使用非线性最小二乘进行迭代寻优),比如使用OpenGL绘制的时候就要在GL_MODELVIEW的模式下加载Tm矩阵来进行图形显示。
(2) Marker-Less AR
基本原理与Marker based AR相同,不过它可以用任何具有足够特征点的物体(例如:书的封面)作为平面基准,而不需要事先制作特殊的模板,摆脱了模板对AR应用的束缚。它的原理是通过一系列算法(如:SURF,ORB,FERN等)对模板物体提取特征点,并记录或者学习这些特征点。当摄像头扫描周围场景,会提取周围场景的特征点并与记录的模板物体的特征点进行比对,如果扫描到的特征点和模板特征点匹配数量超过阈值,则认为扫描到该模板,然后根据对应的特征点坐标估计Tm矩阵,之后再根据Tm进行图形绘制(方法与Marker-Based AR类似)。
2.LBS-Based AR
其基本原理是通过GPS获取用户的地理位置,然后从某些数据源(比如wiki,google)等处获取该位置附近物体(如周围的餐馆,银行,学校等)的POI信息,再通过移动设备的电子指南针和加速度传感器获取用户手持设备的方向和倾斜角度,通过这些信息建立目标物体在现实场景中的平面基准(相当于marker),之后坐标变换显示等的原理与Marker-Based AR类似。
这种AR技术利用设备的GPS功能及传感器来实现,摆脱了应用对Marker的依赖,用户体验方面要比Marker-Based AR更好,而且由于不用实时识别Marker姿态和计算特征点,性能方面也好于Marker-Based AR和Marker-Less AR,因此对比Marker-Based AR和Marker-Less AR,LBS-Based AR可以更好的应用到移动设备上。
AR系统组成形式
一个完整的增强现实系统是由一组紧密联结、实时工作的硬件部件与相关的软件系统协同实现的,常用的有如下三种组成形式:
1.Monitor-Based
在基于计算机显示器的AR实现方案中,摄像机摄取的真实世界图像输入到计算机中,与计算机图形系统产生的虚拟景象合成,并输出到屏幕显示器。用户从屏幕上看到最终的增强场景图片。它虽然简单,但不能带给用户多少沉浸感。Monitor-Based增强现实系统实现方案如下图所示。
由于这套方案的硬件要求很低,因此被实验室中的AR系统研究者们大量采用。
2.视频透视式
头盔式显示器(Head-mounted displays,简称HMD)被广泛应用于虚拟现实系统中,用以增强用户的视觉沉浸感。增强现实技术的研究者们也采用了类似的显示技术,这就是在AR中广泛应用的穿透式HMD。根据具体实现原理又划分为两大类,分别是基于光学原理的穿透式HMD(Optical See-through HMD)和基于视频合成技术的穿透式HMD(Video See-through HMD)。光学透视式增强现实系统实现方案如下图所示。
3.光学透视式
在上述的两套系统实现方案中,输入计算机中的有两个通道的信息,一个是计算机产生的虚拟信息通道,一个是来自于摄像机的真实场景通道。而在optical see-through HMD实现方案中去处了后者,真实场景的图像经过一定的减光处理后,直接进入人眼,虚拟通道的信息经投影反射后再进入人眼,两者以光学的方法进行合成。
光学透视式增强现实系统具有简单、分辨率高、没有视觉偏差等优点,但它同时也存在着定位精度要求高、延迟匹配难、视野相对较窄和价格高等不足。
AR的现实应用
1. AR游戏玩到嗨
AR技术在游戏方式方面带来了巨大的革新。像大家比较熟悉的《Pokemon Go》、《小龙斯派罗》等,都是非常不错的AR游戏。想象一下,往后的游戏不再需要复杂的场景建模,而是在真实的世界里游戏,同时在真实的世界里又能出现许多虚拟叠加进去的事物,这是一种多么棒的体验!游戏也能摆脱场地与空间的束缚,可以随时随地开始。
2."透视眼"逛博物馆
在底特律艺术学院,参观者可以借助一部搭载Tango技术的手机查看到展出的埃及木乃伊内部结构以及其他展品细节。简单来说,Tango会将扫描获得的木乃伊石棺内部图像叠加到手机拍摄画面上,于是,隐藏在纱布最里面的古埃及骷髅骨架和其他隐藏艺术文物就展现在我们面前。这就相当于你拥有了一双透视眼。
3.足不出户选家具