MagicLeap到底搞啥黑魔法?

最近的科技圈里,一篇关于最神秘的创业公司MagicLeap造假的报道一夜之间传开。甚至在有些媒体的渲染之下,很多吃瓜群众觉得谷歌、阿里巴巴砸的钱打水漂了,MagicLeap一文钱不值了。

其实,报道的原文指出,MagicLeap的demo视频中“至少一条”是特效;而体育场的鲸鱼,只是个“展望未来”的特效,其实也早已是不争的事实。mldemo

(图片来自MagicLeap官网演示视频)

就算MagicLeap目前公布的全部视频都是特效,如果你探究一下MagicLeap究竟想要做的是什么事情,在研究的是什么技术,你就会为这技术的难度而敬畏,为它未来的前景而惊叹,从而不再诟病那几条特效视频了。(当然,很多人相信这技术太难了,以至于10年之内根本不可能达到,从而继续诟病MagicLeap的不切实际。但笔者本人向来是相信所有敢于尝试不可能的人的。)

那么MagicLeap到底要搞啥?不是计算机视觉,不是环境建模,不是图像处理——那些留给软件公司去搞就好。

MagicLeap的核心只有一样,光场显示。

想象一下,如果把你家里的窗户玻璃换成一幅高分辨率的照片,一幅精心调整好大小、比例、亮度和色彩的照片,照片上是原本窗外的景色。请问多长时间你能够发现窗户被动了手脚?你肯定觉得,这不可能瞒得过你的眼镜。

如果把照片换成一块高分辨率显示屏,同时增加眼跟踪功能,画面会根据你眼睛的位置实时渲染,就像《碟中谍4》里面展示的装备那样。那么你多久能发现窗户的破绽?其实如果从远处看,你几乎不会发现破绽,直到你决定走到窗前远眺风景思考人生的时候,或者你和家人两个人一起远眺风景的时候,一定会发现破绽(就像《碟中谍》电影里那样)。

mi44

(带头追踪的伪装投影——图片来自《碟中谍4》)

然而,如果把窗户换成一块光场显示屏,就是MagicLeap想做的那种,那么你可能永远不会发现其中的破绽,即使多人观看也不会。对于文章开始提到的出名的“体育场鲸鱼”视频,如果能在体育场的观众面前放一大块光场显示屏,那么完全可以展示足以乱真的的鲸鱼。

什么是光场显示?

我们先从普通的头显(Head Mount Display,HMD)开始,看看他们是什么原理。从15块钱的纸板头显,到高端的Vive或Rift,其光学原理都是(每只眼睛)一个凸透镜加一个显示屏。

vive

(Vive的一个“眼睛”——图片来自iFixit)

如果回忆一下中学的几何光学,原理如下图所示。由于凸透镜的存在,人眼观察到的是显示屏的一个放大的虚像。虽然显示屏距离人眼只有几厘米,但这个虚像位于几米或者更远的位置,同时其大小超过了人眼转动的范围(eyebox),从而人眼看不到它的边界,好像画面无限大。

display

然而它是在一个固定距离位置的一块虚拟屏幕(平面)。人眼看到的光,全部从这块虚拟屏幕(平面)发出来。如果暂不考虑双目视觉,单用一个眼睛去看,你看到的是一个大平面,毫无立体感。

下面来说光场。

假设你前方的视野中有两个彩色的灯泡(点光源),一个红色,一个绿色,正如下图a)中的情况。它们发出的光线被你的眼睛接收到,从而你看到了两个真实灯泡的存在。请注意,图中只画出了11条光线,这只是示意。实际情况中,点光源发出的光线比图中“密实”的多,完全填满了图中的缝隙。

如果在眼睛和灯泡之间放一个平面,那么透过平面的光线就是图中b)中实线的样子。假设我们去掉灯泡,而是在原来平面的位置模拟出和原来相同的光线(相同的颜色、相同的强度、相同的方向),即那些实线,那么人眼看上去就会认为真的有两个灯泡,而且它们的位置恰好和之前相同。透过平面的光线的颜色、强度、方向,就是光场。能模拟出颜色、强度、方向的平面,就是光场显示器。这就像图中b)的样子。

display

而普通显示器,包括普通HMD中成像在远处的虚拟显示屏,则不是这样工作的。首先,要表现的两个光源会被投影到屏幕所在的平面上(这时因为拍摄图像时,就只记录了一个投影),而光线则是从屏幕平面发出的,就像图中c)那样。

如此的差异,是因为普通显示器只能再现光的强度,而丢失了方向信息。事实上,普通显示器的每一个像素点,只能类似一个点光源那样向所有方向发光。而光场显示器的每一个“像素”,可以向不同的方向发射不同强度和颜色的光线,从而可以完整再现光场原有的样子。

光场显示有什么好处?

首先,如果有一块足够大的光场显示屏(比如你的窗户那么大),那么双目视觉将自动呈现出不同的,物体的遮挡关系会自动随着观察位置的移动而改变。因此,3D眼镜、头部追踪,统统都不需要了。这就是MagicLeap体育场鲸鱼所展望的那样。

可惜,目前貌似还没有像窗户那么大画幅的光场相机,更不要说显示了。看起来MagicLeap目前似乎也只是想开发带有光场显示的HMD。看看MagicLeap展示出来的小片片。

rony-abovitz-magic-leap-750x434

(MagicLeap创始人展示一片神秘的片片——图片来自Wired)

这样一来,虽然头部追踪、双目视觉,还是要靠计算的,但是光场显示仍然可以带来两大好处。

首先,是个不那么重要的,就是光场显示屏可以直接放在距离人眼几厘米的地方,而无需再通过透镜成像。这是因为人眼聚焦的是显示屏显示的虚像,而不是显示屏本身。这使得HMD可以做的非常轻薄,就像普通眼镜一样。

更重要的优势是3D效果。数字叠加的影像的焦距(或“深度”),是可以自由连续变化的。因此,观察者眼睛的焦距(晶状体的焦距)可以更自然的切换于不同深度的虚拟物体上,或者深度相同的虚拟物体与真实的背景物体。你不会感觉虚拟物体好像笔直地悬在空中,而是真正叠加在环境里。这种体验是单纯靠双目视觉无法满足的。(斯坦福SCI组的教授讲,特别是在75cm手臂距离内,焦距和双目视觉相比对3D效果的体验起决定性作用。)

然而,即便是这样小的一块光场显示屏,也足以消耗一群世界上最聪明的头脑,以及数以亿计的资金,才有一丝丝可能完成。况且目前MagicLeap的研发看起来走的并不顺畅。

光场和全息

其实光场的记录和再现,最传统的方式就是全息摄影(Holography)。在一些信用卡或包装盒上,有激光防伪标志,看起来好像一个立体的标志悬浮其中,那就是全息技术。然而全息摄影,只能通过全息胶片作为记录和再现的载体,直到一款光场相机的面世,名为Lytro。

Lytro通过微透镜结构,可以数字化地记录光场。然而,Lytro推出的这么多年,就只有一个杀手锏应用,即拍照时无需调焦距,可以后期调节焦距,选择前景或背景的虚化。遗憾的是,这个功能很快被双目带深度的摄像机加后期处理达到,再后来甚至被通过纯软件实现了。时至今日,恨不能手机都做了个“后期调焦”的功能,美其名曰“光场摄影”。其实那和光场没半毛钱关系,“后期调焦”只是光场的一点点应用罢了。

lytro_illum_light_field_digital_1046808

(Lytro光场相机Illum——图片来自网络)

Lytro的尴尬在于,拍下了完整的光场数据,却苦于没有再现它的手段,只能玩玩“后期调焦”的小把戏。而光场显示技术,正是完成这一闭环的另一片拼图。

有没有其它做光场显示技术的团队?据我查找,还有两个。一是NVIDIA,采用了和Lytro类似的微透镜技术,通过完全相反的光路,实现光场的再现。另一个是斯坦福SCI组利用有一定间距的两层LCD做的系统(http://www.computationalimaging.org/publications/the-light-field-stereoscope/),后面的LCD负责显示,前面的LCD负责调制(类似充当微透镜的作用?)。

光场和HoloLens

很遗憾,据我所知HoloLens和光场没有半毛钱关系,虽然HoloLens的名称和广告中与全息总是挂上联系。

HoloLens的核心在于让现实景物与显示内容合而为一的光学技术(而且此技术中很可能用到了全息技术)。而其数字显示内容,仍然是成像在无穷远的一个平面,而不是带有光线方向信息的光场。

此外,作为软件公司的作品,HoloLens的核心还在于结合了强大机器视觉的具体MR应用。

结语

如果我们能实时精确地跟踪人眼位置、角度,测量人眼内晶状体的焦距,那么我们总是可以通过计算,用普通的显示屏大致模拟一个基本符合认知的图像。然而,光场显示是真正完全再现人眼看到实物的光线的方式。无论人眼距离光场显示屏多进或多远,无论单眼双眼还是多个人多只眼,无论角度位置,只要透过光场显示屏,都能看到真实的画面。

有一天,你的窗户被换成了光场显示器,即使屋外雾霾密布,从屋里看出去仍然阳光明媚。

发表评论

邮箱地址不会被公开。 必填项已用*标注

在这输入验证码 : *

Reload Image