• VR/AR工作原理、目前存在的技术问题


    http://blog.csdn.net/liulong1567/article/details/50686558
      摘要: 这些挑战,每一个都还需要很多努力才能解决。目前它们很多都还不到量变(只是需要优化)的阶段,而是需要大的质的飞跃。所以,路漫漫而修远兮。但既然这是计算机发展的必然方向,拭目以待吧。摘要
          是什么使得一个还没有发布任何产品的公司吸引了阿里巴巴8亿美金投资,公司估值高达45亿美金?今天在硅谷大讲堂:硅谷VR/AR技术论坛邀请到了Google资深研究员,9年专注VR/AR技术的美女吴博士,纽约州立大学石溪分校顾险峰教授,一起解析VR/AR的前世金生,Magic leap,Hololens背后的技术和未来挑战。

      这次讲座之余,笔者跟吴博士交流,还得到她的独家授权分享她对于Magic Leap的独到见解。

      (注:本文仅代表个人观点,和公司无关。文章内容都是基于公开信息。)

      (一)Magic Leap和HoloLens是什么?

      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。


    Google Cardboard VR


    Facebook Oculus VR

      2. Magic Leap和Microsoft为什么要做透明AR眼镜?

      总的来说,这是计算机的必然发展趋势。2007年苹果推出iPhone以来,手机发展太迅猛,用户随时随地带着它,各项使用数据毫无悬念地都在超越PC端。所以,人机交互界面的未来主要在于移动。但现在的手机局限在于:(1)既然要便于携带屏幕就做得小,屏幕小了某些功能就得受限;(2)显示屏幕是平面也就是二维(2D)的,而真实世界是三维(3D)的。

      未来的透明AR眼镜有望实现大突破,就是既能让用户随身携带,又能在她眼前显示超大屏幕,还能把以假乱真的3D内容渲染到她看到的真实世界里(想象你坐在教室里听课,你的老师看起来真实无比,但其实就是在你的眼镜上虚拟出来的)。这样的眼镜大概不会完全取代手机,但毫无疑问潜力无穷。

      跟VR比较,AR的应用场景也更广阔(你总不能带着VR头盔大街上走吧)。本质上,AR是VR的超集,镜片前面一挡就成了VR(前提是视角能做到差不多大)。

      3. 但是戴眼镜好麻烦,为什么不直接像《星球大战》一样在空气中显示全息图(Hologram)?

      Holography是人类的美好愿景,有一天也许能做成,但近期看离实用还早。现在有一些大学实验室在研究裸眼光场显示器(light field display),但需要很复杂笨重昂贵的设备,还只能在安装了的地方用。相对而言,眼镜的可行性要大得多。如果能做成轻便的AR眼镜,将是移动人机交互界面上也是计算机发展的重大革新。

      4. 在VR头盔上加个前视摄像头不也就成AR了吗?为什么非要透明的?

      好问题。说起来AR有两种,一种是前面所说的透明AR(optical see-through)——现实世界是透过镜片直接看到的。另一种就是“视频叠加”(video see-through或者video overlay)——现实世界是通过摄像头捕捉,然后以视频的方式呈现给用户(在上面再渲染一些东西)。事实上,现在手机和平板上已经出现了很多video overlay的应用,比如看星空,求翻译,选家具等。


      那为什么不用VR头盔加摄像头实现这种AR呢?当然可以,现在很多VR头盔都在试探这种做法。它和透明AR相比各有优劣,比如优势在于用视频实现的虚拟和现实的叠加(overlay)要比透明AR简单得多,这也是为什么它已经开始在移动端商用的原因。

      但劣势也可想而知,用户看到的毕竟只是一个2D视频,质量跟眼睛直接看到的世界还是差很大的。而且视频从采集到显示总归是有延迟的,如果跟体感信号不一致的话会造成身体不适。所以不管怎样都还是会有公司前仆后继地去做透明AR的,Magic Leap和Microsoft HoloLens就是例子。

      5. Magic Leap为什么那么牛能融到14亿美金?(最近的Series C融了8亿)

      前面说的应用潜力无穷肯定是助力,同时还有技术,创始人,团队的原因。

      Magic Leap的核心技术是来自华盛顿大学前研究员Brian Schowengerdt的,他导师Eric Seibel是光纤扫描内窥镜(Scanning Fiber Endoscope)的专家。大家都知道内窥镜就是医生们做手术时用来体内成像的,本质是个微小摄像头。Brian呢很聪明地逆转光路把这个技术用到了显示上,这样通过极细的光纤用激光就可以打出彩色的图像(如左图所示)。这个技术十几年前就发表了[2],后来又不断改进,生成了一堆专利。Magic Leap很大程度上是基于Brian的这些专利。(可惜这么重要的技术骨干既没有成为创始人,也没有被列为“核心人员”,不过这是题外话了。)

      那这种技术为什么重要呢?我们后面留成一个专门的问题讲。

      然而光有技术牛是不够的,AR眼镜这种东西,要想做好可想而知是需要投入巨大的人力物力的,软件硬件都得有重大突破。苹果、微软、谷歌这样的公司可能有财力去做这个事,为什么会相信一个初创小企业能做成?我觉得犹太人创始人Rony Abovitz起的作用很大。Rony之前是MAKO Surgical的联合创始人。这家公司知道的人不多,但他们做的东西说出来就吓人了——人是做机器人手术(robotic surgery)的,主要是骨科手术精准定位。听起来科幻吧超前吧,可是人2004年创建,2008年就上市了,2013年以16.5亿美元卖给了Stryker Medical。这种track record他拉不到投资谁能拉到。

      除了创始人兼CEO,团队也不是盖的,计算机视觉部分拉到了Gary Bradski和Jean-Yves Bouguet这样的大牛。合作的Weta Workshop是在好莱坞给电影做特效的,《指环王》就是他们做的。所以Magic Leap当年用来拉投资用的概念视频就像一个微型电影一样。

      6. 现在该回到前面的问题了,为什么Magic Leap的光场显示技术很重要?

      首先,它是基于极细的光纤的,可以让眼镜做得轻薄。但更重要的是因为Brian证明了用这种技术不仅可以投射出一个2D图片,还能显示出一个光场(Light Field)。

      现代的近眼眼镜为了实现3D有两种主要的技术:Stereoscopic(中文翻译成“立体”,但其实不够准确),和Light Field(光场)。Stereoscopic眼镜早已商化(比如所有3D影院里用的,还有市面上几乎所有AR和VR眼镜/原型——包括Microsoft HoloLens,Epson Moverio,Lumus DK-40, Facebook Oculus——都是Stereoscopic)。而Light Field还只在实验室里有雏形(Magic Leap大概是做得最好的一个)。什么是Stereoscopic 3D呢?为什么它不够好还要做Light Field呢?什么又是Light Field呢?

      Stereoscopic 3D是假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).

  • 相关阅读:
    deepin-wine-tim 字体发虚
    windows&linux双系统时间相差8小时
    Linux 禁用 ipv6
    双系统win10更新后无法进入linux
    Failed to receive SOCKS4 connect request ack 解决
    zsh 使用通配符功能
    vux修改css样式的2种办法
    Ubuntu 16.04 安装OpenSSH7.4
    Nginx开启http2访问和gzip网页压缩功能
    vue开发环境和生产环境里面解决跨域的几种方法
  • 原文地址:https://www.cnblogs.com/mazhenyu/p/6542803.html
Copyright © 2020-2023  润新知