- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章VR/AR/MR/XR 概念辨析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
。
虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)等业务以其三维化、自然交互、空间计算等完全不同于当前移动互联网的特性,被认为将是下一代通用计算平台。自2012年谷歌发布AR眼镜Google Glass, 2014年Facebook收购VR头显厂商Oculus以来,VR/AR行业历经了2015年至2017年的创业和资本的狂热,2018年的行业退潮。随着2019年底全球5G正式展开部署,VR/AR作为5G核心的商业场景重新被认识和重视,行业重回升势.
2020年虽然受疫情的影响,全球各地生产生活都受到了不同程度的冲击,然而 VR/AR 行业因祸得福,因疫情造成的社交隔离激发了 VR 游戏、虚拟会议、AR 测温等需求爆发。Steam 平台 VR 活跃用户翻倍增长,虚拟会议,云端展览案例层出不穷,当前 VR/AR/MR/XR 各种 *R 概念纷飞,让人眼花缭乱。本期希望能先辨析清楚这几个概念,后续将进一步分析当前的 XR 核心技术,梳理当前应用场景和产业情况,以及展望未来发展.
。
概念:VR 是已包装好的视觉、音频场景数字内容的渲染版本。渲染旨在模拟观察者或用户在应用程序定义的范围内移动时尽可能自然地模拟现实世界中的视觉和音频感官刺激。VR 通常(但非必须)要求用户佩戴头部显示器,以模拟的视觉组件完全取代用户的视野,并佩戴耳机,以向用户提供配套的音频。通常还需要在 VR 中对用户进行某种形式的头部和动作跟踪,以便更新模拟的视觉和音频组件,以确保从用户的角度来看,图像和声源与用户的动作保持一致。还可以提供与虚拟现实仿真进行交互的其他手段,但非必须 [1].
发展历程:虚拟现实VR为梦想而生,让梦成 “真”。1935 年小说家 Stanley Weinbaum 在小说中描述了一款VR眼镜,以眼镜为基础,包括视觉,嗅觉,触觉等全方位沉浸式体验的虚拟现实概念,该小说被认为是世界上率先提出虚拟现实概念的作品。有了方向,接下来就是追梦者的舞台,1957年,电影摄影师Morton Heiling发明了名为Sensorama的仿真模拟器,是通过三面显示屏来形成空间感,无比巨大,用户需要坐在椅子上将头探进设备内部,才能体验到沉浸感,如图1-1左侧.
1968 年美国计算机图形学之父、图灵奖获得者 Ivan Sutherland 开发了第一个计算机图形驱动的头盔显示器 The Sword of Damocles(达摩克利斯之剑),如图 1-1 右侧,它同时也是增强现实的雏形。VR 向用户呈现的是和现实环境阻隔的纯虚拟环境,通常以头部显示器的方式,沉浸感优越,因而主要作为娱乐和社交工具进入大众视野,消费级产品层出不穷,当前整个产业已经趋于成熟.
比较典型的 VR 头显有如下几类:
手机盒子:这类头显的显示效果的好坏,完全取决于眼镜里插入的手机的屏幕分辨率、处理器速度、传感器精度。Google的 Cardboard和三星的Gear VR就属于此类,市面价格最低.
PC/PS4 主机头显:为了达到极优秀的显示效果,它们需要连接 PC(Sony的PSVR是连接PS4),使用PC的CPU和显卡来进行运算。见示意图会有很多连线,观影效果好但是移动便捷性差。比较典型有 HTC VIVO PRO EYE,还有SONY的 PlayStation VR.
。
一体机头显:一体机使用移动芯片(如高通骁龙系列)来进行图像和定位计算。脱离了 PC/PS4 或者手机等外部设备的连线束缚,即开即用,非常方便。当前比较典型的有 Oculus quest,Pico 的 Neo CV。当前一体机已经渐渐成为主流.
。
VR Glass:当前最轻便的 VR 头显,类似主机头显,需要连接手机,用手机芯片来处理数据。比较典型的是华为的 VR 眼镜,眼镜重量 200g, 极为轻便.
VR 的阻断隔离式的沉浸感是优点也是缺点,但是因为和现实的脱节,导致其实用性不足,因此分化出第二条发展路线 AR.
。
概念:AR 是指向用户提供其他信息或人工生成的对象或内容覆盖其当前环境的图像。此类附加信息或内容通常是视觉或听觉的,并且对当前环境的观察可以是直接的,没有中间转换,处理和渲染,或者是间接的,因为它们对环境的感知是通过传感器进行中继的,并且可以得到增强或处理 [1]。人物的第一视角看到的环境仍为现实场景,通过技术手段(显示器、眼镜等)在人眼所见的现实场景中融入虚拟内容,虚拟内容不基于对现实环境的实时理解,只是相对简单的拼凑在一起.
发展历程:增强现实AR是为实用性而生。时间轴如下图所示.
。
AR 的发展一波三折,从最初的原型开始 AR 就采用先进的光学透视式的显示的方式,但是进展并不顺利,沉寂多年。AR 概念是在 1990 年由波音公司的研究员 Tom Caudell 提出的,随后在 ToB 专业领域崭露头角,比如美国空军研发的虚拟帮助系统,哥伦比亚大学的 KARMA 修理帮助系统等。而增强现实走进大众视野是通过平面显示器(电脑、电视、手机)将现实图像和虚拟物品叠加显示的方式达成的,1998 年 AR 第一次用于直播展示橄榄球比赛进攻黄线,而带来革命的是第一个增强现实 SDK ARToolkit,作为第一个 AR 开源框架被发布,使 AR 技术走出专业的研究机构之中,许多普通程序员也都可以利用它开发自己的 AR 应用。现在有多个 AR 引擎,支持手机应用的开发,使 AR 进入到我们的日常生活,但是通过平面显示器的展现方式沉浸感较低.
所以人们并没有放弃沉浸感更高的穿戴设备的 AR 实现,Google 在 2012 年 6 月推出 Google Glass,但是效果不尽如人意,未能成为精品,时至今日虽有消费级 AR 眼镜的出现,但是成熟度不高,近两年极有可能会有突破.
。
概念:MR 是 AR 的一种高级形式,虚拟元素被融入到物理场景中,目的是提供一种虚拟和现实结合的场景,即这些元素是真实场景的一部分 [1]。在 MR 场景下,大部分虚拟内容基于现实理解而产生,因此比纯虚拟化的场景更具有体验上的真实感.
发展历程:混合现实 MR 是将梦境和现实融合。混合现实出现时间比 VR 和 AR 晚,理解存在争议,尤其是同 AR 的边界较难划分。早在 1994 年,Paul Milgram 和 Fumio Kishino 在论文中提出了混合现实的定义,并利用虚拟连续体(Virtuality Continuum)坐标的形式阐述了三者关系。最初的概念见图 1-5,左侧可理解为人裸眼所见的真实物理世界,随着坐标轴向右,对现实世界的虚拟化(或称数字化)程度逐渐增大,AR 阶段所见的视觉信息仍是现实环境为主,到最右侧就是与现实脱钩,处在完全虚拟化的环境中就是 VR。而从真实世界向完全虚拟化环境 VR 的转变过程,统称为 MR,即现实与虚拟的融合过程。(论文中提到了增强虚拟的概念,目前大众接受度不高,没有形成单独的产品。) 。
根据这个定义,MR 最初是一个过程的概念,并非特定技术栈,而在此过程中,按照人眼所见现实与虚拟的结合程度,出现了 VR/AR 这样不同体验的产品类别。但是,随着产业的发展,以微软为代表的一些厂商把 MR 定义成 VR/AR 的融合技术,提供将现实场景虚拟化的体验,此时,人眼所见的虚拟场景是基于现实数字化得来的.
微软是这样区分三者的关系的:在物理世界的视频流中叠加图形的体验是“增强现实”。遮挡视线以呈现数字图像的体验是“虚拟现实”。在增强现实和虚拟现实之间实现的体验形成了“混合现实”.
相比 AR 主要是实现虚拟的对象直接显示在现实世界的图像上,而 MR 是让虚拟物品不仅仅是作为图像出现在现实世界,而是 “以更逼真的存在的方式” 融入现实世界,或者反过来让现实空间的对象,融入到虚拟空间的方式,打破两个空间的隔离性,两个空间的实体可以互相交互,给人一种浑然一体的体验。技术难度在三者中是最高的。MR 是 AR 的增强,与其说 MR 眼镜,不如说有 MR 功能的 AR 眼镜或者 VR 眼镜更恰当。目前主流市场上也仅有微软 HoloLens 和 Magic Leap 等提供 MR 功能的产品,但都不太成熟.
通过下面组图来进一步帮大家一起区分AR和MR。首先看图 1-8 是真实的现实物理的办公室场景.
图 1-9 是识别现实办公室中真实存在的平面后,将虚拟对象狗、地球、显示器、花瓶等是嵌入现实世界图像的平面上。因此,展示内容是一种典型的 AR 场景.
图 1-10,调整环境,使其虚拟化,整个办公室面目全非,但是办公室的边界清晰可见,真实的人化身为一个虚拟形象,现实没有建模的物品会消失如便携电脑,此时数字化的现实场景和虚拟场景是互相理解,融为一体。因而,与 VR 提供的是与人眼所见现实脱钩的另外一个完全数字化的虚拟场景体验完全不同,观察者在此视角下走动时,可以根据眼前虚拟的现实场景,避开现实中的桌子、墙面和人物。因此,在此概念中,MR 可视为 VR 和 AR 的融合技术.
。
概念:XR 是指由计算机技术和可穿戴设备生成的所有真实和虚拟组合环境以及人机交互。代表性的形式有 AR,MR 和 VR 以及在他们之间的交叉场景。虚拟级别的范围从部分感官输入 AR 到完全沉浸式 VR。XR 的一个关键方面是人类体验的扩展,尤其是与存在感(以 VR 为代表)和认知的获得(以 AR 为代表)有关 [1].
发展历程:由于很多时候 MR 和 AR 之间是很难有明确区分的边界,而且三者发展互相有关联技术有交集,因而 2016 年 11 月扩展现实 XR 概念被提了出来,尤其高通对这个概念最为热衷,推出了虚拟现实 / 增强现实一体化的 XR 芯片。根据高通的定义,扩展现实 XR 是一个概括性术语,囊括了增强现实(AR),虚拟现实(VR),混合现实(MR)以及介于他们之间的所有内容。尽管 AR 和 VR 提供了迥然不同的革命性体验,但是相同的基础技术正在推动 XR 的发展.
更早的时候,XR 在视觉领域被提出作为扩展人类可见光谱范围之意,如紫外线红外线等,但是并非和虚拟现实 / 增强现实领域相关的概念,在此不细述.
以上是对XR概念的介绍,后续会对XR的关键技术、应用场景、产业情况以及未来趋势继续讨论.
参考文献 。
[1] Milgram P, Kishino F. A taxonomy of mixed reality visual displays[J]. IEICE TRANSACTIONS on Information and Systems, 1994, 77(12): 1321-1329. 。
[2] Mann S, Furness T, Yuan Y, et al. All reality: Virtual, augmented, mixed (x), mediated (x, y), and multimediated reality[J]. arXiv preprint arXiv:1804.08386, 2018. 。
原文地址:https://mp.weixin.qq.com/s/CeW-uPBjjJhFnfmUEiJznA 。
最后此篇关于VR/AR/MR/XR 概念辨析的文章就讲到这里了,如果你想了解更多关于VR/AR/MR/XR 概念辨析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 10年前关闭。 Improve this qu
我正在开发一个 Android 应用程序。在此应用程序中, Logo 栏显示在所有页面( Activity )上,或者我们可以说它在所有页面上都有标题。这个 Logo 栏有几个图标,如主页、登录、通知
我正在使用 hadoop 使用开源接口(interface) HVPI 处理视频。然而,inputsplit 的实现,更准确地说是在 isSplitableobContext (context, Pa
1. 是什么? MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System
有没有办法使用 c++20s 的概念来检查一个值是否满足某些要求? 假设我正在编写某种使用分页的容器,并且我想让页面大小成为模板参数。 template class container; 我可以使用带
如何在 ArrayList 中循环遍历 ArrayList? 例如,如果我有一个名为 Plants of Plant 对象的 ArrayList。每个 Plant 对象内部都有一个随机数量的花名。我如
如何在UML类图中绘制C++概念? 具体来说,我有以下代码: template concept Printable = requires(T a, std::ostream &where) {
我有兴趣制作一个网站,在访问者访问时闪现整个网络历史记录。我计划使用 JavaScript 来获取每个观看者计算机上的历史记录,并根据他们拥有的内容以不同的速度对其进行动画处理。我的想法是使用 his
有一个模板定义,例如: template void foo( void ) { /* ... */ } 如何定义一个概念,以便N必须为非零正值(N> = 1)? 就像是: template con
封装是信息隐藏还是导致信息隐藏? 正如我们所说,封装将数据和函数绑定(bind)在单个实体中,因此它为我们提供了对数据流的控制,并且我们只能通过一些定义良好的函数来访问实体的数据。因此,当我们说封装导
下面有一个简单的代码片段,它使用以下方式进行编译: g++-9 -std=c++2a -fconcepts 这是试图定义一个需要存在函数的概念。我希望输出是"is",但事实并非如此……知道为什么吗?谢
我有一个普通二元运算符的概念 template concept is_binary_operation = requires (const T& t1, const T& t2) // e.g
我正在c++ 20中实现具有启发式功能的搜索算法。 我试图用类似这样的概念来约束我的算法可以使用的功能: template concept Heuristic = requires(SelfType
我需要了解 SAS 如何读取/执行数据步骤。当我查找有关 SAS 如何读取数据步骤的信息时,我似乎只找到有关它如何读取以进行合并的信息,我不了解与常规数据步骤相关的信息。比方说,我有这行代码: dat
最近我看到一个关于“框架”的问题,如果“框架”有不同的类型或概念。那么,存在不同“类型”的“框架”吗? 例如:NodeJS 是一种“类型”(概念),而 Hibernate ORM 是另一种“类型”(概
如何使用任何技术禁用或清除客户端浏览器 Cookie 我认为使用 javascript 可以用于任何技术 最佳答案 var cookies = document.cookie.split(";");
我正在使用 target = "_blank" 单击链接时生成新选项卡。但是,浏览器会将焦点移至该选项卡。 有没有办法让焦点保持在当前标签页上? 回答摘要 基本上,只需发送一个模拟控件点击的当前事件。
我正在尝试在我的 android/firebase(cloud firestore) 应用程序上添加一项需要其他用户批准/拒绝的功能。例如,当 Air&BnB 上的用户想要预订一个地方时,所有者必须批
这个问题在这里已经有了答案: mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc... expec
public class MyClass { public static void main(String[] args) { System.out.println("Hell
我是一名优秀的程序员,十分优秀!