最近神秘的Magic Leap即将于下周发布新款产品,这家备受硅谷关注的公司,也将第一商业化其产品。如果没看过的可以看下面的视频:
本文作者:聂崇岭,进化动力 CTO,曾任职于瑞士 Enlustra 公司,有多年高性能异构计算系统研发经验,参与多项 ABB、Simens 等跨国公司技术研发项目,硕士毕业于瑞士苏黎世联邦理工学院(ETH Zurich);高路房,进化动力 CEO,曾任职于法国国家信息与自动化研究所,多年专注于机器视觉、机器学习算法领域的研究,并发表了多篇相关领域的学术文章,先后师从全球医疗机器人权威、英国皇家院士、IEEE Fellow 杨广中教授以及机器视觉权威、IEEE Fellow —— Nikos Paragios 教授。
Magic Leap 因为阿里投资的传闻和一周前的概念视频在近期可谓引火上身,短短几天时间内,从概念视频经微博营销号之手火遍社交网络,到一如过街老鼠一般人人唾弃。
要知道,Magic Leap 在 2014 年 10 月获得了来自 Google、高通、传奇娱乐、Thomas Tull、KKR、Vulcan Capital、Kleiner Perkins Caufield & Byers、Andreessen Horowitz 和 Obvious Ventures 等机构和投资人共计 5.42 亿美元的 B 轮投资,融资完成后,前 Google Android 及 Chrome 团队负责人、现 Google 公司 CEO Sundar Pichai 加入 Magic Leap 的董事会。
的确,不像近期热门的微软 HoloLens,Magic Leap 作为下一代内容呈现和交互平台混合现实(Mixed Reality)领域的竞争者,至今并没有实机 demo 演示,仅有出自官方 YouTube 账号的两段视频。但这并不妨碍我们从这家公司近年来申请的专利和引进的专家来分析他们的技术方向。
光学呈像
目前为止,无论是虚拟现实(VR)应用还是增强现实(AR)应用,图像本身的路径基本上都经历这样的过程:光 - 镜头 - 传感器 - 数字化 CV 算法 - LCD/LED 显示器,最终我们看到的 AR/VR 内容都是通过 LCD/LED 显示器传入人眼。而 LCD/LED 本身在耗电、重量、体积等方面存在缺陷,是 AR/VR 用户体验发展的主要瓶颈之一。
而 Magic Leap 拥有一种名为 Fiber Optic Projector 的核心技术,这种“投影仪”与传统意义上的投影相比,尺寸更小,功耗更低,可以通过一根直径 1 毫米长 9 毫米的光纤投出几英寸彩色图像。
谈及 Fiber Optic Projector 的原理,我们就要从已经加盟了 Magic Leap 的华盛顿大学 Eric Seibel 教授说起。Prof. Eric Seibel 致力于研究内窥镜已有数十载,他的研究团队曾在 2013 年公开展示一种直径 1 毫米、基于光纤扫描的内窥镜。相比原来动辄几厘米直径的内窥镜而言,这是一种变革性的进步。它的原理简单来说就如下图 —— 内窥镜由基于 MEMS 的驱动器 Actuator、单光纤、镜头组、直径 1 毫米的套管组成。当内窥镜工作时,微电脑通过控制多个驱动器,精确控制光纤末端的扫描路径,通过画直径由小变大的同心圆来完成整个画面的图像扫描,再将数据回传给电脑合成图像。
Magic Leap 的 Fiber Optic Projector 和这个内窥镜工作原理类似,只是光纤末端并不是用来采集图像,而是发出显示图像的光线,通过驱动器足够快速的扫描,让镜头末端得以逐个投出图像。这个原理听起来简单,要在工程上实现是非常了不起的。
上面我们提到过,这种基于光纤扫描的显示设备有功耗低、重量轻、体积小等优点,而且可以通过多个光纤末端阵列堆叠的方式来实现 FOV (Field of View) 显示。
而对于这种光纤扫描投影仪的画质,想必大家也不必过于担心。通过 Google Patent 的检索,我们发现这家公司已经在为美国国防部研制分辨率达到 4K 级别的光纤扫描显示设备。
CG 和 CV
说完光学呈像原理,我们再来说说 Magic Leap 在计算机视觉技术(Computer Vision,以下简称 CV)方面的成就。
上图来自 Magic Leap 近期的宣传视频,这些都是 CG 特效,并且 Magic Leap 自己也承认视频里的都是特效。这样用于表达 idea 的概念视频在硅谷公司里很常见,并不值得指摘。
接下来,我们重点针对上图里的这两组进行分析。一如 HoloLens 在去年 10 月首次亮相展示的宣传视频,纵然 Magic Leap 在视频里明确标注了 "No special effets or compositing",很多看客还是倾向于对它们持怀疑态度。
不过,要真正在技术和学术上讨论 Magic Leap 在 CV 和 CG 技术领域展现的成果和远景,就需要建立两个假设:第一,视频实在 Magic Leap 设备上使用他们的原创技术生成的,即他们没有说谎;第二,视频是通过他们的设备实时采集、处理并展示的,即从外界感知环境数据到获得 AR 效果图像的整体时间在 33ms~67ms 这个时间范围内。
第一张图中,躲在桌下的小机器人被发现后,惊慌失措片刻向摄像机打了个招呼。过程中摄像机持续在移动,中间桌子对小机器人发生了部分遮挡。在这个场景里:
首先是三维信息感知:计算机必须通过传感器感知三维环境信息,这个传感器可以是普通 RGB 摄像头,也可以是 TOF 或者结构光深度摄像头,但是选择不同的摄像头也决定了接下来算法的复杂程度。
第二步是三维场景重构,这也是最重要的一步,需要通过所获得的环境信息实时对场景进行三维重构。这里就用到了大家最近在 AR 领域反复提及的 SLAM 算法,该算法在实时构建三维场景的同时,能够准确地定位拍摄相机(或拍摄者)的位置。有了三维环境和位置这两个信息,接下来的图形渲染工作才能进行。目前对于 RGBD 来构造三维场景的 SLAM 算法相对比较多,最著名的当属微软英国剑桥研究院和帝国理工 Andrew Davison 教授(接下来会多次提到这位教授的名字)共同开发的 KinectFusion;如果用 RGB 摄像头的话,也有 LSD Semi-dense SLAM 和 DTAM 等算法来获得相对丰富的三维场景点云信息。
了解 Magic Leap 的技术背景,就不难为它洗白
Kinect Fusion 重构效果
LSD Semi-dense SLAM 重构效果
DTAM 重构效果
其中 DTAM 也是刚才提到过那位 Andrew Davison 教授的重要研究工作。
第三步,三维场景识别:当我们通过第二步获得了丰富的三维场景信息后,接下来需要让计算机理解三维场景,即让计算机认知什么是地板,什么是天花板,什么是桌子,是一张什么桌子,桌子的材质是什么?目前在研究领域,3D 场景与物体的识别才属于起步阶段,受到数据集和采集方式,目前并没有显著的突破。因此在 Magic Leap 放出的 demo 视频里,他们巧妙地只使用了桌子,一些可以有效识别的物体。这方面的研究工作,领先者又是那位 Andrew Davison 教授,他领导的实验室在 CVPR2013 会议上提出的 SLAM++ 算法,可以通过 RGBD 摄像头进行 SLAM 的同时进行实时物体识别,并完成物体的物理建模。
SALM++ 的三维重构和识别效果
第四步,物理建模与仿真:在识别出三维物体之后,虚拟物件(小机器人)需要和物件发生交互(例如:碰撞),则需要对三维物体的材质进行识别。由于 demo 中展示的是刚体碰撞效果,仿真上相对容易。那我们推广一下,如果是实时的流体材质仿真,就需要提到 CG 研究领域的 physically based rendering。该技术通过建立物体的物理数学模型,在计算机中仿真交互中物体的物理变化。如果有一天 Magic Leap 真要实现概念视频中鲸鱼的效果,大量的水滴溅射效果在移动设备上的实时计算仿真也会是很大的工程门槛。
五,实时 CG 图像渲染:在完成了所有呈现效果的仿真计算之后,便是将 AR 效果实时渲染出来,进而投射在显示设备上。这是个相对成熟的工程问题,也有很多工程师可以回答这个问题,这里不再赘述。
第二个 demo 更多展示的是 CG 图像的视觉效果和分辨率,而 AR 的特性通过现有很多 AR 开源包都能够实现,更多是硬件工程上的工作,不属于这个章节的讨论范畴。
通过上面这五步,我们可以得到一个流水线程序。从计算机工程上来说,这个流水线覆盖了传感器信号处理、三维重构、三维物体识别、计算机图形学四个领域。在 Magic Leap 所展示出来的 demo 中都体现了现在计算机科学领域的最新研究成果,而它所体现出来的流畅性和继承性,也代表了目前计算机工程领域的最高工业水平。作为计算机科学的研究人员和计算机工程的从业人员,我都愿意为这些进步拍手点赞。当然,这一切都建立在本章开头的两个假设上。
虽然近期国内技术型创业公司环境显得浮躁,但怀疑 Magic Leap B 轮资方中任意一方的 DD (尽职调查)能力都不算明智,希望这篇文章能作为一个引子,大家重新冷静考虑国内外技术的差距和相对优势。
另外,我愿意相信现在 Magic Leap 设备的尺寸非常大,稍稍分析一下上面这些算法的计算量,就至少需要两台配备顶级 GPU 的顶配台式机。即时 Magic Leap 自己开发了全套 FPGA (短时间内 SoC 的可能性不大)实现,其发热量和功耗也暂时无法支撑它成为一款便携设备。但任何一项技术在理论上得到突破后都需要漫长的工程等待,何况高通参投了 Magic Leap。
HoloLens?
至于 HoloLens,微软现阶段还没有什么担心的余地,目前 Magic Leap 的核心技术微软几乎都有,Andrew Davison 几乎所有重要论文都是和微软剑桥研究院合作的,本来相对偏弱的 CG 技术也通过收购 Intel 手中的 Havok 得到补强。加上强大的开发者社区,未来市场里一定少不了微软的位置。