一、光场成像概述:光场概念、参数化表示与相机发展简史
1.1 光场到底是什么?——从“拍一张照片”说起
我们平时拍照,记录的是什么?说白了,就是传感器上每个像素接收到的光线强度。但你想想看,这其实丢掉了大量信息——光线从哪个方向来?聚焦在哪个深度?这些全被“压”成了一个灰度值。
光场(Light Field)这个概念,就是想把这些丢掉的信息捡回来。它记录的是空间中每一条光线的位置和方向。你可以把它想象成一个“光线数据库”:不仅知道某个点有多亮,还知道这束光是从哪射过来的。
核心理解:传统照片 = 光线的“积分结果”;光场 = 光线的“原始分布”。有了后者,你可以事后重新对焦、改变视角、甚至估计场景深度。
我在2016年第一次接触光场相机时,也被这个概念震撼过。当时项目需要做事后重对焦,传统方法得拍多张不同焦点的照片,而光场相机一次拍摄就搞定了。嗯,这就是光场的魅力。
1.2 光场的参数化表示——怎么描述一束光?
要记录光场,首先得有个数学工具来描述它。最经典的表示法是双平面参数化(Two-Plane Parameterization)。
想象两个平行的平面:主透镜平面 (u, v) 和 传感器/微透镜平面 (s, t)。一条光线穿过这两个平面,它的“身份”就可以用四个坐标唯一确定:L(u, v, s, t)。
- (u, v):光线在主透镜上的位置,决定了光线的“方向”。
- (s, t):光线在传感器平面上的位置,决定了光线的“落点”。
为什么用四个维度?因为光线在自由空间中有4个自由度(位置2维 + 方向2维)。你想想看,如果只记录(s, t),那就是传统照片;加上(u, v),才构成完整的光场。
| 表示法 | 维度 | 物理含义 | 典型应用 |
|---|---|---|---|
| 传统图像 | 2D (x, y) | 光线强度积分 | 普通拍照 |
| 光场 | 4D (u, v, s, t) | 光线位置+方向 | 重对焦、深度估计 |
| 全光函数 | 7D (x, y, z, θ, φ, λ, t) | 完整光辐射场 | 理论模型 |
我的经验:刚开始学光场时,我总搞混(u,v)和(s,t)哪个是方向哪个是位置。后来我习惯把(u,v)想象成“你站在哪个窗口看”,(s,t)是“你看到窗外的哪个点”。这样就好记多了。
1.3 光场相机发展简史——从概念到产品
光场的概念早在1936年就由Gershun提出,但真正落地到相机,是最近十几年的事。我按几个关键节点梳理一下:
- 1992年:Adelson提出全光相机(Plenoptic Camera)理论——在传感器前加微透镜阵列,一次曝光记录4D光场。这是所有光场相机的理论源头。
- 2005年:Ren Ng的Lytro原型——他在斯坦福读博期间做出了第一台手持光场相机,后来创立Lytro公司。我记得当时看到他的,第一反应是“这玩意儿居然真能做出来?”
- 2011年:Lytro消费级光场相机发布——主打“先拍照后对焦”。虽然市场反响一般,但确实让光场成像走进了大众视野。
- 2014年:Raytrix推出工业级光场相机——针对机器视觉和深度估计场景,分辨率更高,支持实时处理。
- 2017年至今:手机光场算法兴起——虽然手机没有物理微透镜,但通过多摄像头或多帧合成,也能模拟光场效果。比如iPhone的人像模式,本质上就是光场重对焦。
避坑指南:我曾经在项目里直接拿Lytro相机做深度估计,结果发现它的空间分辨率太低(因为微透镜分走了像素),导致深度图边缘模糊。后来我改用Raytrix的相机,才勉强满足需求。所以选型时一定要权衡:角度分辨率 vs 空间分辨率,两者不可兼得。
1.4 光场成像的知识体系框架
下面这张图是我自己梳理的光场成像知识体系,方便你建立全局视角:
1.5 本章小结
这一章我们打下了光场成像的地基。你只需要记住三件事:
- 光场 = 位置 + 方向,比传统图像多了一个维度。
- 双平面参数化 L(u,v,s,t) 是描述光场的标准工具。
- 光场相机经历了从理论到消费级再到工业应用的演变,目前正处于算法与硬件协同发展的阶段。
给新手的建议:如果你刚开始接触光场,别急着啃数学公式。先找一张光场图像(比如Lytro的.lfp文件),用现成的工具(如MATLAB Light Field Toolbox)看看重对焦效果。有了直观感受,再回头看理论,会轻松很多。