AR(Augmented Reality)学习

AR硬件概览

AR硬件发展的驱动力源于计算机处理器、显示技术、传感器、移动网络速率、电池续航等多个领域的技术进步。

目前能够确定的AR硬件类型有以下几种:

• 手持设备

• 固定式AR系统

• 空间增强现实(SAR)系统

• 头戴式显示器(HMD)

• 智能眼镜

单目眼镜:

Google Glass,单眼呈现信息,导航、短信、电话、录像照相等功能,由于是单眼,无法呈现3D效果,且由于外观原因应用场景有限。

双目眼镜:

Meta Glass,双眼呈现影像时,利用双目视差可以产生开发者想要的3D效果。通过对现实场景的探测并补充信息,佩戴者会得到现实世界无法快速得到的信息;而且由于交互方式更加自然,这些虚拟物品也更加真实

双目立体视觉三维测量原理

上图所示为简单的平视双目立体成像原理图,两摄像机的投影中心连线的距离,即基线距离B。两摄像机在同一时刻观看时空物体的同一特征点P,分别在“左眼”和“右眼”上获取了点P的图像,他们的坐标分别为Pleft=(Xleft,Yleft);Pright=(Xright,Yright)。将定两摄像机的图像在同一平面上,则特征点P的图像坐标的Y坐标一定是相同的,即Yleft = Yright =Y。由三角几何关系可以得到如下关系式:

则视差为:Disparity=Xleft-Xright.由此可以计算出特征点P在摄像机坐标系下的三维坐标:

因此,左摄像机像面上的任意一点只要能在右摄像机像面上找到对应的匹配点,就完全可以确定该点的三维坐标。这种方法是点对点的运算,像平面上所有点只要存在相应的匹配点,就可以参与上述运算,从而获取对应的三维坐标。

双目成像的原理简介:

将 3D 成像效果分为三个纬度:远近,前后,深浅。

远近:整个场景在脑海中的远近效果;

前后:图像在屏幕的前(出屏幕效果)或屏幕后;

深浅:场景中各个物体距离所产生的层次;

1、远近调节:

场景远近是左右眼两影像间距离决定的;

立体像在屏幕前时,两影像距离越远则图像越近;

立体像在屏幕后时,两影像距离越远则图像越远;

2、前后调节:

左(右)相机影像在左(右),则图像在屏幕后方;

右(左)相机影像左(右),则图像在屏幕前方;

3、深浅调节:

由 3D 摄像机两个摄像头的间距决定;

间距大则景深大,间距小则景深小;

由于人眼目距在65mm左右,大脑已经习惯此目距的景深效果,我认为对还原真实场景效果来说,摄像头间距65mm还是比较合理。

AR的系统结构

AR的关键技术

目前AR技术的技术难点在于:精确场景的理解、重构和高清晰度、大视场的显示技术。

1、对现实场景的理解和重构

在增强现实系统中,首先要解决“是什么”的问题,也就是要理解、知道场景中存在什么样的对象和目标。第二要解决“在哪里”的问题,也就是要对场景结构进行分析,实现跟踪定位和场景重构。

物体的检测和识别技术

物体检测和识别的目的是发现并找到场景中的目标,这是场景理解中的关键一环。广义的物体检测和识别技术是基于图像的基本信息(各类型特征)和先验知识模型(物体信息表示),通过相关的算法实现对场景内容分析的过程。在增强现实领域,常见的检测和识别任务有,人脸检测、行人检测、车辆检测、手势识别、生物识别、情感识别、自然场景识别等。

目前,通用的物体检测和识别技术,根据不同的思路可以分为两种:一种是从分类和检测的角度出发,通过机器学习算法训练得到某一类对象的一般性特征,从而生成数据模型。这种方法检测或者识别出的目标不是某一个具体的个体,而是一类对象,如汽车、人脸、植物等。这种识别由于是语义上的检测和识别,所以并不存在精确的几何关系,也更适用于强调增强辅助信息,不强调位置的应用场景中。如检测人脸后显示年龄、性别等。另外一种识别是从图像匹配的角度出发,数据库中保存了图像的特征以及对应的标注信息,在实际使用过程中,通过图像匹配的方法找到最相关的图像,从而定位环境中的目标,进一步得到识别图像和目标图像的精确位置,这种识别适用于需要对环境进行精确跟踪的应用场景。

就现阶段而言,识别检测技术的难点之一是技术的碎片化。这一方面是由于每一类对象都会有其独有的特征,而不同特征的提取和处理都需要实现一一对应,这对识别检测是一个巨大的挑战。另一方面,图像本身还受到噪声、尺度、旋转、光照、姿态等因素的影响。近几年来,随着深度学习技术的不断成熟,检测和识别方法也越来越统一,而性能也在不断提高中。

跟踪定位技术

跟踪技术的方法可以分为基于硬件和基于视觉两大类。基于硬件设备的三维跟踪定位方法在实现跟踪定位的过程中使用了一些特殊的测量仪器或设备。常用的设备包括机械式跟踪器、电磁式跟踪器、超声波跟踪器、惯性跟踪器以及光学跟踪等。光学跟踪和惯性跟踪是比较常用的两种硬件跟踪方式,HTC Vive就是采用了光学跟踪和惯性跟踪两种硬件来定位头部的位置。使用硬件设备构成的跟踪系统大多是开环系统,跟踪精确取决于硬件设备自身的性能,其算法的扩展性要差一些,且成本相对较高。

视觉跟踪方法具备更强的扩展性,其系统多为闭环系统,更依赖于优化算法来解决跟踪精度问题。相比于上述基于硬件设备的跟踪方法,计算机视觉跟踪方法提供了一种非接触式的、精确的、低成本的解决方法,但是基于视觉的方法受限于图像本身,噪声、尺度、旋转、光照、姿态变化等因素都会对跟踪精度造成较大的影响,因此更好地处理这些影响因素,研发鲁棒性强的算法就成为下一步AR技术的研究重点。

根据数据的生成方式,视觉跟踪技术的算法可以分为两种,一种是基于模板匹配的方式,预先对需要跟踪的target进行训练,在跟踪阶段通过不断的跟预存训练数据进行比对解算当前的位姿。这类方法的好处是速度较快、数据量小、系统简单,适用于一些特定的场景,但不适用于大范围的场景。

另外一种是SLAM方法,也就是即时定位和地图构建技术。这类技术不需要预存场景信息,而是在运行阶段完成对于场景的构建以及跟踪。其优点是不需要预存场景,可以跟踪较大范围,适用面广,在跟踪的同时也可以完成对于场景结构的重建。但目前这类技术计算速度慢、数据量大、算法复杂度高,对于系统的要求也较高。Hololens和MagicLeap的宣传视频中都展现了这方面技术,而亮风台对相应的技术也在研发当中。

为了弥补不同跟踪技术的缺点,许多研究者采用硬件和视觉混合跟踪的方法来取长补短,以满足增强现实系统高精度跟踪定位的要求。

2、增强现实的显示技术

透射式头盔显示器

目前大多数的AR系统采用透视式头盔显示器实现虚拟环境与真实环境的融合。根据真实环境的表现形式划分,主要有视频透视式头盔显示器和光学透视式头盔显示器两种形式。

视频透视式头盔显示器通过安装在头盔上的微型摄像头获取外部真实环境的图像,也就是通过摄像头来采集真实场景的图像进行传递。计算机通过场景理解和分析将所要添加的信息和图像信号叠加在摄像机的视频信号上,将计算机生成的虚拟场景与真实场景进行融合,最后通过类似于浸没式头盔显示器的显示系统呈现给用户。

虽然视频透射式头盔在显示上不受强光的干扰,具有比较大的视场,但由于真实环境的数据来自于摄像头,因此会造成显示分辨率较低的不利因素。另一方面,一旦摄像机与用户视点不能保持完全重合,用户看到的视频景象与真实景象将会存在偏差,因此会造成在某些领域(特别是工业、军事等领域)出现一些安全隐患。

光学原理的透视式头盔显示器的基本原理则是通过安装在眼前的一对半反半透镜融合呈现出真实场景和虚拟场景。与视频透射式不同的是,光学透视式的“实”来自于真实的光源,经过透视光学系统直接进入眼睛,计算机生成的“虚”则经过光学系统放大后反射进入眼睛,最后两部分信息汇聚到视网膜上从而形成虚实融合的成像效果。

光学透视式头盔相对来说结构简单,分辨率更高,因其能够直接看到外部,真实感和安全性也更强。其缺点是,在室外强光条件下显示效果会受影响。目前Hololens以及亮风台的HiARGlasses都采用了光学透射式的成像方案。

不难看出,两种方案各有优缺点,如何选择最优方案,目前来看,还应基于实际应用场景来进行判断。

由于光学透射式头盔跟实际场景结合更紧密,真实感更强,大多数厂家会选择这种方案。对于透射式头盔显示器来说,单纯的强调厚薄或者视场大小并没有任何实际意义。这是由于厚度和视场是矛盾的,要做得较薄,方便用户使用佩戴,视场就必然变小;想要拥有大视场,则其厚度就必然增大,设备就目前来说也会显得比较笨重,不易佩戴。因此在目前技术依旧存在障碍的情况下,大家都会采取一些折中的方案。

数字光场显示

随着Magic Leap的宣传视频,数字光场这个概念也变得广为人知。这种不采用屏幕来做载体的显示方式,通过记录并复现光场来完成虚拟物体的显示。通过呈现不同深度的图像,使用户在观察近景或远景时,可以实现主动的对焦,这也是光场显示的一大优点。

同样,光场显示也有不同的显示方案,一种方案是采用多层的显示器,如光场立体镜。如Magic Leap采用的是光导纤维投影仪。这套方案的优势是可以做到很大的视场角,显示更加符合人的真实感受。但这一方案同时也具有比较大的挑战性,光场的显示需要比较大的计算量,并且需要有相应的手段记录或者生成想要叠加的虚拟对象相应位置的光源信息,同时还要精细地控制投影的内容和位置,目前这些技术还都处于研究阶段。

尽管存在比较多的挑战,光场显示技术仍旧是非常值得期待的一种成像方式。

AR面临的挑战

移动AR存在两大难点:注册必须极为精准,注册对计算能力和内存的利用必须极为高效。

AR应用在智能手机上的大规模部署仍然存在着下列重大障碍:

1、相机质量与成像处理。智能手机通常配备的相机传感器在弱光条件下表现糟糕:图像模糊,开始出现明显色差。相机传感器硬件通常禁止低层级访问。API只提供了相机传感器的高层级访问,无法控制曝光、光圈及焦距。小型CCD传感器导致相机采样噪点增加,进而严重影响后续CV算法的发挥。图像获取过程中的质量损失很难通过后期处理步骤补偿。

2、电量消耗。电池电量近年来并没有显著提升。相机传感器在以高帧率持续运行时耗电量很大,其主要原因是目前手机的设计用途仍然是拍照,而不是摄影。另外,传感器和网络接口也是耗电大户。运行功能强大的AR应用会让电池迅速耗干。因此,AR应用必须只能设计成供短时间使用,而不是一种“常开”功能。

3、网络依赖性。远程访问大量数据受到几个因素的影响。首先,网络延迟会导致令人不爽的延迟,拖累AR应用的瞬时表现。其次,访问远程数据仅在开了流量套餐时才有可能做到,而流量套餐可能过于昂贵或者无法开通。最后,某些地区的网络覆盖可能不满足条件。于是完全独立的AR应用成为了唯一的可行选择,这就意味着需要在设备上占用大量的存储空间。

4、可视化与交互的可能性。智能手机的外形因素在购买决策中发挥着重要作用。实际上,可接受最大设备的尺寸严格制约了显示屏的大小。交互技术同样存在着类似的限制。多点触控界面或许是最为先进的交互机制,但它在某些特定任务——如像素级的选取上表现糟糕。

理论上讲,针对AR改进未来智能手机需从哪些方面入手已是众所周知。在实践中,AR应用的开发者却要看硬件厂商和服务供应商的脸色,后者做出硬件发展决策的依据是市场预测,而其中可能不含对AR的需求。不过,硬件总体是朝着正确的方向发展的,尤其在移动游戏或移动导航系统的驱动下——而这两者与AR在技术需求方面存在许多共通之处。此外,研究人员意识到目前相机控制方面存在限制,更好的相机API也会因此诞生,比如Frankencamera项目。

计算机视觉面临的挑战:

纹理结构。大多数方法依赖于兴趣点外形上的自然特征,要求环境中各区域纹理足够清晰。兴趣点的主要问题在于,纹理的呈现形式至关重要。尤其在室内场景中,常常会有白墙出现,使得基于自然特征的定位方法很难发挥作用。

光照和天气条件。尽管自然特征描述器通常被设计为不受光照影响,但这一假设只有在描述实际物理特征的观测研究中成立。不幸的是,室外环境中大量以自然画面呈现的特征与实际物理特征并不相关。场景中物体投射的阴影会造成斑点、边角、线条的出现,还会随着光照或天气条件变化而动态移动。因此,存在着大量的会对定位质量产生严重影响的异常因素和不匹配因素,这与匹配算法的选择并无关系。

数据库规模大、易变化。对于室外环境而言,在定位之前必须采集大量数据并处理生成初始模型。利用昂贵设备的实时方法能够处理这一问题:然而,无法访问的区域仍然会造成最终模型中的孔洞(即未能构建地图的区域)。此外,得到的模型仅代表某个时间点的静态快照。环境中的任何变动,如商店橱窗的翻新,咖啡店遮阳伞的开闭,停车场汽车的去留,都会让数据采集生成的模型瞬间过时。另一个重要方面是通信通道(可能是移动网络)中最终模型的分发方式。由于这些模型通常体积颇大,整体还是拆分传输都会带来技术难题。

失准及丢失的传感信息。在室外定位中,GPS和指南针提供了关于设备大致位置和方向的极具价值的绝对信息。不幸的是,传感器并不健壮:在不同的地点,传感信息的准确度可能会有天壤之别。尤其是在狭窄的城市峡谷里,GPS信息可能会偏差100米,甚至会不可用。类似的是,磁干扰会严重影响电子指南针的读数,而磁干扰在人造环境中是不可避免的。

AR(Augmented Reality)学习相关推荐

  1. AR增强现实 Augmented Reality

    增强现实(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动.这种技术最早于1990 ...

  2. 增强现实(AR:Augmented Reality ) 之介绍及应用

    一.什么是增强现实? 当你想知道今天的天气情况的时候,还是在听新闻联播之后的天气预报吗?当你想知道哪辆公车可以回家的时候,还是要挨个公交站牌去找寻么?当你想认识一个漂亮mm的时候,还是要鼓起勇气跑上前 ...

  3. Unity增强现实初学者指南视频教程 A Beginner’s Guide to Augmented Reality with Unity

    Unity增强现实初学者指南视频教程 A Beginner's Guide to Augmented Reality with Unity MP4 |视频:h264,1280×720 (部分1920X ...

  4. ARVE: Augmented Reality Applications in Vehicle to Edge Networks

    ARVE:车辆到边缘网中的增强现实应用 本文为SIGCOMM 2018 Workshop (Mobile Edge Communications, MECOMM)论文. 笔者翻译了该论文.由于时间仓促 ...

  5. AR Kit初步学习总结

    一.AR简介: 增强现实技术(Augmented Reality,简称 AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像.视频.3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世 ...

  6. 增强现实(Augmented Reality)浅谈

    http://www.86ar.com/?p=1693 随着互联网的不断发展,各种需求不断的被发现和改善,Yahoo.Google.Youtube,Facebook.Twitter等的出现掀起一次又一 ...

  7. AR与VR学习该如何开始-探索篇

    1.VR/AR/MR,分别代表Virtual Reality(虚拟现实),Augmented Reality(增强现实)和Mixed Reality(混合现实).三者可以大概分进一个领域,但是VR世界 ...

  8. Augmented Reality Law, Privacy, and Ethics

    Augmented Reality Law, Privacy, and Ethics Law, Society, and Emerging AR Technologies Brian D. Wasso ...

  9. Human Interface Guidelines - Augmented Reality

    Augmented reality 增强现实 Augmented reality (or AR) lets you deliver immersive, engaging experiences th ...

最新文章

  1. 如何彻底卸载mysql(xp)
  2. 我看过的密码学方面的好文章
  3. catch and batch
  4. Spring 建立简单的示例
  5. ccna学习指南笔记9
  6. Android Selector的简写
  7. fastapi学习(二):路径参数获取与GET、POST参数获取
  8. 在Python中使用try-except-else是否是一种好习惯?
  9. python pyz_python-3.x – 如何在Alpine Linux容器上安装pyz...
  10. WhatsApp聊天即时翻译 自动翻译 双向翻译 一键翻译 多开管理
  11. 如何使用手机通过校园无线网在知网免费下载论文
  12. jle汇编_汇编跳转指令集
  13. 【代码随想录】Day6
  14. ffmpeg 合并拼接 mp4视频
  15. 海量数据处理-分而治之和hash映射
  16. 网站模板设计的七大致命错误
  17. O365结合ADFS限制用户登录地址 (一) - 开篇介绍
  18. java 模拟电梯_请使用的Java的多线程知识来编写一个程序,实现一个简单的摩天大楼的电梯模型程序是以一座摩天大楼的多个电梯为背景,用线程、流程控制、随机函数等知识来模拟它。2、电梯的描述:...
  19. jai-imageio-1.1.jar
  20. Cassandra使用简介 - Cassandra Knowledge Base

热门文章

  1. 构造方法与setXxx方法
  2. 206. Reverse Linked List
  3. 【大话设计模式】——浅谈设计模式基础
  4. java动态代理【一】
  5. HDU5583 上海赛铜牌题
  6. 降低噪声和电磁干扰的原则
  7. 让Windows7运行速度更快的BIOS优化设置教程
  8. INNO SETUP 获得命令行参数
  9. blackberry Jvm error 104 错误(Device Simulator)
  10. ue4 4.24启动无响应_UE4项目问题集合