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://www.cnblogs.com/riddick/p/6725273.html

光场相机重聚焦原理①——光场的参数化表征相关推荐

  1. 光场相机重聚焦原理介绍及代码解析

    光场相机重聚焦原理介绍及代码解析 光场相机重聚焦–焦点堆栈深度估计法 全部代码下载地址: https://download.csdn.net/download/weixin_38285131/1044 ...

  2. matlab光场成像,光场相机重聚焦原理③——Matlab光场工具包使用重聚焦及多视角效...

    光场相机重聚焦原理③--Matlab光场工具包使用重聚焦及多视角效 光场相机重聚焦原理③--Matlab光场工具包使用.重聚焦及多视角效果展示 目录 1.从相机里导出白图像(White Images) ...

  3. 光场相机重聚焦原理之——光场的参数化表征

    转自https://www.cnblogs.com/riddick/p/6725273.html 博主最近在搞光场相机方面的研究啦,好了废话不多说,开始!  1. 一些前言废话 首先,来一下光场的基本 ...

  4. 光场相机重聚焦原理③——Matlab光场工具包使用、重聚焦及多视角效果展示

    目录 1.从相机里导出白图像(White Images): 2.处理白图像: 3.利用白图像对光场文件进行解码得到rawImage: 4.对rawImage进行去马赛克操作(demosaic): 5. ...

  5. 光场相机重聚焦原理②——Lytro Illum记录光场

    目录 1.光场相机内部如何记录光线的方向? 2.Lytro illum中光场如何参数化表示? 3.Lytro illum如何实现重聚焦? 上一节中大概讲述了光场相机和光场的参数化表示,这一节就说一下光 ...

  6. 光场相机重聚焦--焦点堆栈深度估计法

    光场相机重聚焦原理介绍及代码解析 光场相机重聚焦–焦点堆栈深度估计法 全部代码下载地址: https://download.csdn.net/download/weixin_38285131/1044 ...

  7. 光场相机重聚焦之二——Lytro Illum记录光场

    转自https://www.cnblogs.com/riddick/p/6731130.html 上一节中大概讲述了光场相机和光场的参数化表示,这一节就说一下光场相机内部是如何记录光场以及实现重聚焦的 ...

  8. Lytro 光场相机重对焦C++实现以及CUDA实现

    前面有几篇博客主要介绍了光场和光场相机相关知识,以及重对焦效果和多视角效果的展示.算是自己学习光场过程的一种总结. 这次贴上自己用OpenCV/C++编写的重对焦算法实现(包含CPU版和CUDA GP ...

  9. 光场相机频域重聚焦原理

    之前有和大家聊过光场相机的空域重聚焦原理,而我们知道对于信号处理而言,频域处理也是很常见的.对于光场重聚焦如何在频域进行表征呢? Ng最早提出了频率域重对焦图像算法,算法核心是围绕傅里叶切片定理进行展 ...

最新文章

  1. vs2008 中MessageBox()报错——CString与Char* 的转化
  2. EfficientNet v2来了 更快、更小、更强
  3. git merge合并时遇上refusing to merge unrelated histories的解决方案
  4. winner or loser
  5. eclipse3.6默认指向 WebContent 目录 修改为 webRoot
  6. java+testng接口测试入门
  7. java 中jtextfield访问限制_java.swing JtextField 中怎么限制只能输入数字
  8. Golang垃圾回收机制(一)
  9. python绘制散点图的函数_python matplotlib更新函数的散点图
  10. c语言fmin最小公倍数,matlab小函数
  11. 32f4 usb 升级程序_不断中招的你还放心升级win10吗?wi10近期更新问题及解决办法...
  12. [链表|多解法] leetcode 19 删除链表的倒数第N个节点
  13. Django 视图与网址
  14. 跟初学者学习IbatisNet第二篇
  15. 黑灰产技术手段不断“进阶”,如何防御双十二“羊毛党”?
  16. GMT、UTC、DST、CST时区
  17. Linux 下 N 卡 GPU 测试
  18. 华为人才在线加入HCIA班级
  19. 旅游行业数字化进程分析——2023年元旦与春节,旅游市场开启复苏模式,跨省游热度上升
  20. 百度飞桨—PM2.5预测

热门文章

  1. CF1304F1 - Animal Observation DP
  2. 06.3. 填充和步幅
  3. 卷积神经网络 - 填充和步幅
  4. 如果不做软件测试了,做什么
  5. Arduino UNO 可视化GT-24工业级无线透传
  6. 2022年金融行业证书汇总,金融类证书哪个适合报考
  7. 【UVa】441 - Lotto
  8. 七巧板 html5游戏开发,纯HTML5绘制的七巧板
  9. 基数和权值对于各进制之间转换的意义
  10. 做武能涂鸦PRD,文能舞文弄墨的产品经理太香了!