易瞳科技 CTO:我为什么将核心产品开源?

摘要

这是一篇既有故事又有干货的有趣文章

 编者按:作者艾韬,易瞳科技 CTO,多伦多大学计算机工程专业毕业。多年跟随「世界穿戴电脑之父」Steve Mann 教授,专注于智能眼镜的基础研究。最近,易瞳的核心产品 VMG-PROV 宣布对极客们开源,这款视频透视的介导现实眼镜,为何还没有正式面世就开源?又为何选择了视频透视?作者以他做产品的亲身经历来回答这个问题——「当我们把 VMG-PROV 开源后,我们希望尽快地暴露出现有产品的所有问题。」除却谈及产品本身的优劣,这是一篇认真探讨的文章。


我今天写一篇小文章说明一下 VMG-PROV(所谓开源极客版)到底是一个什么东西,希望看完这篇东西的朋友们对自己即将要拿在手里的「玩具」有一定认识。当然,土豪随意,我觉得 VMG-RPOV 搁家里放着也蛮帅的。

一身开源的血液

记得我到导师 Steve Mann 的实验室时,看到一个个装束的怪异的工程师们(包括一个不穿上衣的长发男子)被一堆堆「破旧」的电子仪器、显示器和各种电子元器件团团包围住,而此时的他们正用着界面相当另类的程序做着一些不明觉厉的事情。那一刹那感到莫名兴奋的同时,也为自己的无知而感到有些尴尬。

图片 1.png

「Hi Steve, what software are they using?」我怀着好奇不禁问道,感觉这个问题弱爆了。

「Oh Arkin, I can't answer that if it's not the right question.」教授没穿鞋,手里拿着个烙铁,头也没有回地对我说道。也许他不知道此刻的我早已石化。

「You know,Arkin, we don't use any software in this Lab.」教授放下烙铁,朝我这边看过来。

「Software are programs that you need to pay. Paying for software that you can't hack or share is ridiculous.」教授突然严肃了起来。而我也明白了为什么这些程序都长得这么奇怪。

我点了点头,若有所思地说:「So everything here is open-source? Like everything?」

教授笑了,也点了点头说,「Yes,Everything.」

2.png

在实验室做事的这段时间,我接触到了各种各样的开源工具。教授说的是真的,在实验室里,我们的操作系统是 Ubuntu 而不是 Windows 或 MacOS;图像编辑也不用 Photoshop 而是用 GIMP;就连 Word 和 Excel 这样的程序,我们都用 LibreOffice 来代替。更夸张的是,作为研究人员,我们连 Matlab 都不用,而是用一个叫 Octave 的东西。

Steve 曾经做过一件艺术品,现在收藏在奥斯汀艺术博物馆中。下图中的 Installation 叫「License To Sit」,是一个需要付费买 License 才可以使用的椅子。就像付费软件一样,这个椅子会在快到期时提醒你付费,否则,一旦过期,弹出钢针,强行终止椅子能提供给你的「坐」的服务。这个艺术品很好玩,可以使我们思考当数字世界里的规则被运用到物理世界时的一些搞笑的情况。

3.png

看着这把椅子,回忆起第一次遇见教授的那段对话,我突然意识到自己一个考量已久的决定其实早有渊源,潜移默化中浑身已经淌满了开源的血液。

送到极客手中

最近,我们决定把自己还不完善的工程机 VMG-PROV 作为一款开源硬件投到市场中来。

这一举动,我认为,有奉献性的因素也有自私的原因。

我们确实解决了一些智能眼镜上的问题。开源的目的在于,希望同行和有志向的极客通过对 VMG-PROV 的拆解和研究,可以不再重复地去解决这些问题。轮子就在这里,不需要重新发明它了。另外,我们做的智能眼镜不同于 VR/AR,稍微超前了一点。为了尽快做出理想的产品,我们这个二十人的小团队还需要更多能人的帮助。当我们把 VMG-PROV 开源后,我们希望尽快地暴露出现有产品的所有问题。同时让有共同指向的极客们可以一起和我们站在同一起跑线完善这个产品。开源一定是未来科技的发展方向,一个小有成就的极客不应该总想着如何用那不完善的「小秘密」去赚钱,而应该思考怎样让大家参与进来尽快把东西做好。

4.png

我们希望把 VMG-PROV 交付到正确的极客手中,这意味着这代产品不是消费者级的,甚至不是开发者级的,我们把它称之为「极客版」。我们希望把他卖给有开源血液,想探索数字视觉,并且具备相应能力的极客。看到这里,我想各位读者对于该不该买 VMG-PROV 已经有了一些小小的判断了。

为什么选择视频透视?

VMG(包括预售中的 PROV 和研发中的 MARK 两个版本)是一款开源的头显,是一个探索介导现实(和数字视觉)的工具。我们认为虚拟现实(VR)和增强现实(AR)都是数字视觉的一种体现。因此,VMG 首先要能将 VR/AR 通过视频透视技术同时兼容在一个头显上。之前写了一篇关于智能眼镜的小文章里面也提到,从 AR 往后发展,到混合现实(Mixed Reality)或是介导现实(Mediated Reality),视频透视是必须跨过的一个坎。

常常有人问我,市面上光学透视方案这么多,而且大家都在做光学透视,为什么你们要选择视频透视?我说,不是我选择了视频透视,是视频透视选择了我。

在进实验室之前我是学 FPGA 的,因为这个,Steve 让我用 FPGA 去攻克智能眼镜上一些 GPU 跑不动的算法,出成果后,我和一个学长去 SIGGRAPH 展会上展示我们的研究成果。在这个让人脑洞爆炸的展会上,我和学长在聊天中各自认定了今后的研究方向。回到实验室后,我主要搞视频透视和相关的软件,而他就开始研究光学透视的东西了。视频透视(Video See-Through,或 VST)和像 HoloLens 这样的光学透视(Optical See-Through,或 OST)各有优缺点。下面,我以 AR 应用为例,大概归纳一下两者主要问题的比较。(学术界里关于两者的比较很透彻,大家有兴趣可以去查阅相关论文。)

5.png

视频透视(Video See-Through,或 VST)和像 HoloLens 这样的光学透视(Optical See-Through,或 OST)的比较——

1、关于叠加效果和显示视角(VST 完胜)

光学透视通过特殊的设计将数字画面投射到半透明的显示装置上,因此呈现出来的遮挡效果(Occlusion)不够完美。看过 Magic Leap 年初发出的眼镜大专利的各位知道,他们花了至少 7 大页的内容来描述他们复杂的光路设计来减缓这个遮挡问题。光学透视的光路设计很复杂,想做出小型的大视角效果基本没戏。试过 HoloLens 的人(约 40 度)就能感受到我说的视角小是一种什么感觉。

同时,由于设计复杂加工困难,OST 的成本会很高。然而,半透明就是半透明,任你减缓,也不可能解决。在这一点上,VST 完胜 OST。由于现实画面是通过摄像头采集的,在显示到屏幕之前已被数字化,遮挡的效果可以轻轻松松以低成本做到完美。在这方面,VST 可以通过算法做到实时 P 图,让现实变成你的画板。

2、关于现实画面延时和畸变(OST 完胜)

由于使用到了摄像头,加上电脑需要同时处理显示画面和数字内容,VST 的延时比 OST 要大很多。

VST 头显硬件上更像 VR,摄像头和显示器的刷新延时是先天性的。在 OST 头显上,现实画面是外部世界的光是通过光学设备穿透进来的,先天零延时零畸变。而视频透视除了刷新延时,还需要矫正因为摄像头的位置和光学与人眼不一样而产生的画面差距,先天会有延时。我们花很多时间,通过硬件和软件的优化去降低延时。但这个延时不可能为零,在这一点上,OST 完爆 VST。

3、关于 VAC 问题(平手)

不管是 OST 和 VST,都存在 VAC 问题。这是我们在使用头显时,深度感知机制在双眼(Vergence)和单眼(Accommodation)上有冲突时造成晕眩的问题。

有兴趣的读者可以自行查阅 Vergence Accommodation Conflict 或「辐辏冲突」。

Magic Leap 的大专利里,也有大量描述过通过光场减缓这个问题的技术。在他们出货前,在这个问题上,目前 OST 和 VST,打成平手。

下文是给「极客」们看的

VMG-PROV 作为一款视频透视的探索工具,性能有限。我希望通过接下来的描述让各位极客认识到购买 PROV 的风险。

延时问题在 VMG-MARK 的架构上有大幅度提升,文末我会把细节告诉大家。下图是从我们将要开源放出的 Demo 工程截图的,可以将一个数字模型叠加到没有预设 Marker 的桌面上。

6.png

在这个开源的 Demo 中,VMG-PROV 通过双目摄像头将现实画面捕获进来,经过头显上 FPGA 的处理后,通过 USB3. 0 接口传输到所连接的 PC 上。现实画面通过软件校准后,Visual SLAM 算法开始运算,将预设的数字模型叠加到正确的位置。之后,再通过 HDMI 将画面传输到头显上的屏幕中。这个开源的工程中包含:

1.VMG-PROV 的硬件细节和原理图

如下图所示,VMG-PROV 的硬件参数已标注并在下表列出。摄像头采集到的视频画面经过 FPGA 的处理再传入所连接的 PC 中,最后通过 SLAM 把叠加了数字模型的画面在传回人眼。所以在用于 AR 上,VMG-PROV 需要 PC 完成较大的视频吞吐,因此建议使用高配台式机。

7.png

作为一个 MR 头显,VMG-PROV 的参数只能达到 VR 的入门水平。我觉得要在 MR 上做出惊艳的应用,这一代是远远不够的。这也是为什么我希望大家把这个产品作为一个学习与探索的工具,同时也通过大家给我们反馈更多的改进意见。为了让这一切成为可能,我们会提供 VMG-PROV 的硬件原理图。

2. FPGA 上处理图像的硬件描述语言

VST 优于 OST 的关键一点是对现实画面的修改,简单来说,就是通过算法实时 P 图。

在软件上测试出来的算法如果能通过 FPGA 实现或加速,对于延时的减少是有很大帮助的。在我们开源的工程中,包含了一个 MR 的 Demo,即实时高动态范围图像合成和映射(Real-Time HDR Composition & TonalMapping),完全通过逻辑写进 FPGA 里面了。

如下图,FPGA 控制 Sensor 高速变换曝光,然后通过合成电路选择出由暗到亮每张图中最好的部分。

8.png

 FPGA 是一种很神奇的芯片,是芯片中的变形金刚。做过 FPGA 的工程师都知道,FPGA 不是普通人搞得定的。

下图给出了我们将要开源的工程中 FPGA 内硬件描述语言的部分。从 Sensor 进来的原始数据将完全在 FPGA 上进行 ISP 处理,之后合成的 HDR 将通过 USB3.0 传到 PC 中。我相信把上述工程的 Verilog HDL 开源,可以吸引到各位有勇气的高手加入到芯片级的 MR 探索中来。通过 FPGA 配合 PC 端的需求,进一步减少 VST 的延时问题。

12.png

3. 基于 PTAM 的双目 SLAM 源代码

VMG-PROV 所用的 SLAM 是基于双目 RGB 摄像头的,是由大名鼎鼎的 PTAM 改成的。这个工程就将上文视频中的 Miku 叠加到了我们的眼镜画面中。PTAM 之后,我们还将把传感器数据融合进来,并使用不同的方法(像 ORB-SLAM,或 LSD-SLAM)实现更稳定的叠加。SLAM 这一块我就不画图了,大致的开源内容包括,双目相机的标定矫正,FAST 特征点提取,RANSAC & Bundle Adjustment,和 Miku 的模型。需要用到 Unity3D 的各位朋友,工程中也有将这套 SLAM 导入的方法。同时,大家去看源代码的时候可以参照 PTAM 的相关资料对其进行修改。

13.png

普通开发者们看这里

讲到这里,我觉得大家对需不需要购买这个「极客版」有了一定的判断。由于 VMG-PROV 还没有达到应用级别,想在 VMG 做应用的各位需要等待一下 VMG-MARK(开发者版本)。按照目前的进度来说,我们的研发团队已经解决了 VMG-MARK 的大部分技术问题。我们把 VMG-MARK 的软硬件架构称为 VLLV(Very Low Latency Video See-Through),它将把视频透视的延时难题大幅度的减缓(是减缓不是解决,解决就是 Zero Latency 了)。所以,希望有落地应用的开发者们最好使用 MARK 这一款产品,而不是 VMG-PROV 极客版。

下图是 VMG-MARK 的架构,起初的设计是为了减少视频吞吐对 PC 的计算量需求,将高清高帧的现实画面视频流直接从 Sensor 传入屏幕中,不经过电脑。之后,慢慢演化成了四个模式。

14.png

我们把这个架构叫做 VT Architecture,它的四个运行模式分别是:

1.Hard 模式

现实画面的视频信号只通过 FPGA 和 ASIC 进行处理,然后马上打到屏幕中。这条路径延时最低,但开发难度最大。写 FPGA 不难,要的是勇气。

2.Hybrid 模式

这条路径最适合用于 AR 应用的开发。

如图所示,头显上的 FPGA 将根据需求把视频分流到连接的 PC 上,然后,再通过 FPGA 把有姿态信息的数字模型融合到原始高清画面中。这样,我们能大幅度减少现实画面的延时,同时也可以把原本需要的大部分运算资源节省下来,从而减小电脑的配置需求。

3.Soft 模式

有心的读者已经发现,这条路径就是 VMG-PROV 的路径。这条路径功能最强大,但延时最高。视频流经过 FPGA/ASIC 然后传入电脑,最后经过屏幕显示出来。Soft 模式适用于早期验证和实验,通过 Soft 写出来的工程要按照应用需求进行优化,并在其他模式上来实现。

4.Light 模式

Light 模式很好理解,就是带 Visual SLAM 的 VR 头显。前端的相机虽然不成像,但是在无时无刻地检测头显的平移运动,这和 Lighthouse 由外至内的检测方法不一样。我们后续开发出更好的 SLAM,也会开源,希望大家再等待一下。

写到这,也差不多了。作为一个小团队,我们希望成为自己理想中的极客。我相信我们的身边有很多有分享精神,探索精神,有心灵,有能力,并且会支持我们的人。我们希望把自己的成果分享给这样的人,这也是我们打算开源的最重要的原因。

 

最新文章

极客公园

用极客视角,追踪你最不可错过的科技圈。

极客之选

新鲜、有趣的硬件产品,第一时间为你呈现。

顶楼

关注前沿科技,发表最具科技的商业洞见。