资料1

VR眼镜,主要通过三方面来达到沉浸感的目的: 1)通过凸透镜来放大人眼看到的即时图像范围,现在的VR眼镜大概会产生90-120度范围的图像视野,这样的视野大概和一个良好的三通道环幕投影系统产生的效果差不多,不过VR眼镜要更加贴近人眼一些,人眼被干扰的可能性大大降低。 2)通过头部的陀螺仪,当人转动头部时,陀螺仪能够及时的通知图像生成引擎,及时的更新画面,从而使人感觉到,自己是在看一个环绕的虚拟空间,从而产生360度的三维空间感。 3)左右眼每一时刻看到的图像是不一样的,是两幅区别左右眼位置的不同头像,从而产生很强烈的立体纵深感。 ### 资料2 Magic Leap和HoloLens都是Augmented Reality (AR)眼镜的代表,有一个相关的概念也很火爆:Virtual Reality (VR) 1.AR 和VR眼镜的区别是什么?   AR眼镜是透明的,让你能同时看到现实世界,和叠加在上面的虚拟成像。应用例子:赶不上Lady Gaga的演唱会?没关系,戴上眼镜她就在你家里开一个。代表产品原型:Magic Leap和微软的HoloLens。   VR眼镜是不透明的,只显示虚拟世界,把物理世界完全挡住。应用例子:坐在家里也能去大溪地“潜水”。代表产品/原型:三星的Gear VR,谷歌的Cardboard VR,和脸书的Oculus Rift。 2.Stereoscopic 3D 3D图像比2D图片多了一个维度,这个维度就是景深(depth),看过3D电影和2D电影的同学知道感官上有明显的区别(只有少数人有双盲症不能看到)。大家知道人眼感知景深有很多机制,包括单眼(monocular)和双眼(binocular)的。单眼能感知的景深信号很多,比如:一个东西遮挡了另一个(occlusion),熟悉的物体的大小(relative size/height),物体移动的变化(远的物体变化慢近的物体变化快,即motion parallax)。在此基础上,双眼的景深信号也非常强烈(所以远古的我们能更好地判断对面的老虎或者鹿到底离多远)。两只眼睛看到同一个场景会有细微差别,这让大脑能通过三角计算(triangulation)来得到物体景深。 Stereoscopic 3D就是利用这个原理给双眼分别显示不同的图片(如下图),它们很相似,只在水平方向上有细微差别。而这两张图片拍摄的时候,就是用两个并排的相机模拟人眼的位置拍的,现在的3D电影都是基于这个原理。   但这样的Stereoscopic 3D有什么问题呢?简单讲它会引起用户身体不适如头晕、恶心等。为什么呢?这又涉及到人眼的一个有意思的机制。当我们在看一个现实世界中的物体时,眼睛其实有两种自然反应:   1)聚焦(Accommodation/Focus)。眼睛的晶状体就像一个凸透镜,它会调节凸度来让那个物体在咱们视网膜上清楚成像。

  2) “会聚”(Convergence)。在每只眼睛聚焦的同时,两只眼球还会有旋转运动来一起指向那个物体。

  很自然地,这两种反射运动在神经上是联接的(neurally coupled),也就是说任意一种运动会自动引发另一种运动。这也意味着,在人眼看真实物体的时候,聚焦和会聚的距离总是相等的(vergence distance = accommodation distance,参见下图A)。

  那么Stereoscopic 3D的问题就来了。因为Stereoscopic的投射距离总是固定的(也就是accommodation distance不变),而图片的disparity会让眼睛会聚在不同的距离(vergence distance)以产生景深3D效果(见下图B)。所以,这两种距离经常是不一致的(vergence distance ≠ accommodation distance),会造成这两种神经相连的运动强行分离(neurally decoupled)。   从另一个角度讲,在自然世界里,当人眼聚焦并会聚到一个物体时,别的距离的物体应该都是模糊的(下图C)。而在Stereoscopic 3D里,不管人眼聚焦到哪儿,别的距离的物体成像都是清楚的(下图D)。   这些都不符合自然界人眼的规律,因此大脑会产生混乱,长时间就会引起恶心晕眩等症状[4]。所以Stereoscopic其实是用了一个小伎俩让人能看到3D效果,但它并不是真3D。   光场(light field)是真3D   光场显示跟Stereoscopic 3D比的一个很大不同就是它有本事能让人眼聚焦到不同的距离,从而和会聚的距离保持一致。这是最符合人眼观察自然世界规律的做法,因此被称为true-3D。   可以想象要实现这样的光场显示,并不是那么简单。现在主要是两种方法:空间复用(space multiplexing)和时间复用(time multiplexing)。“空间复用”简单说就是把一个像素当几块用来实现不同的聚焦距离。Nvidia在SIGGRAPH上展示的那个原型就属于这种。这个方法最大的问题就是分辨率大打折扣。我曾经试戴过,基本就是雾里看花。   “时间复用”呢,就是用高速原件来快速产生不同的聚焦距离,让人眼以为它们是同时产生的。这样的好处就是分辨率不损失。大家知道人眼的速度感知是有限的,很多显示器都是60Hz的,因为人眼能分辨的极限值一般就是60Hz(在某些高速内容比如游戏里可能达到90-120Hz)。这意味着什么呢,如果利用高速显示360Hz,就可以实现6个不同的聚焦距离。而有研究表明用6个聚焦距离加上一种线性混合(linear blending)的渲染算法就基本能实现从约30厘米到无穷远让人眼自然对焦[5]。   Magic Leap的技术是哪种呢?它最近demo用的哪种技术没有公开,但很有可能还是基于Brian的高速激光光纤扫描(scanning fiber)技术,也是一种时间复用的办法。Brian当年先试过只用一根光纤扫描不同聚焦距离,这样做明显对速度要求太高,后来用一个光纤束(fiber bundle/array),比如16根,每个光纤有一点位置差,然后同时扫描得到不同聚焦距离。   这样的光场受现实系统的局限肯定不可能是连续的,都是被采样的(downsampled)。但是,即使是这样的光场投射到眼睛里也在理论上是跟真实世界物体光线进入眼睛是一个道理,因此可以实现true-3D。回到最初的问题,这也是为什么Magic Leap的技术重要的原因。现在你也理解了为什么Rony说“HoloLens会让人恶心”了吧?   (二)透明AR眼镜面临哪些挑战   Botao同学谈到了一些重要挑战(知乎),比如3D感知和定位,手势识别,眼动跟踪,计算量,电池的问题等,我再补充几个。 1.显示   首先能实现近眼光场显示就很难,现在的公司除了Magic Leap还都是用古老的Stereoscopic 3D的方法,用户戴长了就会眼困头晕恶心。而Magic Leap所用的近眼显示技术理论上成立,现实中也还有很多问题要解决。比如: 系统大小: Magic Leap现在还没有公开过它的原型照片,据报道都还是像一个冰箱一样大的,离可穿戴还有很长的路要走。 光场采样:既然是采样就一定有损失,比如对比度清晰度上,如何才能最优采样? 聚焦和会聚(Accommodation-vergence matching):即便聚焦距离对了,也要保证会聚距离始终与其保持一致。Magic Leap现在的demo视频还只是从单眼摄制的,还没有证据表明他们很好地解决了双眼问题。 室外显示:现在大家的demo都是室内的。当用户在室外时,太阳光强度比显示光高几个数量级。至少镜片需要有自动调光的技术。 捕捉内容:虽然现在可以用计算机图形来做demo,但以后的应用一定会需要相机采集的内容,而光场的拍摄本身还有很多问题要解决。 散热:是一个容易被忽视的问题。当年Google Glass出来的时候有人说用着用着脸就像要烧起来了。现在还没有证据表明HoloLens和Magic Leap的眼镜能长时间保持凉爽。 2.镜片 近眼显示有两个关键部件:显示器和镜片。现在大部分的AR眼镜镜片都是基于分光镜(beamsplitter prism)的,比如Google Glass,HoloLens,Epson Moverio。如图左,简单的分光镜就是45度角,把显示器产生的光从眼镜框反射进人眼,也同时让现实世界的光透进来。这样做简单便宜,但是镜片厚。一个以色列公司Lumus做出了一个光导(waveguide)技术让镜片变得很薄,可惜工艺复杂成本太高。后来也有一些便宜的光导产品出现,但质量还远不如Lumus。所以,镜片也还有很长的路要走,不仅要做到视角(Field-of-View)大,还要轻薄,透光性好,在折射/反射显示光的时候也要尽量保持光的属性并做到尽量小的光损失。 3.视角(FoV)和分辨率(Resolution)   视角直接决定了用户体验。现在的很多AR眼镜视角还在20°-40°之间,不少试戴了HoloLens的记者都对它的视角表示失望。而人眼的横向视角双眼差不多有200°,纵向有130°。视角大意味着总的分辨率也要很大才能覆盖,8K*8K才会比较理想。 4.遮挡(Occlusion)   前面说到过单眼的景深感知有一个很重要的信号就是物体之间的遮挡。在用透明AR眼镜时,一个关键问题就是虚拟物体和现实物体之间的遮挡怎么实现。   如果是现实物体在前面,虚拟物体在后面,还相对比较好办,就是要自动探测现实物体的距离,再计算出虚拟物体哪些部位需要遮挡从而不渲染。但是如果反过来,虚拟物体需要遮挡现实物体,就没那么直接了,因为理论上需要把现实物体的光从眼镜上选择性地滤掉。从Magic Leap最近的demo看,在虚拟物体明亮时,它本身的亮度会自然遮挡后面的真实物体,但当虚拟物体比较暗时,还是有所谓的“鬼影效果”(ghost effect),不符合自然规律,又会让大脑产生混乱。   如果想实现完全正确的遮挡效果,只能在镜片上做实时的像素级的滤光机制(per-pixel shutter),但现在的技术都还不成熟。   Magic Leap:以增强现实展示科幻世界 5.渲染黑色   透明AR眼镜现在还没办法渲染黑色。因为它说到底是虚拟光和自然光的叠加。如果画黑色,用户是看不到的,只会看到后面的背景真实物体的光。类似的暗色都有这个问题。 6.延迟   透明AR眼镜还有一个很大的挑战就是延迟。把虚拟物体叠加到真实物体上(比如放一个虚拟水杯到一个真实桌子上)涉及到一系列计算:探测真实物体→计算它的空间位置和方向→计算叠加位置→渲染虚拟物体等。这一切都必须在一眨眼内发生,让用户感觉不到延迟。比如在那个水杯例子里,我们的头可能是一直在动的,随着我们头动,我们看到的那个水杯应该在桌上原来的位置不动才对。而如果系统延迟过大,我们看到的那个水杯的位置可能就总是不对,大脑就又混乱了。这对透明AR挑战尤其大,因为真实世界我们是直接看到的,几乎没有任何延迟,而虚拟物体的渲染得能跟上这个速度才显得自然。在video overlay里,就没有这个问题,因为我们看到的真实世界的视频已经是延迟的了,这样在上面的物体叠加就比较容易跟它保持同步。 7.激光   Magic Leap以前的技术专利是用激光直接打到人眼里,虽然据说很安全,但还没有确切的科学证据。所以用户接受度是个问题,很多人估计一听到这个就望而却步了。   说了这么多,这下一代移动人机交互界面到底什么时候能做成呢?我个人感觉要做成人民群众喜闻乐见的版本至少要5年时间,也许更长。因为以上列出的这些挑战,每一个都还需要很多努力才能解决。目前它们很多都还不到量变(只是需要优化)的阶段,而是需要大的质的飞跃。所以,路漫漫而修远兮。但既然这是计算机发展的必然方向,拭目以待吧。   最后大力推荐   顾险峰教授的Magic Leap核心技术揭秘:http://blog.sciencenet.cn/blog-2472277-954754.html   知乎问答:Magic Leap 和微软的 HoloLens 相比有哪些异同点:https://www.zhihu.com/question/36921637   参考:   [1] Brian T. Schowengerdt et al., 3D Displays using Scanning Laser Projection, SID Symposium Digest of Technical Papers   Volume 43, Issue 1, pages 640–643, June 2012.   [2] Brian T. Schowengerdt et al., True Three-Dimensional Displays that Allow Viewers to Dynamically Shift Accommodation, Bringing Objects Displayed at Different Viewing Distances Into and Out of Focus, CYBERPSYCHOLOGY & BEHAVIOR Volume 7, Number 6, 2004.   [3] Xu Liu and Haifeng Li, The Progress of Light-Field 3-D Displays, Information Display, 2014.   [4] David M. Hoffman et al., Vergence–accommodation conflicts hinder visual performance and cause visual fatigue, J. Vis. 2010.   [5] K. J. MacKenzie, D. M. Hoffman, and S. J. Watt, Accommodation to Multiple-Focal-Plane Displays: Implications for Improving Stereoscopic Displays and for Accommodation Control, Journal of Vision(2010).