查看原文
其他

Magic Leap 核心技术揭秘

2016-02-23 顾险峰 赛先生

https://v.qq.com/txp/iframe/player.html?vid=k01859uznba&width=500&height=375&auto=0Magic Leap 的增强现实技术(Argument Reality, AR)演示


顾险峰

(纽约州立大学石溪分校终身教授,清华大学丘成桐数学科学中心访问教授,计算共形几何创始人)


2月2日,Magic Leap官方表示获得由阿里巴巴集团领投的约7.94亿美元融资。加上上轮由谷歌领投的5.42亿美元,至2014年年底以来,该公司总计已完成13.4亿美元投资,总估值约45亿美元。

这家位于佛罗里达的创业公司已经创业数十年,阵容豪华,规模庞大,但却对其核心技术讳莫如深,异常神秘。间或泄露几条演示视频,举世惊艳,旋即哗然。那么,Magic Leap究竟有何惊世骇俗的技术秘密?在此,老顾大胆推测,力图在其扑朔迷离的表象下,探究技术的实质。


图1. 一条巨大的鲸鱼从篮球场的地面中央飞跃而出!


图2. 把办公室变成游戏战场!

在计算机图形学领域,三维场景渲染演示技术的演化进程可以大致划分成如下的历史阶段:针孔相机、双目立体视觉、光场、数字全息。简而言之,针孔相机演示技术的代表作是早期的动画电影《最终幻想》,双目立体视觉的代表作是3D版的《阿凡达》,光场的代表作就是Magic Leap,数字全息技术的代表作是《星球大战》中的场景。


图3. 最终幻想:光线跟踪法渲染,针孔相机显示技术。


图4. 3D版的《阿凡达》,双目立体视觉。



图5. Magic Leap,增强现实,光场技术。



图6. 星球大战,数字全息技术。


Magic Leap 实现并普及了光场显示技术,这是三维场景显示技术的一场实实在在的革命,获得空前的投资自然是名至实归。那么,什么是光场?这一技术是完全崭新的吗?这一技术发展的历史脉络如何?存在其他以光场技术起家的公司吗?我们在下面的讨论中,逐一解释。

针孔相机 

传统的光学相机,其理想模型就是针孔相机。在计算机图形学中,传统的渲染方法都是基于这种相机模型。如图7所示,从相机的光心(optical center)出发,经过成像屏幕的每一个像素,发出一条射线。光学跟踪法(ray tracing)用几何光学的物理法则计算这条射线的颜色,即为相应像素的颜色。图8展示了一个用光学跟踪法算出的渲染图像。在这里,我们需要一个概念上的转换,每个像素不是一个点,而是一条射线,这是理解光场的关键!换言之,一张相片就是通过光心的一簇射线。《最终幻想》就是用光学跟踪法来渲染制作的。

7. 光线跟踪法中的针孔相机模型。


8. 用光线跟踪法渲染的一幅场景。

传统的显示方法,例如屏幕、LCD/LED,是基于传统观念的,即把每个像素作为一个点,从不同的角度看过去,同一个像素的颜色不变。换言之,这种显示方式失去了射线方向的信息。

双目立体视觉

人类具有两只眼睛,观看物体时两眼各自成像,大脑根据两眼成像的细微差别计算每一点的深度信息,从而得到立体感觉。模仿人眼,我们可以用双镜头相机得到双目立体相片。

图9. 双目立体相机。

图10. 阿波罗登月计划中拍摄的双目立体相片。

本质上而言,双目立体视觉相片就是从两个光心出发的两簇射线。3D版《阿凡达》就是以此原理制作的。相对于单目相机,双目立体视觉时间复杂度和空间复杂度加倍。

光场(Light Field)- 魔盒解释

图11. 光场(Light Field)的魔盒解释。


我们假设用一个玻璃盒子罩住一只兔子,然后透过玻璃盒子来观察这只兔子。从盒子表面的任意一点,向三维空间的任意一个方向发出一条射线,这条射线的颜色由兔子和光照条件所决定。我们用来表示玻璃盒子,表示单位向量,一条射线表示为,所有射线的集合记为。每条射线对应着一个颜色,我们用三维空间中的一个点来表示。因此,光场就是从射线空间到颜色空间的映射。换言之,光场是定义在射线空间上的矢量值函数:


假设我们去掉了玻璃盒子中的兔子,但是这个玻璃盒子是一个魔盒,光场信息被完美保留。当我们观察这一魔盒的时候,所有经过一只眼睛的射线合成了视网膜上的一幅图像。我们可以自由地改变距离和视角,兔子在视网膜上的图像相应地自然变化,根本觉察不到兔子的消失。因此,有了魔盒,我们不再需要真正的兔子。这个魔盒就是兔子的光场。


在光学领域中,光场是一个古老的概念。在1996年被微软和斯坦福学者引进到计算机图形学领域,发展到2016年的今天,已经整整二十个年头了。虽然在学术界,人们不懈地研究深化,真正在工业界产生影响,还是近几年的事情。Magic Leap应该算是Light Field理论在现实应用中的一个巅峰。

光场渲染 我们可以用兔子的光场来取代兔子,渲染生成各种角度的照片,这样我们无需为建立兔子的几何模型,纹理模型和光照模型。对于大场景,复杂光照条件,或者复杂几何模型(如长绒玩具)等等,光场比实物的数字模型更为简单,或者光场比光线跟踪得到的渲染结果更加逼真,或者更加高效,我们用光场来渲染。这是所谓的基于图像的渲染方法( Image Based Rendering )。历史上,微软曾经出过一版基于光场的游戏,类似孤岛寻宝,所有场景都是从真实自然中采集,非常逼真,但是最后没有引起任何反响,无疾而终。

光场采集 光场是定义在射线空间上的函数,射线空间是4维的,传统的针孔相机只能采集二维射线簇,因此光场采集具有本质的难度。早期光场采集的方法简单粗暴,就是用大规模相机阵列,如图12所示的二维相机阵列。这种光场相机笨重昂贵,无法普及。


图12. 斯坦福的光场相机:16x8多相机阵列。


依随数字相机技术的成熟,针孔相机愈来愈小,可以密集地集成在一起,从而缩小了光场相机的体积。但是镜头的尺寸无法缩减,如图13所示。

图13. 斯坦福的光场相机:相机阵列。


真正的突破来自于仿生学。许多昆虫都有复眼( Compound Eye ), 复眼获取的就是光场信息。

图14. 昆虫的复眼:光场相机。


人类模仿昆虫,制造了类似复眼的镜头,如图15所示,在一个大镜头上集成了数十个小镜头。依随光学工艺的改进,人们制造出在一张塑料薄膜上集成了数千个微小镜头。斯坦福的博士生吴任基于这种想法,创立了光场相机Lytro公司。


图15. Adobe制造的人造复眼原型。


传统的相机需要先对焦,再照相。Lytro相机提出的口号是“先照相,再对焦”。因为Lytro相机得到的光场信息,使用者可以由4维光场合成不同角度,深度的二维相片。

图16.  Lytro相机。


如图17所示的婚纱摄影:同一个光场相片,我们既可以聚焦于靠近镜头的新郎;也可以聚焦于远离镜头的新娘。

图17.  Lytro婚纱照:同一张光场相片,可以聚焦在不同的区域。左帧,聚焦在新郎上;右帧,聚焦在新娘上。


光场显示 传统的显示方式,屏幕,LCD/LED,只保留了射线穿过屏幕的交点的几何信息和颜色信息,没有保留射线的方向信息。屏幕是漫反射的,从屏幕上某一点发出的所有射线都是相同颜色的,而光场显示要求从同一点出发的不同射线具有不同的颜色,如图18所示。光场显示,正是Magic Leap的核心技术。



图18. 显示模式对比:左图是传统屏幕,过一点的所有射线同样颜色;右图是光场显示,过一点的不同射线不同颜色。


USC的光场显示  南加州大学提出并制作了一种光场显示装置,如图19、20所示,有一个四面透光的玻璃柜子,柜子中间是一面和水平面夹角为45度的镜子,柜子顶部安装了一台高速投影仪,投影仪垂直向下投影,光线经过镜子反射后水平射出。同时,镜子高速旋转。一颗幽灵般的透明人头悬浮在空气之中,当我们绕着柜子走的时候,我们可以看到人头的各个侧面,并且这颗人头对你挤眉弄眼。

图19. USC Light field display,一颗漂浮的人头。


图20. USC Light field display用于远程会议系统。


图21. USC Light Field display 专利图。


图21展示了这一光场显示仪器的原理。45度倾斜的镜子(114)被电机马达(115)带动旋转,图形处理器(130)生成图像传递给高速投影仪(120),投影仪投射到镜子上,经反射水平射向四周。这样,经过严格同步控制,我们就显示了一个三维的光场。这一装置笨重而昂贵,同时高速旋转的镜子使得系统的稳定性下降。任何机械振动都会影响光场显示效果。


Magic Leap 光场显示  - 手电筒解释  Magic Leap 的核心技术是一种特殊的光场显示设备:光导纤维投影仪 (Fiber Optic Projector )。激光在光导纤维中传播,在纤维的端口射出,输出方向和纤维相切。改变纤维在三维空间中的形状,特别是改变纤维端口处的切方向,我们可以控制激光射出的方向。这就犹如我们拿着一个手电筒,通过改变手电筒的位置,和指向改变输出光柱的方向。如果我们快速摇动手腕,手电筒发出的光柱在空中划出了一个圆锥面,这个圆锥面打到一面墙上成为一个圆周。通过快速改变手腕摇动的幅度,我们可以控制这个圆周半径大小,从而得到一系列的同心圆,这一系列同心圆覆盖了一张圆盘。如果,手电筒的光柱颜色会变化,则我们在墙上画出了一个彩色圆盘。这样,通过快速摇动一只手电筒,我们得到了一幅图像,或者覆盖了一簇射线。假设有很多人,站在不同的空间位置,每人都摇动一只手电筒,则我们得到了一个光场。这就是Magic Leap的光场显示设备:光导纤维投影仪的原理。

图22. Magic Leap的手电筒。


图22显示了Magic Leap的手电筒,促动器(206)相当于人的手腕,光纤(208)相当于手电筒,促动器使得纤维顶端周期性地颤动,纤维顶端螺旋地画出了一些列的同心圆,激光经由透镜系统输出,在空中画出了一簇射线。投射到平面上照亮了一个圆盘。同步地改变经过颜色和强度,一根纤维利用分时技术得到一幅图像,如图23所示。

图23.一根纤维利用分时技术得到一幅图像。


在Magic Leap的纤维光投影仪中,有许多根光导纤维,集结成二维阵列,每根纤维都相当于一个针孔相机,二维相机阵列生成了光场。


光场显示的优势 相比于双目立体视觉,光场显示有很多优势。人类获取三维深度信息有两种途径,“shape from stereo” 和 “shape from focus”。我们用两只眼睛看同一个物体,同一个三维空间中的点,映到左右视网膜不同的像素上。我们人脑能够通过视网膜上的像素,反算对应的空间的射线,从而得到两条射线的交点,得到深度信息,这一过程是“shape from Stereo”。我们每只眼睛看物体的时候,大脑会自动调节眼睛的晶状体的曲率,使得物体在视网膜上清晰成像。调节晶状体的肌肉紧张程度使得大脑能够计算物体的深度信息,即所谓的“shape from focus”。看3D版的《阿凡达》的时候,我们只用到了“shape from Stereo”, 眼睛的焦距一直固定,因为眼睛到屏幕的距离不变,因此没有“shape from focus”的过程。但是,人类经过漫长的进化,这两种过程自然而然地紧密联系在一起。人为地割裂它们,就会使人目眩头晕。相反地,如果用光场显示技术,我们同时需要“shape from  Stereo” 和“shape from focus”,因此观看时不会头晕目眩,光场显示技术更加自然健康。


光场显示的挑战 作为一场革命的开端,Magic Leap的技术面临着许多挑战。最为直接的就是:传统的显示技术只需要计算四维光场中的一个二维切片,而光场显示需要计算整个四维光场,其计算复杂度提高几个数量级,这是技术瓶颈之一。同时,精确的调控机械部件,使得每一个纤维都稳定自然地颤动,并且颤动的模式要和数据传输相互同步,并且这种颤动不受外界噪音的影响,这也需要令人匪夷所思的技术。

数字全息 光场从概念的提出到Magic Leap的投资狂潮已经走了二十年,而数字全息技术的发展历史更加漫长。光场本质上还是几何光学,而数字全息则是波动光学。目前数字全息技术日益成熟,依随蓝色激光的发明,彩色数字全息技术成为可能。目前发展的瓶颈一是计算量巨大,远远超过光场计算,二是数字全息显示中需要特殊的一种晶体,每个像素的折射率能够由电压控制。目前这种光学器件依然昂贵,并且尺寸较小。我们相信依随光场技术的广为接受,数字全息技术也会长足发展。

光场技术的启示 光场技术的历史发展使我们看到颠覆性的技术革命往往起源于基础科学和非商业功利的学术界。从学术界酝酿成熟,到商业界呼风唤雨往往要几十年。Magic Leap的技术突破来自于对于内窥镜技术的转用,这显示了跨界科研的重要性。

期待有一天,电视电影都是用光场摄像机拍摄,观众可以任意动态选择观看角度。或许这一天要等待另一个二十年,或许只需三五年。我相信,不久的将来,淘宝网上的照片都会被光场相片所取代,而Magic leap头盔,成为每一个网购者的标配。

本文首发于“ ”,获作者授权转载。


延伸阅读

 风月无边:艺术就要被人工智能取代了?


② 几何魔镜:天使和恶魔


烧脑的几何理论|《三体》中的“降维攻击”到底啥意思?




投稿、提供新闻线索、转载授权请联系:iscientists@126.com

商务合作事宜请联系:dll2004@163.com

更多精彩文章:您可以回复"年份+月份",如201510即可获取月度文章,或返回主页点击子菜单获取最新文章、往期文章或直达赛先生微博。谢谢!


微信号:iscientists

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存