黑马程序员技术交流社区
标题: 【Android】深度解析VR,AR和MR [打印本页]
作者: Android_Robot 时间: 2016-10-7 17:57
标题: 【Android】深度解析VR,AR和MR
本帖最后由 Android_Robot 于 2016-10-19 10:56 编辑
VR,AR和MR这三个词目前在互联网上非常红,但它们究竟是什么意义?它们之间的异同点是什么?它们之间的关系是怎样的?在互联网上已经有N个版本,众说纷纭。
首先,来看看这三个概念的定义和要素:
VR,Virtual Reality,虚拟现实,是一种通过计算机模拟真实感的图像,声音和其他感觉,从而复制出一个真实或者假想的场景,并且让人觉得身处这个场景之中,还能够与这个场景发生交互。
VR要素
- 沉浸感,一种让人身处虚拟场景内的感觉,依靠遮挡真实场景的光线,提供尽可能大的视角,具有真实感的画面,三维,立体甚至光场的视觉,环绕声场和其他感官的刺激实现。
- 交互性,用户可以和虚拟场景中的内容发生实时交互,对用户行为具有真实感的响应,可以有视觉上,力觉上,听觉上和其他感官上的回馈,依靠传感器,软件运算,执行机构等系统实现。
- 假想性,可以根据设计者的想象设计出各种各样的虚拟场景,内容来源于现实而高于现实,可以在一定程度上违反物理定律,超现实的虚拟场景,依靠人为想象,软件设计,特效等途径实现。
AR,Augmented Reality,增强现实,是一种直接或间接地观察真实场景,但其内容通过计算机生成的组成部分被增强,计算机生成的组成部分包括图像,声音,视频或其他类型的信息。
AR要素
- 现场感,通过直接(镜片透视)或间接(摄像头拍摄,实时播放)观察真实世界,处于什么现场就显示什么现场。
- 增强性,对现场显示的内容增加额外信息,包括图像,声音,视频或其他信息。
- 相关性,计算机必须对现场进行认知,增加的内容和现场具有相关性,包括位置相关,内容相关,时间相关等等。
MR,Mixed Reality,混合现实,一种将真实场景和虚拟场景非常自然地融合在一起,它们之间可以发生具有真实感地实时交互,让人们难以区分哪部分是真实的,哪部分是虚拟的。
MR要素
- 现场感,真实场景和来自现场,通过镜片透视或摄像头方式取得,和AR一致。
- 混合性,真实场景和虚拟场景自然地合在一起,发生真实感地交互,包括遮挡,碰撞等。
- 逼真性,虚拟场景的显示效果接近真实场景,不容易辨别。
图1 VR,AR和MR的形象化描述
根据以上定义,再分析一下VR,AR和MR之间的异同点和关系。
分析VR和AR的异同点和关系:
VR首先强调的是沉浸感,完整的虚拟现实体验,由于虚拟场景可以人为设计,也不要求现场感,而真实场景的画面往往是会破坏VR沉浸感的,因此VR需要隔绝外界光线,从产品的设计上也是尽可能让虚拟场景占满整个视野,避免真实场景画面进入眼睛,自然光线进入眼睛中在VR产品中被称为漏光,是不良指标。
良好的VR体验要让体验者忘记身处的现实,进入VR场景就像进入梦境一般,我们可以把VR体验比喻成“白日梦”(Google的VR平台名字正好也叫DayDream,白日梦)。“做梦”和用户身处的现实环境并没有太大关系,这也是VR的最高境界。交互性是VR非常重要的方面,用户可以和整个虚拟场景交互,让用户感觉身处一个具有完整体验的世界之中,没有交互性的VR会退化到球幕电影。
AR首先强调的是现场感,AR展现的内容必须和现场息息相关,没有现场也就谈不上增强了,所以AR要尽可能将真实现场的画面占满用户的整个视野,要让用户很自然地观察真实现场,削弱自然光线的设计往往导致不良体验(室外,光线太强的情况除外)。
AR需要通过光线透射设计或者用广角摄像头拍摄现场,并实时显示出来。光显示现场肯定是不够的,要不就退化成普通眼镜或者普通视频监控了,AR必须对场景进行实时理解,理解包含对场景的三维结构和内容,比如知道地面的位置,墙壁的位置,空间的尺寸,哪里是通道,哪里会碰撞等等,对场景中的内容能够正确识别,比如哪些是汽车,哪些是人,哪些是建筑等等。对场景理解后就可对其进行增强了,增强的方面可以非常多,比如把墙壁的颜色换掉,在地面上显示导航箭头,在物品旁边显示名字等等。没有对场景理解的AR是伪AR,比如在视频上随意贴些文字,标签,这些信息的具体内容和显示位置并不会跟随现实场景发生相关性的变化,都是人工事先设定好的。
通过上面的分析,VR和AR的相同点是都需要使用计算机图形图像(CG,Computer Graphics)技术绘制虚拟图像,其中VR对图像的逼真度要求更高,而且VR中的图像全部由计算机绘制,因此对计算机的图像绘制性能要求高,往往需要配置高性能的GPU,而AR中大部分图像是通过镜片透射或摄像头拍摄的,计算机绘制的图像占比较少,而且是以信息性为主的,对图像逼真度要求较低,因此对计算机图形绘制性能要求不高。但AR需要对场景进行理解,理解场景不是简单的事,需要用非常复杂的算法,并且需要实时运行,这样AR对CPU的运算性能要求非常高。
VR和AR不同点:
VR要尽可能多地隔绝现实,AR要尽可能多地引入现实,两者在这方面的要求截然相反,VR设备会使用海绵等材料将眼睛和屏幕封闭起来,让外面的光线进不来,而AR设备会选用透光率高的镜片,广角的摄像头等部件,将外面的光线尽量请进来。VR对GPU的要求高,而对CPU的要求相对较低,AR对CPU的要求高,而对GPU的要求相对较低。
综上所述,VR和AR是平行的关系,虽然VR和AR中有相同的部分,但VR和AR中也有截然不同的部分,而且截然不同的部分才是区分VR和AR的重点,因此他们之间无法互相包含,VR不是AR的子集,AR也不是VR的子集。
分析MR和AR的异同点和关系:
MR也强调现场感,MR里看到内容也和现场息息相关,首先是现场的画面占满用户的视野,然后通过对现场的三维结构和内容的理解,将计算机生成的,逼真的虚拟图像融合进去,MR要求的是三维融合,不能仅仅将虚拟图像覆盖在真实图像上,虚拟图像中的物体具有三维坐标,具有景深(物体有远近感),虚拟物体和真实场景中物体需要能够相互遮挡,具有真实空间感,真实的光照感,MR需要用户难以分辨看到物品是真实场景中的还是计算机虚拟出来的,如果用户难以分辨真假,就通过了图像智能领域的图灵测试,这是MR的魅力所在,也是技术难度最高的地方。
MR和AR都是强调现场感,都是对现场具有增强作用,因此从基础上来说,MR和AR是一致的,MR和AR都要求尽可能将现场的画面融合进来,而且都需要对现场进行实时理解,然后将计算机生成的虚拟图像相关性地融合进去,因此对现场增强是MR和AR的相同点。
MR强调虚拟图像的真实性,需要和真实场景进行像素级交叉和遮挡,要求虚拟场景具有真实的光照,和真实场景自然混合在一起,而AR更加强调虚拟图像的信息性,需要在正确的位置出现,给用户增加信息量,但其和真实场景的遮挡和光照不做强调,这是MR和AR的不同点。
MR和AR都是对现实的增强,因此他们有最大的共同点,AR对虚拟图像的真实感不做严格要求,但越真实越好,而MR对虚拟图像具有严格的真实感要求,因此AR的定义比MR更加宽泛,MR比AR更加严格,因此MR和AR是被包含关系,MR是AR的子集(高真实感的AR)。
因此VR,AR和MR如图2所示。
图2 VR,AR和MR的关系
另外,互联网上还出现了另外几个MR,容易和本文中提到的MR混淆,它们是:
MR,Mediated Reality,介导现实,一种人们不仅仅是是通过肉眼,而是通过设备感知的现实,对现实的内容发生了一些改变,包括增加,减少了信息,是一种更加宽泛的概念。
基本上,介导现实囊括了所有非完全通过肉眼观察世界的情况,包括通过屏幕看到的虚拟世界,所看到的画面或其他感觉相比肉眼看真实世界有所改变。(从这个定义来看,人们戴上近视眼镜观察真实场景也属于介导现实的范畴)
因此介导现实包含了前面提到的VR,AR和MR,如图3所示。
图3 介导现实包含了VR,AR,MR
另外英特尔提出的MR是Merged Reality的缩写,和Mixed Reality意义有所不同,在下面一节单独分析。
再有,要绘制虚拟图像,就需要采用计算机图形图像技术(CG,Computer Graphics),计算机屏幕是栅格的,一个栅格就是一个像素,该像素一般由RGB三个子像素组成,通过三原色混色原理形成彩色,一个像素同一时刻只能显示一种颜色,一个屏幕上有千千万万个像素,像素的数量称为屏幕的分辨率,一定的长度上的像素数量称为像素密度(比如PPI代表1英寸长度上的像素数量),分辨率越高,则图像的细节越多(信息量越大),像素密度越高,则图像越细腻(越不容易看出图像是由一个个像素组成的)。计算机图形图像技术就是一门怎样在栅格屏幕上显示出图像的技术,包括二维图像,三维图像,也包括文字(文字也要变成栅格图像才能在屏幕上显示)。VR,AR和MR里显示的虚拟图像就是栅格图像,离不开计算机图形图像技术的支持,因此VR,AR和MR是CG的具体应用,应该包含在CG内。
图4 光栅图像,PPI值越大,图像越细腻
CG属于计算机技术(Computer Technology),因此CG包含在计算机技术内。
而介导现实可以使用计算机技术也可以不使用计算机技术(比如纯光学技术),因此介导现实并不完全包含在计算机技术内。
综上所述,VR,AR,Mixed Reality和Mediated Reality,还有CG,Computer Technology的关系如图5所示:
图5 VR,AR,Mixed Reality,Mediated Reality,CG,Computer Technology关系图
关于英特尔的MR
英特尔近期发布的Project Alloy称为Merged Reality,缩写也是MR,Alloy设备从外观看更加接近VR,是一个封闭结构的头盔,屏幕中的内容都是计算机绘制的,但英特尔为什么不称其为VR呢,英特尔的理由如下:该头盔具有感知真实现场的功能,虽然真实现场的画面没有直接在头盔中显示,但是它会对计算机绘制的画面实时产生影响,比如它可以感知用户位置的变化,如果用户戴着Alloy头盔向前走一步,设备可以准确地感知到这个距离变化并立刻反映在虚拟画面中(比如让虚拟画面向后退一步)。可能有人会说,那HTC VIVE和Oculus Rift也能做到啊!
英特尔的解释是它们需要借助外部设备才能做到(HTC VIVE要借助外部激光定位设备,Oculus Rift借助外部红外摄像头),而Alloy完全不依赖外部设备,Alloy上面有“眼睛”通过“观察”真实场景推算自身的位置和角度,使用的方法是SLAM算法,而这个正是AR设备的功能。另外Alloy还可以实时识别用户的手势,并和虚拟世界交互,而且Alloy还能实现用户之间交互,这个交互并不完全通过网络,而是有一个真实的用户接近Alloy时,Alloy能够感知出来,并立刻反映在虚拟画面中(比如虚拟画面里出现了一个人)。从而实现了虚拟世界和真实世界的融合(至少戴着Alloy头盔不会撞到真实世界的墙壁了)。所以英特尔称之为Merged Reality,该MR和混合现实的定义又有所不同。从技术实现上分析的话,英特尔的Merged Reality同时使用了VR技术和AR技术,所以英特尔称Merged Realiy=VR+AR。
图6 Alloy头盔
不过从功能上来说,Alloy是VR的增强版,主要还是VR体验,只不过使用了一些AR的技术,让VR体验更优秀,所以用VR+来定义更加贴切一些。
关于微软的MR
自从Hololens问世以来,大家一直称之为AR设备,但是微软CEO在今年6月份的微软开发者峰会上说,Hololens不是AR设备,而是MR(Mixed Reality)设备,猜想的理由是大家称Google Glass为AR眼镜,而Hololens显然比Google Glass强多了,说是AR设备的话就拉低到Google Glass的水平了,微软不太愿意。
既然称为MR设备,Hololens肯定有比Google Glass强的地方,微软的解释是Google Glass只能将虚拟场景和真实场景简单叠加显示,虚拟和真实并没有很好地融合,Hololens则可以让虚拟和真实融合起来,比如Hololens中显示的画面可以贴到真实场景中的墙上,用户转动头部时,画面并不会随着转动,而是保持贴在墙上的感觉,用户会感觉到画面是在墙上的而不是在眼镜上的,但Google Glass中画面就会一直跟随眼镜,用户只会感觉到画面是在眼镜上的。另外,Hololens还可以让用户和虚拟场景互动,对用户的手势实时识别,用户的手是能够触碰到虚拟物体的,比如用户的手可以击中虚拟的球。
其实,按照AR的定义,如果完全实现AR功能的话,已经是非常酷了,AR并不是简单地将虚拟画面叠加到真实场景中,而必须对真实场景进行认知,包括三维结构和内容,这样计算机绘制虚拟画面才能很好对现实进行“增强”,比如要在道路上显示一个导航箭头,如果没有正确识别道路的位置,这个箭头是不可能画得好的,无法和道路很自然地贴合起来。
纵观Google Glass的两代产品,其实现的功能其实还不能算是AR,Google Glass是一个穿戴式移动设备,包含摄像头,显示屏,处理器和电池,用户使用Google Glass基本上是看看屏幕上显示的天气,时间,资讯等内容,和眼镜外面的真实场景并无太大关联,另外Google Glass一个重磅功能声控拍照和浏览照片,该功能也只能说是一台戴在眼睛上微型相机,并非AR设备。
图7 Google Glass
但Google Glass是以AR眼镜的口径切入市场的,虽然Google Glass并很好地实现AR功能,但市场上都称Google Glass为AR设备,大家也就把AR的概念降级到Google Glass的水平了。其实Hololens更像是AR设备,而且Hololens现身后,市场上的大部分专业人员也是这么认为的,后来可能是市场定位的原因,加上Magic Leap的火爆(Magic Leap称自己的设备为MR设备),使微软不甘于成为已经被Google Glass降级的AR设备,所以有了后来微软改口一说。
图8 Google Glass和Hololens
所以根据以上的分析,Hololens还是偏向AR的,但比AR多了交互功能,所以用AR+来定义更加贴切一些。
考虑到VR+和AR+后,整个关系如图9所示:
图9 总体关系图
虽然VR,AR(MR)在定义上有严格地区分,但在产品上其实是可以融合的,具体的产品可以既包含VR的功能也包含AR的功能,可以在这两个功能之间切换,或者在不同的软件下实现VR或AR的功能,比如普通的智能手机,安装AR软件后可以实现AR功能,放入Cardboard运行VR软件时又实现了VR功能。
VR,AR(MR)各有各的应用场合,各有各的存在空间,再强大的AR设备也无法替代VR功能,因此同时兼容VR和AR功能的设备很可能会成为下一个开发热点,也许那种设备会被称为XR设备吧。
其他精华资源推荐:
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |