基于光场相机的深度估计主要四类方法:
目录
1、基于多视角的立体匹配
2、基于重聚焦、散焦、阴影、纹理等多线索融合的方法
3、基于EPI
4、基于深度学习
参考文献
1、基于多视角的立体匹配
根据光场相机的成像原理,可以将光场图像想像成为多个虚拟相机在多个不同视角拍摄同一场景得到图像的集合,那么此时的深度估计问题就转换成为多视角立体匹配问题。
多视点深度估计的一个主要线索是三维场景经过多个相机成像在不同图像之间形成的视差,在光 场数据中即不同角度光线之间的差异,视差的计算过程也即多视点图像之间的特征匹配过程。常用的视差匹配值的计算方法有 SSD (Summed Squared Difference) 、SAD(Summed Absoluted Difference)、 灰度相关法、秩方法、归一化互相关法(Normalized Cross Correlation, NCC)、自适应窗口法(Adaptive Support Window)等。虽然这些局部代价集成 (CostAggregation)方法计算效率较高,但是对匹配噪声难以抑制,影响深度估计的准确性。在视差匹配中,由于真实凸透镜相机存在孔径限制,超出景深的区域会出现一定程度的模糊,从而使得匹配精度降低,影响深度估计的准确性。另外,如果场景中出现重复纹理或无纹理区域,视差线索的可靠性也将下降。
2、基于重聚焦、散焦、阴影、纹理等多线索融合的方法
(通过衡量像素在不同焦栈处的“模糊度”可以得到其对应的深度)
1、Depth from Combining Defocus and Correspondence Using Light-Field Cameras:设计两种深度线索并估计原始深度;置信度分析及马尔可夫随机场(MRF)融合。
对于普通相机,散焦只能通过在不同深度聚焦的多个图像曝光来实现;对应线索需要在不同的视点或多个相机的多次曝光,并且这两种线索不能同时获得。然而光场相机可以通过单次曝光同时获得两种线索。散焦线索在重复纹理和噪声中表现得更好;对应在亮点(bright points)和特征上具有鲁棒性。
在算法中,散焦深度线索是通过计算水平(空间)方差后的方向(角)积分得到的,对应深度线索是通过计算垂直(角)方差得到的。散焦响应是通过拉普拉斯算子计算的,其中高响应意味着点在焦点中。对应响应是垂直标准差算子,低响应表示点具有最优对应。
首先获取散焦线索:剪切EPI图像,并进行光场重聚焦得到一系列具有不同深度的焦栈。对每一个
值得重聚焦图像求平均值,使用水平方向上的拉普拉斯算子定义散焦量。
对应线索:考虑给定空间像素的角度(垂直)方差,定义匹配对应量为
2、Robust light field depth estimation for noisy scene with occlusion:主要针对具有遮挡和噪声的场景的光场深度估计问题。提出了两种代价量:Angular entropy metric 和 Adaptive defocus response;然后利用代价体积滤波和图切割优化来提高深度图的精度。
当没有遮挡存在时,主要考虑像素的颜色一致性
首先关于角熵度量(Angular entropy metric):当不存在遮挡的情况时,the angular patch 保持颜色一致性。为了评估遮挡情况下的the angular patch 的颜色一致性的随机性,计算the angular patch的熵,即Angular entropy metric。
是强度i在the angular patch
的概率。在本文中,对于每个颜色通道,角熵度量的计算是独立的,因此整合得到三个颜色通道的结果,提出使用最大值池化和平均池化的方法。因为当物体主要为一个颜色通道时(例如:红色的物体,在红色的通道有更高的强度,而在其他两个通道强度较低),最大值池化获得的结果更好;然而其他的情况下,平均池化可以得到更好的结果。因此文章给出了综合方法,即
其中
为权重值。角熵度量对于遮挡的情况更具鲁棒性,是由于它主要依赖于主导像素的强度概率,但是它对噪声的情况不具有鲁棒性。因此需要有另外一种代价量,也就是Adaptive defocus response。
对于自适应散焦(Adaptive defocus response):传统的散焦响应对噪声具有鲁棒性,却不能解决遮挡问题,因此文章提出了一种自适应散焦响应的代价量,也就是求解领域之间最小的响应。
首先考虑没有遮挡部分的响应,因此将原始的patch(15*15)分成9个subpatch(5*5),然后独立的计算每个subpatch
的散焦响应
:
其中,
为重聚焦图像(对the angular patch 的所有像素求平均),
3、基于EPI
缺点:容易受物体遮挡的限制,在遮挡区域的检测效果较差,此外获取深度信息计算量较大,实时性较低。
优点:容易提取数据特征,主要用于特征提取、模式识别。
3.1、场景点的深度与其投影在EPI中的极限斜率呈反相关关系——场景点的深度越大,距离相机平面越远,该点在EPI图像上对应的极线斜率小;反之亦相反。
光场相机具有狭窄的基线,且伴随着噪声,同时存在着精度与速度的权衡。
传统的方法
1、《Globally Consistent Depth Labeling of 4D Light Fields》提出一种结构张量的方法
结构张量主要用于区分图像的平坦区域、边缘区域与角点区域。
EPI图像S的结构张量J为
其中
和
表示极线图在x,y轴方向上的梯度,
为高斯平滑算子。
注:图像梯度是指图像某像素在x和y两个方向上的变化率(与相邻像素比较),是一个二维向量,由2个分量组成,X轴的变化、Y轴的变化 。高斯平滑滤波器被使用去模糊图像,和均值滤波器差不多,但是和均值滤波器不一样的地方就是核不同。均值滤波器的核每一个值都是相等,而高斯平滑滤波器的核内的数却是呈现高斯分布的。
由于场景图像中存在物体的前后顺序(即物体之间的遮挡顺序),因此需要对每个切片进行全局一致性估计。虽然这个优化计算过程很费时,但是可以得到最优的结果。
分别从水平切片和垂直切片获得深度值后,需要把这些估计的深度值整合到一个统一的深度图中。
4、基于深度学习
随着深度学习的大热,已经有一批先驱开始用深度学习做深度估计,虽然在仿真数据上可以表现得很好,但实际场景千变万化,即使是深度学习的策略也不敢保证对所有的场景都有效。
基于EPI图像
EPINET: A Fully-Convolutional Neural Network for Light Field Depth Estimation Using Epipolar Geometry提出一种全卷积神经网络的深度估计算法,并且给出了一种数据增强的方法。从中心视角出发,根据中心视角与相邻视角的视差,得到不同角度的子孔径图像。
该网络的输入为4个不同方向(水平、垂直、左对角线、右对角线)的子孔径图像,每个方向对应于一路网络,每一路都可以对其对应方向上图像进行编码提取特征。每一路网络都由3个全卷积模块组成。每一个卷积块为:Conv-Relu-Conv-BN-Relu。为了解决基线过短的问题,使用2*2,步长为1的卷积核。将四个方向获得的结果串接起来,输入到后面的7+1个卷积块中。最后一个卷积块结构为Conv-Relu-Conv。
图像增强方式包括视角偏移(从9*9视角中选7*7,可扩展3*3倍数据),图像旋转(
,
,
),图像缩放([0.25,1]),色彩值域变化([0.5,2]),随机灰度变化,gamma变换([0.8,1.2])以及翻转,最终扩充了288倍。