博主最近在搞光场相机方面的研究啦,好了废话不多说,开始!
1. 一些前言废话
首先,来一下光场的基本概念,来自百度百科。光场(light field):就是指光在每一个方向通过每一个点的光量。从概念里,你至少可以得到两点信息:1.光场包含光的方向;2.光场包含一个点的光量。
那光场相机是个什么东西,和我们平常的相机有什么区别呢?
其实光场相机也是一个相机。。好吧有点儿啰嗦。我们知道普通的相机拍照成像,得到的离散的像素点,每一个像素都会有其像素值,那么这个像素值反应的就是光场中某一点的光量,仅此而已,我们不能够从图像中得到打到这个像素点位置的光线是从哪个方向来的,所以,普通的相机只能够得到光场中的光量信息,丢失了方向信息。
而牛逼哄哄的光场相机则不同,不仅能够记录光场的光量信息,也能记录光场中光的方向信息,也就是说它能够记录摄像机内部的整个光场!
光场相机长什么模样,以著名的Lytro公司的光场相机为例, 它们就是下面的模样,左图为第一代产品,名为 Lytro F01,(丑爆了)。右图为第二代产品,名为Lytro Illum (还将就).
当然还有著名的工业级光场相机 RayTrix,德国的企业,就不多说了。
Lytro公司是斯坦福大学的吴义仁(Ren Ng)博士毕业后创办的公司,是世界上首款消费级别的光场相机,还是挺厉害的。他的博士毕业论文名为《Digital Light Field Photography》获得了2006年美国计算机协会(ACM)博士论文大奖。(据说现在已经从公司辞职回到学校教学去了。。。)
那光场相机能够记录整个光场又能怎么样呢?好,这就是卖点了,该相机能够实现先拍照后对焦。你没看错,就是这样,在拍完照了,你想重新对焦到图像中哪一个位置,就能通过点击图像得到该位置清晰的图片,放两张Ren Ng论文里《Light field photography with a hand-held plenoptic camera》的图片,对焦平面由近及远,是不是蛮神奇的,消费者不用担心拍到的图片没有聚焦到理想的位置,可以通过后期相机内部对光场的处理实现重聚焦作用(refocus)。
2. 少说废话
如果能够吊起你的胃口,那说明你还比较感兴趣。说重聚焦之前,我们需要先了解一下光场的参数化表征,就是说如何把抽象的光场参数化表示出来。当然,这些不是我研究的,都是一些大牛们做过的事情,想看原论文的可以根据下面提到的作者,年份等去谷歌学术一下。如果想快速掌握就看中文的文献就够了,因为研究的同胞们还是很多的,如下,当然Ren Ng的原著期刊论文也必须要看一看:
①周志良. 光场成像技术研究[J]. 博士学位论文. 合肥: 中国科学技术大学, 2012.
②聂云峰, 相里斌, 周志良. 光场成像技术进展[J]. 中国科学院大学学报, 2011, 28(5): 563-572.
③Ng R, Levoy M, Brédif M, et al. Light field photography with a hand-held plenoptic camera[J]. Computer Science Technical Report CSTR, 2005, 2(11): 1-11.
光场概念最早由A.Gershun在1936年提出,用于描述光在三维空间中的辐射传输特性。1991年,E.Adelson和J.Bergen根据人眼对外部光线的视觉感知,提出用7维函数来表征空间分布的几何光线,称为全光函数(Plenoptic Function)
。如果只考虑光线在自由空间的传输,其波长一般不会发生变化,则任一时刻的光线可由5维坐标表示
。更进一步,忽略光线在传输过程中的衰减,M.levory和P.Hanraham将5维的全光函数降至4维,提出用两个相互平行的平面对四维光场进行参数化表示。
如下图所示,
表示光场的一个采样,L表示光线的强度,(u, v)和(s, t)分别为光线与两个平面的交点坐标。在四维坐标空间中,一条光线对应光场的一个采样点。现实中大部分成像系统中都可以简化为相互平行的两个平面,比如传统成像系统中的镜头光瞳面和探测器像面,如果用传感器像面中的坐标(x,y)表示光线的分布位置,那么镜头光瞳面坐标(u,v)就反应了光线的传输方向。
图2 四维光场的参数化表示
传统成像系统所采集到的光场分布可以用下图表示,探测器像面上每个点接收来自整个光瞳的光线进行积分,像面(x,y)处的光照度为
其中,(u,v)为镜头出瞳面上的坐标。
图3 传统成像的光场分布
可见传统成像系统所探测到的光场只能反应其强度和位置(x,y)之间的关系,而损失了其(u,v)方向的信息。
而光场相机与传统成像不同,光场成像需要利用二维的探测器像面同时记录光场的四维信息,即二维位置分布和二维传输方向。为了实现四维信息向二维平面的转换,必须对四维光场进行重采样和分布。光场相机在传感器前面放置微透镜阵列来实现光场的采集,如下图:
镜头、微透镜阵列、传感器三者之间位置关系为:微透镜阵列放置在主镜头的焦平面附近,而传感器放置在微透镜的焦平面附近。
也是就说光场相机和普通相机不一样的地方,主要就是在主镜头的焦平面附近放置了一个微透镜阵列,而将传感器Sensor放在了微透镜的焦平面附近,通过这样的关系来记录四维光场!
那么在光场相机中参数化的光场是怎么表示的呢,为什么加一个微透镜阵列就能够记录光场中光线的方向的?L(u,v,s, t)中的u,v,s,t分别表示什么,又是如何实现重聚焦的?
夜已深,请看下文更新吧!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168151.html原文链接:https://javaforall.cn