光场的可视化与重聚焦原理(附重聚焦代码)

点击 我爱计算机视觉 标星,更快获取CVML新技术

本文转载自CSDN,已获作者授权转载,请勿二次转载。

(原文链接: https://blog.csdn.net/weixin_38490884/article/details/83009344)

作为计算光学成像领域的一个分支,光场成像得到了越来越多的关注。本文主要介绍了光场的三种可视化途径(阵列子图像、宏像元图像与极平面图像),分析了光场重聚焦的基本原理,并给出了光场重聚焦的一个示例代码。

1 :四维光场在不同维度的可视化表现

一、光场的可视化途径

因为光场的双平面模型L(u,v,x,y)有四个维度,而图像通常只包含两个维度,因此我们难以直接通过2维图像对4维光场进行描述。

然而,我们可以通过固定两个维度,将4维光场投影为2维图像,从而对光场进行观察。这个过程称作 光场的可视化 。根据所固定维度的类型不同,我们可以得到 阵列子图像宏像元图像极平面图像 三种不同的可视化形式。

下文分别对这三种可视化途径进行分析。

(1)阵列子图像

2 :四维光场表达为阵列子图像方式示意图

由于相机平面上每一个采样点都可以采集到当前场景的一幅二维图像,因此如果固定相机平面的两个坐标 u=u0, v=v0, 则四维光场可以投影为坐标为 (u0, v0) 的相机所拍摄的子图像。若将光场中每一个视角的相机采集到的子图像看成一个整体,并按照相机平面的坐标顺序将子图像排列为一个阵列,则4维光场可以表达为“阵列子图像”的形式,如图2所示。

在获取阵列子图像的过程中,我们固定了相机坐标,这使得每幅子图像反映的是光场的空间信息。由于阵列中的每张图像都对应着相机平面上的不同的采样点,其视角有着微小的差异,这种视角的差异体现在图像上就是不同子图像中同一物体之间存在的位置差异(disparity)。因此,所有的子图像可以联合反映出光场中的角度信息。

(2)宏像元图像

3 :四维光场表达为宏像元图像方式示意图

光场成像与传统成像方式不同之处在于——前者不仅仅可以记录光线的强度信息,还可以记录光线的方向信息。在光场的双平面模型中,光线方向信息的记录可以理解为穿过像平面上点 (x0, y0) 的不同方向的光线在相机平面上映射为不同的坐标。如果固定x-y坐标,将不同相机所拍摄的同一位置的像元组合在一起,则可以反映穿过 (x0, y0) 这一点的光线的角度信息。这个由多个像元组合而成的集合称为“宏像元”,如图3所示。

宏像元内像素的数量为相机平面上采样点的数量,如果使用阵列相机进行场景获取的话,则对应阵列相机中子相机的数量。如果将所有的宏像元看成是普通的像元,按照单张场景图像的排列方式组合在一起的话,则构成了表达4维光场的另外一种方式——“光场宏像元图像”。

(3)极平面图像

4 :四维光场表达为极平面图像方式示意图

前面两种理解光场的方式分别是通过固定相机平面上的点(阵列子图像)或像平面上的点(宏像元图像),将另外一个平面的点组合在一起。阵列子图像在获取的过程中固定了相机平面的两个坐标,更侧重于反映光线的空间分布信息;宏像元图像在获取的过程中固定了像平面的两个坐标,更侧重于反映光线的角度分布信息。

如果固定相机平面的某一个坐标(不失一般性地假设为u=u0)与像平面的某一个坐标(不失一般性地假设为x=x0),则可以获得光线空间与角度分布的混合信息。如图4所示,这样形成的图像称为极平面图像(Epipolar Plane Image,EPI)。

EPI是多视角计算机视觉中的一个重要概念。不同于前面的阵列子图像与宏像元图像,单张EPI既包含光线的空间信息,也包含着光线的角度信息。综合考虑这两种类型的信息,在一幅EPI中就可以推断场景的深度与结构:假设空间中的点向各个方向发出的光线强度相等(即满足朗伯表面的性质),则该点对应于EPI中的一条纹理线,而纹理线的斜率可以映射出该点的深度信息。

(4)讨论

光场的高维度特性是光场图像处理(如光场图像超分辨、光场深度估计、光场视角重建等)面临的主要难题。以上讨论的三种可视化方案均为4维光场在不同空间的投影。对于不同的任务而言,采用不同的投影方式会取得不同的效果。

例如有很多光场深度估计的算法选择基于对EPI图像中纹理线的斜率进行分析;arXiv上最近挂出的光场图像超分辨网络 LF-InterNet

(https://arxiv.org/pdf/1912.07849.pdf)则巧妙地通过阵列子图像与宏像元图像两种形式进行信息交互,大幅度提升了光场图像超分辨的性能。

二、光场图像的重聚焦

重聚焦作为合成孔径成像的一种最简单的形式,本质是利用“不同深度的物体在多视角子图像中对应的disparity不同”这一基本原理,将多视角子图像按照规律进行平移并叠加,最终凭借较大的等效孔径实现“浅景深”的效果。为了深入理解多视角子图像的叠加,我们首先利用 双目图像 (图5)对基本原理进行简单说明。

5 :双目立体图像重聚焦原理示意图

如图5(a)所示,假设我们利用双目相机对当前场景从左侧和右侧两个不同的角度进行拍摄,所拍摄的图像分别如图5(b)和图5(c)所示。由于距离相机较近的物体具有较大的视差,因此图中的矩形在双目图像中的disparity较三角形更大。

如图5(d)所示,如果将两张图片进行平移,使得矩形重合的话,则不在同一深度的三角形由于disparity不匹配,无法同时重合,此时我们则称矩形处于聚焦状态,三角形处于失焦状态,反之同理。平移两幅图像使得某一深度的物体处于聚焦状态的操作称为“重聚焦”。

6 :光场重聚焦原理示意图

相比于双目图像,光场图像具有更多的视角,这也使得光场重聚焦涉及到多幅图片的联合位移与叠加。为了便于说明光场重聚焦的原理,我们作图6。图6(a)所示为光场子图像阵列,其中的图片之间具有一定的视角差异。由于disparity与深度存在反比关系(参考 光场成像的历史与发展 ),因此物体所在深度越大,对应图像的disparity越小,无穷远处的disparity为0。

在通常情况下,为防止图像之间disparity的绝对值过大,这些子图像会首先经过预处理使得场景中某个深度值(称为校正深度)对应的disparity为0,从而使得大于校正深度的物体对应的disparity为负值,小于该校正深度的物体对应的disparity为正值。预处理后,如果将这些图片直接进行叠加,则校正深度的物体由于disparity为0而处于聚焦状态,其他深度的物体则经历不同程度的焦外虚化。

图6(b)形象地说明这个过程,我们取光场子图像阵列中的某一行或某一列的5张图像叠加在一起,用不同颜色的直线从纵向穿过不同深度的物体的同一点,则处于聚焦深度的物体对应的直线应当是竖直状态的,而其他深度的物体对应的直线处于倾斜状态。

且直线越倾斜,对应的物体所经历的失焦就越严重。如图6(c)所示,当子图像经过联合位移后,各条直线的状态会发生改变,对应于不同深度的聚焦状态发生改变。

我们在斯坦福大学光场数据集的 Lego Knights 场景中进行了重聚焦实验,图7展示了光场重聚焦的效果。

7 :光场重聚焦效果展示图

最后,笔者给出了光场重聚焦的一个示例代码(Demo),

相关 下载链接 为:

https://github.com/YingqianWang/Light-Field-Refocusing-A-Demo

光学、几何与成像交流群

关注最新最前沿的相机、几何成像、光场技术,扫码添加CV君拉你入群,(如已为CV君其他账号好友请直接私信)

请务必注明:成像

喜欢在QQ交流的童鞋,可以加52CV官方 QQ群805388940

(不会时时在线,如果没能及时通过验证还请见谅)

长按关注 我爱计算机视觉

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章