随着近段时间 Magic Leap 在科技圈引起热议,其中 " 光场成像 " 是 Magic Leap 的成像原理的技术核心,在这个火热的背景下,Lytro、蚁视科技等 AR/VR 硬件公司也纷纷跳出来推销他们自己的 " 某某光场 "。噢,对了,Magic Leap 号称是 " 数字光场 ",蚁视科技号称是 " 复眼光学技术 " 其实本质上都是 " 四维光场显示技术 "。
理解这么高大上的玩意儿之前,我们先来进行几个枯燥乏味的百科科普。
什么是光场 ?
(图 1. 光场的四维参数化)
根据目前查到的文献,官方说法是 " 光场 ( light field ) 的定义,最早可以追溯到 1846 年法拉第给出的定义,就是巴拉巴拉巴拉巴拉巴拉 ... 光线携带二维位置信息 ( u,v ) 和二维方向信息 ( θ,φ ) 在光场中传递。根据 Levoy 的光场渲染理论,空间中携带强度和方向信息的任意光线,巴拉巴拉巴拉巴拉巴拉 ..." ( 反正我摘录出来,具体内容我们这种小白也看不懂对不对 ? )
简单的说,光场是空间中同时包含位置和方向信息的四维光辐射场的参数化表示,是空间中所有光线光辐射函数的总体。其两个主要应用方向是光场拍摄和光场显示,第一种需要记录下来整个空间的所有信息,第二个则是需要将这些信息完整地复现出来。用小编我能理解的话就是在空间内任意的角度、任意的位置都以获得整个空间环境的真实信息,用光场获得的图像信息更全面,品质更好。
(图 2. 人眼视觉成像示意图)
还是很迷糊对不对,So. 我们还是来看大神对小白是怎么耐心又富有同情心的解释的吧。
" 理解这个光场之前,你需要先理解下我们现在看到的这个世界。简单的说,我们看到的世界是由物理的反射光线射入我们的眼睛以后,通过晶状体的折射等等,最终在我们视网膜成像,之后视网膜把这些电信号通过视觉神经转化给大脑。而我们在看不同物体时,我们眼镜的晶状体会随时调整厚薄程度来使物体更清楚,进行对焦。简单的说,就是当物体靠近时,我们人的瞳孔会进行收缩,类似于相机调小光圈减少光强,睫状肌收缩,使晶状体屈光度更大,让视网膜接受到清晰的实像,反之亦然。
而这个过程,随着人类上百万年的进化,随时对焦已经成为了人类的一种本能,而随之进化出来的防抖技能 ( 学术名称 Vestibulo-Ocular Reflex, 前庭视反射,简称 VOR ) ,更是让我们几乎感觉不到中间切换时的画面抖动和模糊效果 ( 当然,你要是傻傻的以每秒摇摆三次头的频率去尝试,中间画面切换时还是会有模糊的 ) 。也就是说,我们人眼看真实世界的时候,眼睛落到不同物体或者不同的点上时,焦点、焦距都是不同的。
即我们眼中看到的清晰的世界,在一个时间内,只是类似于一个确定焦点的二维图,跟现在通用相机拍出来的照片差不多,焦点部分是清晰的 ( 就是我们盯着看的地方是清楚的 ) ,背景部分则是虚化的 ( 就是除了盯着的中心区域以外,眼镜余光部分全部是模糊的 ) 。而整个空间环境则是由无数个这样的二维画面叠加融合而成,融合后的画面会包含各个 " 焦点 " 在特定时刻的各种空间信息和位置关系。而光场,就是要真实的记录跟复原模拟出来这个空间。使我们跟真正在这个空间中的任何位置一样,能从任意角度看到对应的‘无数个这样的二维画面叠加融合’而成的画面。
用不太准确的比喻的话,就是把你眼前的立体世界加一个轴,然后按照这个轴切片,你看到的所有画面都是这一堆切片里面的某一张。Lytro、Next VR 以及谷歌的 Google Jump,德国公司的 Raytrix 等等,他们所针对的方向就是如何将这个空间的所有信息完整的记录下来,而 Magic Leap、蚁视要做的则是怎么把这些内容复现出来。"
(图 3. Next VR 设备示意图)
针对获取光场,无论是 Next VR 方案、Lytro 相机,还是 Google Jump 等,大体的方案主要有三大类型:
微透镜阵列解决方案
相机阵列方案
掩膜及其他孔径处理方案
(图 4. 普通相机原理)
(图 5. 光场相机原理)
第一种微透镜阵列方案。
过细小的微透镜单元来记录同位置不同角度的场景图像,从而在现有的普通成像系统基础之上,通过对现有相机一次像面地方加入微透镜阵列的简单改造,从而获得一个四维光场。代表公司有 Adobe 公司 2011 年爆出的光场相机镜头。
(图 6. Adobe 公司光场相机镜头)
在 Adobe 公司光场相机镜头的方案中,类似于昆虫复眼的设计,每一个单独的镜头在图像分辨率等方面与传统镜头并无优势,而且由于镜头外接,甚至会引入新的像差等问题需要处理。但原始图像经过 Adobe 公司对应的软件分析处理之后,就会获得一个多层的三维模拟图像。
第二种办法是相机阵列。
代表方案有斯坦福大学 Marc Levoy 教授 1996 推出的 128 相机阵列方案、Isaksen 单相机扫描方案、MIT 64 相机阵列方案、卡耐基—梅隆大学的 "3D Room" 方案等。该方案是通过相机在空间的特定排列来抓取一组不同的图像,然后通过特定的计算方式将这些场景重构,从而获得广场。用这种方案获得的图片可以包含很多直接的数据信息,而且在合成孔径成像、大视角全景成像方面具有优势,但 128、64 相机阵列 ... 想想小编都觉得密集型恐惧症。
第三种就是掩膜及其他孔径处理方案了。
此类方案的代表有 Veeraraghavan 光场相机等,这一类方案都是针对相机的孔径来做文章,通过有规律的调整孔径及光强等来获得一系列照片。这组照片的频域分布会跟光场数据基本吻合,通过对应的数据处理,可以反推得到四维光场信息。这种方案实行起来硬件方面较容易实现,但在软件数据转换方面则需要针对性的处理。
但实际上随着近年硬件成本降低和成熟,光场获取方案这边目前更多是倾向于大尺度的大型相机阵列和小尺度的光场显微镜。但目前所有的光场相机方案在图像空间分辨率与轴向分辨率两者之间都尚不能做到较好的兼顾,限制图像空间分辨率和轴向分辨率增长的硬件瓶颈、处理瓶颈等等成为光场获取目前最大的问题。
而针对如何把光场复现出来,主要的方向有:
计算成像方向
数字重聚焦方向
第一种计算成像方向是将相机的光学系统抽象成四维光场的不同轴面数据,然后通过计算光辐射量、光瞳函数等得到整个光场的数字信息,然后数值积分近似求解,就可以基本数字复原出整个光场,这些图像的数字信息可以直接通过相应的显示设备来展示。
(图 7. 数字重聚焦原理图)
第二种数字重聚焦方向,小编暂时仍未理解,只知道是过获取重聚焦目标物所在的图像平面,计算其接收到的光辐射量,再通过傅里叶切片定理推论,来重建不同焦距处的图像。
然而不管是那种成像方法,获得这些光场的数字信息以后,都需要相应的显示设备才可以展示。但目前能够真正实现我们在光场中移动,图像也会随之变化,感受起来就像在一个真实的世界中行走这种效果的设备,目前还不没有太成熟的成品,期待 VR 设备能够尽早的解决这些问题吧。