京东VR实验室负责人赵刚:Magci Leap是什么原理?
今天晚上,京东集团架构部总监、京东VR/AR实验室技术总负责人赵刚博士在魔多课堂分享了关于光场技术的原理,以及Magci Leap如何利用光场实现MR的。
VRZINC征的赵刚本人的同意,现在将其分享的内容写出来。
按照赵刚博士的描述,Magci Leap也是通过眼镜将虚拟场景和现实场景混合显示,这个有点像微软的hololens,这符合AR的概念,但是Magci Leap认为他们的产品和普通的AR产品有区别的,普通的是将二维没有深度的图像和现实场景融合,但是Magci Leap可以将 三维有立体的和现实场景产生遮挡的和现场融合,他们成为MR。
下面是演讲内容:
什么是光场?
光场是被认为未来的完美显示技术。那么什么是光场呢,光场在哪里呢?简单地说,人们看自然界真实物体时看到的是光场,而从普通显示屏幕上看到的,物体的像,不是光场。
人们还是能感受到光场和像的感觉的,人们会感觉到看真实物体时物体很“真实”,有立体感,有远近感,人们打量一个物体时,还会时不时地晃动脑袋,变换一下观察方向,感受一下这个物体的立体结构。
但是当人们从屏幕上看物体的像时,虽然也能感觉到一定的立体感,这是由于明暗关系、遮挡关系造成的,但和真实物体的的立体感相差甚远,人们也不会在看屏幕是变换观察方向,因为即使变换方向看到的画面也不会发生变化。
那么从屏幕中发出的光线和真实物体发射或者反射的光线到底缺少了什么内容呢,正是因为这个缺少的内容时人们看屏幕中的像和真实有较大的差异。
要找出这个缺少的内容可以从拍照说起,屏幕中显示的物体的像就是人们给物体拍摄的照片。
如果人们在拍摄照片时,少记录什么内容,在屏幕中显示时也会缺少显示内容,这个就是缺少的内容就时光线的方向信息。
人们在拍摄照片时,通过凸透镜将物体发射或反射的光线收集起来,汇聚到底片上,底片是一个屏幕,他会逐点记录光线到达底片的颜色。
如果有两条来自不同方向的光线,它们通过凸透镜后,打到底片上的同一位置,那么底片会把这两条光线记录在同一像素上,记录下这两条光线混合后的颜色,但没有记录下这两条光线的方向。
那也就是说人们在用普通相机给物体拍摄照片时,记录下光线的颜色和位置但没有记录光线落射的方向。既然拍照的时候没有记录下光线的方向,屏幕显示的时候也不可能还原出光线的方向。这是信息论决定的,信息不能凭空创造出。
屏幕在显示物体像的时候,所有的光线都是从屏幕出发的,也就是从一个平面发出,通过直线传播达到人们的眼睛,人们要看清物体就要将眼睛聚焦到屏幕上。
虽然物体是立体的,但从光线发出的位置来看,都是从一个平面发出的。但真实的物体发出/发射的光线是从物体的各个位置发出的,并非从一个平面上发出,光线携带了物体的立体信息,人们要看清真实物体时,眼睛需要聚焦到物体的真实表面上。
分析到这里就基本弄清楚了真实世界的光线从三维世界的各个位置发出的,而屏幕上的光线是从一个平面上发出的,即使屏幕复杂一点比如曲面但也改变不了多少。
由于从各个位置发出的光线达到眼睛的方向不同,距离不同,眼睛的位置不同,因此接受的光线不同,因此出现了双目视差,移动视差,聚焦模糊等效果,通过大脑的处理,人们能感受到物体的立体感。
但从普通屏幕发出的光线是从一个平面发出的,到达眼睛的距离,方向,基本相同,人的两只眼睛看到的图像基本相同,即使移动一下,改变观察方法,也不会有大的变化,也不用根据物体表面各点的距离调节聚焦,直接聚焦到屏幕上即可。所以大脑无法处理处立体信息,自然就缺乏立体感。
那么可以认为光场不应该是从一个平面发出的光,而是从整个三维立体的空间发出的光,如果不旦能够记录光线的颜色、位置还有方向并且在显示端还原出来,就可以称为完整的光场技术,如果只能记录光场信息就是光场拍摄技术,如果只能显示光场则是光场显示技术。
以上是对光场的通俗的解释,光场也有严格的理论,称为5维全光学理论,光线是从三维空间中的任意一点发出的,三维空间任意点可以用(X,Y,Z)三个参数表示,光线是从这个点上发出的一条射线,射线在空间中的方向可以用(θ,φ)两个参数表示,那么表示空间中的光线的公式是L=F(X,Y,Z,θ,φ)成为5维全光函数。
另外光线还有颜色、亮度等等参数,所以要描述一条光线需要很高的维数。我们常说的5D光场并没有实际并没有光的颜色亮度计算进去,5D指的是光源的位置和光线的方向。
技术上很难将光线的全部维度记录出来,一般是降维处理,比如只记录光线的位置X、Y颜色和亮度而不记录光源的距离Z,也不记录光线的方向θ和φ,这个就是普通的照片。
如果记录下光线的位置XY,颜色和亮度,也记录光线的方向θ和φ,但不记录光源的距离,这就是4维光场相机,比如比较著名的Lytro就是4D光场相机。
Lytro相机的4D光场
4D光场也可以两个平面坐标来表示,L=F(U,V,S,T)其中,U,V和S,T分别是两个互相平行的平面上的点,这是4D光场比较常见的表示方法。
Lytro相机是能记录4D光场的相机,他的主要秘密,是在图像传感器上贴了一张微凸透镜膜,里面是蜂窝状的微透镜,数量大概有10万,但光线从不同方向进入微透镜时经过微透镜的折射会映射到微透镜后面不同的像素上,也就是说微透镜完成了将光线方向转换成屏幕上位置的功能。然后又微透镜后面的传感器记录下来。
箭头所指的就是微透镜
这样Lytro相机就实现了利用普通图像传感器记录方向、光线的功能,从而成了光场相机。当然并没有表面上那么简单,这里涉及到精密的算法,包括从平面上吧光线的防线还原出来、实现先拍照后对焦,也涉及到非常精密的加工工艺,比如微透镜正面的加工精度。
先拍照后对焦是Lytro的卖点,虽然拍摄到光场能做很多事情,但作为相机这个功能比较容易理解又有吸引力,否则消费者会问我们拍摄到光场又有什么意义?
先拍照后对接这个功能是如何实现的呢?理论上Lytro相机可以对焦到无穷远,镜头景深做得很大,让拍摄到的每个像素基本都是清晰的,然后通过解算每个像素到相机的距离将对焦距离外的像素人为模糊掉,实现全景深范围内的后对焦。
但实际上受到传感器分辨率、数据量、处理速度等影响, Lytro有一个可以重新对焦的范围,该范围可以在拍照的时候选择,并不是所有景深都可以实现先拍照后对焦,他又一个范围,这个范围内可以实现先拍照后对焦。
这张图上中间颜色的部分就是可以后对焦的部分,如果这个范围大,那么对焦的步长就大,不精细。否则就精细些。
由于记录的数据量有限,Lytro也不能连续选择聚焦距离,聚焦距离有一个步长从图中可以看出一个颜色就是一个步长,如果微透镜的尺寸大,或者每个微透镜背后包涵的传感器多这个步长就可以小,但照片的整体分辨率就会下降,相当于Lytro将更多的资源用于记录光线的距离和方向。
用Lytro光场相机拍下一张照片,然后可以输出左边的效果,也可以输出右边的效果。
因为图像传感器的分辨率是有限的,而Lytro记录光线的颜色和方向都是在同一块图像传感器上是实现的,就会有一个资源平衡问题,如果将更多的像素分配给颜色,照片的尺寸会大,但是方向分辨率会低,也就是聚焦的步长就大,反过来是一样的。
Lytro实现了光场记录,但最后只用于照片后对焦,并没有将光场显示出来,所以这是属于光场拍摄技术的产品。
那么我们比较感兴趣的还是把光场显示出来,如果能把光场显示出来,人们能够用肉眼看到一个非常真实非常具有立体感的物品,如果将光场显示到大屏幕上,人们不需要佩戴特殊眼镜,就可以看到立体头像,理论上也不用跟踪用户的眼球就可以实现多人裸眼立体显示 ,如果实现4D光场显示,就可以实现双目视差,移动视差,如果实现5D光场显示,还能够实现聚焦模糊。
一种可行的方式是利用Lytro的逆过程,由于光路是可逆的我们可以将相机里的图像传感器变成变成发光的屏幕,同时将尺寸放到到屏幕的大小,比如20寸,同时图像传感器上的微透镜也同步放大,还是张贴上屏幕上,屏幕上发出的光线必须经过微透镜折射才能够进入到人的眼睛。
由于光路是可逆的,从微透镜入射的光线和出射的方向是一致的,这样就还原了拍摄光场时的光线方向,从而重现了光场,听起来很简单,但实现很难的,比如算法、加工精度,发光亮度等等。
4D光场装置示意图
这种方法确实可以实现4D光场的重现,对这样的屏幕看你不用带特殊的眼睛就可以感觉到物体的立体感,而且可以看真实物品一样,左右晃动脑袋,改变观察角度,你真的可以看到物体的侧面,不同角度观察室不一样的,会看到一个立体的物体,和看激光全息的照片一样。
这个4D光场的重现装置我们已经试验成功,大家可以到北航xR实验室参观。
Magci Leap的黑科技
那么Magci Leap也宣传是光场显示技术,从他的宣传视频来看用户不需要佩戴眼镜,但从技术分析来看,用户也是需要佩戴眼镜的。
实际上Magci Leap的眼镜可能是这个样子的,首先该眼镜和头盔比是比较轻便的,眼镜通过电线和腰间的一个盒子相连,实际上不全部是电线也有光纤,图像是在那个小盒子产生, 通过光纤传输到眼镜。
Magci Leap使用的图像显示方式和其他产品不同,一般的屏幕是通过固定在屏幕像素点发光,而Magci Leap是光纤投影仪的东西来产生图像的。
Magci Leap使用的光纤扫描仪非常小一个只能扫描出直径1毫米的图像,一副Magci Leap眼镜需要很多这样的光纤扫描仪排成整列合成尺寸足够大的图像。
光纤投影仪阵列示意图
那么为什么Magci Leap要使用光纤投影仪而不是普通的显示设备,因为Magci Leap希望给人们展示一个大幅面的,水平视角120度,垂直视角80度,没有沙窗效应的光场图像,这样就需要极高的图像分辨率。
我们按人眼的角分辨率为1分来计算,如果没有纱窗效应,且水平视角120度,垂直视角80度图像就需要7200X4800,约34兆的像素。
而且这么高的图像分辨率在这么小的面积下实现,一般的显示器无能为力,按照微软hololens显示器像素直径5微米计算的,就需要36毫米X24毫米的面积, 按照MagciLeap光线投影仪像素直径1微米计算的话,投影仪需要7毫米X5毫米,这样就完全可以放在眼睛的一侧。
Magci Leap投影仪在眼睛的侧面,但图像必须呈现在眼睛的前面,所以必须用一种办法把光线从侧面引导前面,Magci Leap采用很神秘的光学元件,他们称之为光子光场芯片,这个能够把特定波长的光线从侧面变化到正面,并投入到人的眼睛里,直接在视网膜成像
并且能够电控制不同的图像焦平面,模拟图像光线从不同的方向发射过来的。
光子光场芯片
这样Magci Leap就实现了光场中实现Z参数,就是能够模拟出光源到眼睛的距离,如果还能够实现光的方向,那么就是5D光场,完全真实的光场,和看自然物品是一样的感觉。
光子芯片示意图
Magci Leap也是通过眼镜将虚拟场景和现实场景混合显示,这个有点像微软的hololes,这符合AR的概念,但是Magci Leap认为他们的产品和普通的AR产品有区别的,普通的是将二维没有深度的图像和现实场景融合,但是Magci Leap可以将三维有立体的和现实场景产生遮挡的和现场融合,他们成为MR。
要实现MR眼镜中显示的物品和现实中有遮挡关系,Magci Leap必须正确理解物品的三维结构所以Magci Leap对运算性能是比较高的,目前Slam算法有待提高, Magci Leap是否通过Slam还不能确定。
Magci Leap是需要实时获取用户的眼球信息的,要知道用户的注视方向、聚焦点,计算用户聚焦点和眼睛的距离, 如果Magci Leap将虚拟物品显示到用户眼睛的聚焦点,必须通过光子光场芯片正确模拟出光场的距离。
为了能够理解场景的结构,也能够或许用户的眼球信息,Magci Leap需要很多的摄像头,他对外需要摄像头,对内拍摄眼球,估计至少5-6个摄像头。
PS:赵刚博士正在写一本与VR/AR相关的书,这次的分享是其即将出版的书中的一部分,有兴趣的可以过一段时间直接购买书籍观看。
赵刚简介:京东集团架构部总监、京东VR/AR实验室技术总负责人。北京航空航天大学通信与信息系统博士,CSDN/CTO 俱乐部专委会会长,iTechClub 资深会员,京东第一届架构委员会常务委员,长期研究计算机图形图像与智能技术,拥有多项技术专利与软件著作,曾参与研发军用无人直升机,神舟五号载人飞船。