【TPAMI 2024】告别误差,OPAL算法如何让光场视差估计变得轻而易举?

题目:OPAL: Occlusion Pattern Aware Loss for Unsupervised Light Field Disparity Estimation

OPAL:面向无监督光场视差估计的遮挡模式感知损失

作者:Peng Li; Jiayin Zhao; Jingyao Wu; Chao Deng; Yuqi Han; Haoqian Wang; Tao Yu

在这里插入图片描述


摘要

在计算机视觉领域,光场视差估计是一个关键任务。目前,基于监督学习的方法比无监督和基于优化的方法表现更好。然而,监督学习方法在真实世界数据上的泛化能力,即在没有用于训练的真实视差情况下,仍然有限。在本文中,我们认为无监督方法不仅能够在真实世界数据上实现更强的泛化能力,而且还能在合成数据集上实现更精确的视差估计结果。为了实现这一目标,我们提出了一种新的损失函数,名为OPAL(Occlusion Pattern Aware Loss),它成功地提取并编码了光场中固有的一般性遮挡模式,用于计算视差损失。OPAL 使得:i) 通过教会网络有效处理遮挡,实现精确且鲁棒的视差估计;ii) 显著减少了用于准确和高效估计的网络参数需求。我们进一步提出了一个基于EPI的变换器(EPI Transformer)和基于梯度的细化模块,用以实现更精确和像素对齐的视差估计结果。广泛的实验表明,我们的方法不仅在准确性上比现有的最佳无监督方法有显著提高,而且在真实世界数据上比现有最佳监督方法具有更强的泛化能力。最后但同样重要的是,与现有基于学习的光场方法相比,我们的网络训练和推理效率更高。我们的代码将公开提供。

关键词

  • 光场视差估计
  • 无监督视差估计
  • 遮挡模式感知损失

I. INTRODUCTION

光场捕获了从多个方向场景的光线,因此同时保留了这些光线的强度和角度信息。光场相机[1]、[2]、[3]是为单次拍摄和结构化的4D光场捕获而设计的紧凑型传感器。这些传感器特别适合于以方便和高效的方式准确感知深度和复杂场景的体积成像,这对于单摄像头设置(例如单图像[4]或单目视频[5]、[6])来说仍然是一个挑战。与立体相机[7]相比,光场(LF)相机提供了密集的子视图图像(SAIs),使得视差估计更加准确和鲁棒。最后,与结构光[8]和ToF相机[9]等传感器相比,光场相机不需要主动照明,并且对强烈的红外光干扰不太敏感,这使得它们也适用于户外场景。因此,光场相机不仅用于一般视觉任务,例如新视图合成和3D缺陷检测,而且还广泛应用于显微成像[10]。

光场视差估计在计算机视觉中是一个长期研究课题,具有在各种3D应用[3]、[11]、[12]中使用的潜力。根据训练和估计策略,光场视差估计方法大致可以分为三类:监督学习[13]、[14]、[15]、[16]、[17]、[18]、无监督学习[19]、[20]、[21]、[22]和基于优化的方法[18]、[23]、[24]、[25]、[26]、[27]、[28]、[29]、[30]。尽管监督学习在准确性和效率之间提供了良好的平衡,但这种依赖于合成数据集的真视差进行网络训练的做法降低了这些方法对真实世界数据的泛化能力。无监督学习和基于优化的方法都消除了训练所需的真视差前提条件,因此在最近的工作中展示了通用、准确和高效视差估计的潜力[19]、[20]、[21]。

现有的优化方法[23]、[24]、[25]、[26]、[27]基于光度一致性假设来估计视差,该假设表明每个视图的光线投影具有相同的强度,导致子视图图像中的颜色相同。基于光度一致性的典型两种损失是散焦和对应关系[26]。基于它们的深度估计已经被广泛研究[30]、[31]、[32]、[33]并取得了优异的性能。然而,当观察到的目标被其他物体遮挡时,光度一致性不再成立。因此,以前方法中使用的光度一致性损失不能在遮挡区域产生准确的视差,其中变形的像素可能来自遮挡物[25]。一些早期的工作[25]、[28]、[29]、[30]通过排除遮挡像素来处理遮挡。最近的工作[26]提出了一种显式的投票策略,首先计算以低于预定义阈值的中心视图绝对误差的重新聚焦像素数量,然后选择具有最小数量的视差以实现遮挡感知视差估计。现有的无监督方法[19]、[20]、[21]也受到遮挡的影响,并倾向于在这些区域产生更大的视差估计误差。最近,Jin[22]将光场分割为子光场,分别预测多个视差和相应的可靠性图,以排除可能的遮挡子视图,这在一定程度上提高了视差估计的质量,并使得使用真实世界数据直接训练网络成为可能。尽管[26]和[22]在合成数据集上取得了准确的结果,但由于忽略了角度空间中固有的遮挡模式,导致在可能包含更多噪声的真实世界数据上的性能下降。

我们方法的关键观察是,对于每个被遮挡的像素,角度图像块中的遮挡具有强烈的模式。尽管有散焦和对应线索,光场中固有的遮挡模式是无监督学习的另一个重要线索。如果我们能够在训练过程中使网络“感知”到这些固有的遮挡模式,我们就可以有效地排除遮挡的子视图,而无需在推理过程中进行冗余计算。为了实现这一目标,我们提出了OPAL:遮挡模式感知损失,它直接将遮挡模式纳入计算光度一致性损失。具体来说,对于参考视图中的一个像素,为了计算其OPAL,我们首先使用几个方向上的固定数量的一维遮挡模式来分析和近似其二维遮挡模式。注意,一维遮挡模式可以进一步简化为基于观察到的大多数情况下遮挡主要来自单侧的固定数量的预定义一维模式。在获得遮挡模式后,我们可以使用它在计算光度一致性损失时屏蔽掉遮挡的视图。注意,OPAL仅用于训练,并且训练好的模型成功地学会了如何自适应地排除遮挡视图,以实现更准确的视差估计。

为了充分发挥OPAL的潜力,我们提出了一个名为OPENet的网络架构。与传统的光场视差估计网络相比,OPENet额外引入了一个EPI变换器和一个基于梯度的细化模块。EPI变换器用于有效地整合具有高视图间相似性的平面图像(EPIs)的特征。我们根据初始视差计算变形角度块的梯度图,并将遮挡信息输入细化模块,以更好地对齐最终视差与参考中心视图。如表II所示,即使与最先进的监督学习方法相比,我们的网络在不同数据集上实现了最佳的整体准确性,这证明了我们方法的强大性能。我们还对不同的真实世界数据集进行了广泛的比较,以展示我们方法的优越性能。最后,我们提出的方法显著减少了网络训练所需的时间(6小时与Lfatt[16]的1周相比)和运行时间推理(0.098秒与OAVC[26]的0.19秒相比)。

我们的主要贡献可以总结为:

  • 我们提出了一种基于无监督学习的方法,具有新颖的训练损失和轻量但有效的网络架构,用于光场视差估计。与现有的视差估计解决方案相比,我们的方法实现了更准确和高效的性能。在合成和真实世界数据上的一致性能清楚地展示了我们方法在实际使用中的潜力。
  • 我们提出了OPAL,一种遮挡模式感知损失,它不仅使准确的光场视差估计具有强大的遮挡处理能力,而且显著减少了准确估计所需的网络参数。
  • 我们提出了OPENet,它由新设计的EPI-Transformer和基于梯度的视差细化模块GDRM组成,通过有效的特征融合和更准确的中心视图对齐,进一步提高了整体性能。

III. METHOD

在本节中,我们首先介绍用于视差估计的基本光度一致性损失,该损失通过消除遮挡的影响来处理视差歧义。然后,我们详细阐述了提出的遮挡模式感知损失(OPAL),通过有效利用光场中固有的遮挡模式实现遮挡感知的光度一致性。最后,我们介绍了基于OPAL的无监督方式进行准确、高效和鲁棒的视差估计的网络架构,称为OPENet。

A. Analyzing Photometric Consistency Loss

4D光场系统通常使用两个平行平面上的线条的交点来参数化3D空间中的光线,即光场的双平面参数化。这些交点可以分别表示为第一平面的2D角度坐标 ( u , v ) (u, v) (u,v)和第二平面的2D空间坐标 ( x , y ) (x, y) (x,y)。不失一般性,我们假设4D光场的角度维度为 N × N N \times N N×N,即它具有 N × N N \times N N×N个子视图,每个子视图图像的空间维度(或分辨率)为 H × W H \times W H×W。在下面的公式中,我们用 u u u表示2D角度坐标 ( u , v ) (u, v) (u,v),用 x x x表示2D空间坐标 ( x , y ) (x, y) (x,y)以简化表示。我们定义 u 0 u_0 u0为中心视图的角度坐标,作为视差估计的参考视图。在Lambertian材质假设下,根据真实视差变换到中心视图的子视图图像与中心视图图像具有高相似性,可以表示为:

I u 0 ( x ) = I u ( x + ( u − u 0 ) ⋅ D ( x ) ) I_{u_0}(x) = I_u(x + (u - u_0) \cdot D(x)) Iu0(x)=Iu(x+(uu0)D(x))

根据上述公式,视差是通过寻找中心视图和变换子视图之间像素颜色一致性的间隔来估计的。然而,当发生遮挡时,光度一致性损失不再成立。图1展示了在遮挡情况下,背景(蓝色)的光线被前景(红色)遮挡,导致同一点的颜色描述不一致,进而导致视差估计结果模糊不清。这里我们通过图2提供了一个示例,更好地展示了遮挡感知光度损失对视差估计的好处。在图2中,我们从4D光场基准的“Dino”场景中采样了两个4*4的图像块,一个没有遮挡,一个有遮挡。基于这些图像块,我们对基本光度损失和遮挡感知光度损失(通过首先根据遮挡掩模屏蔽所有遮挡的视图来计算损失)进行了比较。报告的3种损失分别是:没有遮挡掩模计算的光度损失(基本光度损失,蓝线)、使用真实遮挡掩模的光度损失(橙线)以及使用OPAL(我们提出的遮挡感知光度损失,绿线)。对于图2(a)中的非遮挡情况,所有3种损失配置仅当视差误差 d D dD dD趋于0时达到最小值。然而,对于图2(b)中的遮挡情况,如果不使用遮挡掩模,即使使用真实视差,视差误差也无法达到0(几乎为0.2),如蓝线所示。使用真实遮挡掩模时,当损失达到最小值时, d D dD dD接近0。这证明了使用遮挡掩模解决视差估计歧义的能力。最后,我们提出的OPAL在图2(b)中也近似于使用真实遮挡掩模的性能,展示了OPAL强大的遮挡处理性能。


B. OPAL: Occlusion Pattern Aware Loss

根据图1,遮挡感知的光度一致性损失对于处理遮挡是必要的。我们首先定义上述的遮挡掩模,命名为 O P OP OP,作为一个2D布尔矩阵,指示中心视图是否被子视图遮挡:

O P ( u ) = { 1 , 中心视图未被子视图u遮挡 0 , 否则 OP(u) = \begin{cases} 1, & \text{中心视图未被子视图u遮挡} \\ 0, & \text{否则} \end{cases} OP(u)={1,0,中心视图未被子视图u遮挡否则

然后,可以定义像素 x x x的掩蔽光度成本为:

Cost ( x ) = ∑ u O P ( u ) ⋅ ∣ I ^ u → u 0 ( x , D ~ ) − I u 0 ( x ) ∣ / ∑ u O P ( u ) \text{Cost}(x) = \sum_{u} OP(u) \cdot | \hat{I}_{u \rightarrow u_0}(x, \tilde{D}) - I_{u_0}(x) | \Big/ \sum_{u} OP(u) Cost(x)=uOP(u)I^uu0(x,D~)Iu0(x)/uOP(u)

其中, I ^ u → u 0 ( x , D ~ ) \hat{I}_{u \rightarrow u_0}(x, \tilde{D}) I^uu0(x,D~)表示从子视图 u u u变换到中心视图 u 0 u_0 u0使用估计视差 D ~ \tilde{D} D~后的像素值。由于光场结构良好,每个 H × W H \times W H×W像素的 O P OP OP候选模式是相同的。基于图1和图2(b)的观察,对于每个像素,我们可以遍历所有可能的 O P OP OP模式,并选择具有最低成本的 O P ∗ OP^* OP来构建遮挡感知的光度损失。然而,遍历 2 N × N 2N \times N 2N×N种模式的解决方案计算量大。为了进一步降低计算复杂度,我们提出了如下的模式近似。

我们首先用两个一维遮挡掩模将2D O P ∗ OP^* OP近似,分别在水平和垂直方向上只有 2 N 2N 2N种可能的模式。因此,可能的一维遮挡模式可以定义为Occlusion Pattern in Line,简称OPL。另一个重要观察是,任何方向上的OPL候选模式可以根据光场的结构进一步简化。具体来说,在遍历一个方向上的最优OPL ∗ ^* 时,我们可以假设在大多数情况下:i) 如果存在遮挡,通常从边界子视图开始(例如,对于水平OPL,最左边或最右边的子视图);ii) 遮挡中心视图的子视图通常是相邻的。基于这些假设,我们最终将OPL的候选遮挡模式数量从 2 N 2N 2N减少到 N N N,对于9×9的光场,在垂直图5(b)或水平图5©方向上,只有9种模式,从而显著提高了训练效率。在本文的剩余部分中,我们不失一般性地只讨论垂直方向上的OPL。

正如图5(b)所示,对于垂直方向,我们预定义了 N N N种候选OPL模式。如果 j ≤ ⌈ N − 1 2 ⌉ j \leq \lceil \frac{N-1}{2} \rceil j2N1,底部的SAIs没有被遮挡,第 j j j个OPL可以定义为:

O P L j ( u ) = { 1 , u ≤ j + N − 1 2 0 , 否则 OPL_j(u) = \begin{cases} 1, & u \leq j + \frac{N-1}{2} \\ 0, & \text{否则} \end{cases} OPLj(u)={1,0,uj+2N1否则

相反,如果 j > ⌈ N − 1 2 ⌉ j > \lceil \frac{N-1}{2} \rceil j>2N1,顶部视图没有被遮挡,第 j j j个OPL可以定义为:

O P L j ( u ) = { 1 , u ≥ j − N − 1 2 0 , 否则 OPL_j(u) = \begin{cases} 1, & u \geq j - \frac{N-1}{2} \\ 0, & \text{否则} \end{cases} OPLj(u)={1,0,uj2N1否则

在训练过程中,我们应用第 j j j个OPL来获得像素 x x x的掩蔽光度成本,并修改公式(3)为:

Cost o p l ( j , x ) = ∑ u O P L j ( u ) ∣ I ^ u → u 0 ( x , D ~ ) − I u 0 ( x ) ∣ / ∑ u O P L j ( u ) \text{Cost}_{opl}(j, x) = \sum_{u} OPL_j(u) |\hat{I}_{u \rightarrow u_0}(x, \tilde{D}) - I_{u_0}(x)| \Big/ \sum_{u} OPL_j(u) Costopl(j,x)=uOPLj(u)I^uu0(x,D~)Iu0(x)/uOPLj(u)

然后,我们通过遍历所有可能的OPLs来优化每个像素的OPL x ∗ ^*_x x

O P L x ∗ = arg ⁡ min ⁡ j Cost o p l ( j , x ) OPL^*_x = \arg\min_{j} \text{Cost}_{opl}(j, x) OPLx=argjminCostopl(j,x)

最后,每个方向上的遮挡模式感知损失可以定义为:

ℓ o p a l ( D ~ ) = 1 H W ∑ u ∑ x O P L x ∗ ⋅ ∣ I ^ u → u 0 ( x , D ~ ) − I u 0 ( x ) ∣ \ell_{opal}(\tilde{D}) = \frac{1}{HW} \sum_{u} \sum_{x} OPL^*_x \cdot |\hat{I}_{u \rightarrow u_0}(x, \tilde{D}) - I_{u_0}(x)| opal(D~)=HW1uxOPLxI^uu0(x,D~)Iu0(x)

其中 H × W H \times W H×W是空间分辨率,所有方向上的 ℓ o p a l \ell_{opal} opal之和用于惩罚 D ~ \tilde{D} D~。如图3所示,没有OPAL时,网络训练得出的视差无法生成合理的遮挡图,而OPAL可以引导网络更准确地感知遮挡,以进行光场视差估计。

C. Network Architecture and Implementation Details

正如图4所示,所提出的OPENet包含一个特征提取器、一个EPI变换器、一个视差回归模块和一个基于梯度的视差细化模块(GDRM)。输入是来自四个角度方向(水平、垂直、左对角线和右对角线)的SAIs。我们使用具有共享权重的SPP模块[39]来提取每个子视图的全局特征,这可以更好地利用层次上下文信息和相邻区域之间的相关性。在获得不同视图的特征图之后,引入EPI变换器来构建交叉视图相关性,以实现有效的特征融合。然后,将融合的特征图输入到视差回归模块以估计原始视差,记为 D r a w D_{raw} Draw。最后,引入基于梯度的细化模块(GDRM),以更好地对齐最终视差图与中心视图图像。最终估计的视差表示为 D f i n a l D_{final} Dfinal

  1. EPI-Transformer: 注意力机制已被应用于各种计算机视觉任务[40][41][42]。依赖于注意力机制的Transformer[43]可以合并所有标记的信息,并有效模拟输入和输出的全局依赖性。受[40][43]启发,我们提出EPI-Transformer来增强跨视图相关性,实现更有效的特征融合。给定每个方向的SAIs的角标记序列,EPI-Transformer可以有效地融合信息以进行视差回归。具体来说,我们的EPI-Transformer由四个相同的流组成,对应于四个方向的输入。由于基于EPI的方法通常利用EPI的斜率与视差之间的比例关系,且大多数不在焦平面上的像素没有很好地对齐,我们连接2*2邻近像素的特征以补偿这种“不对齐”。因此,对于每个流,我们首先将N个子视图的N个特征图连接起来,并重新排列特征图从 N × H W × C N \times HW \times C N×HW×C变为 N × H W / 4 × 4 C N \times HW/4 \times 4C N×HW/4×4C,表示为E,其中 H W HW HW是SAIs的空间分辨率,4C是嵌入维度。然后我们根据以下公式计算位置编码:

P E ( p o s , 2 i ) = sin ⁡ ( p o s 10000 ) 2 i c P E ( p o s , 2 i + 1 ) = cos ⁡ ( p o s 10000 ) 2 i c PE(pos, 2i) = \sin\left(\frac{pos}{10000}\right)^2i c \\ PE(pos, 2i + 1) = \cos\left(\frac{pos}{10000}\right)^2i c PE(pos,2i)=sin(10000pos)2icPE(pos,2i+1)=cos(10000pos)2ic

其中pos是EPI在平面图像中的位置,i是通道索引。我们将PE和E的和作为输入嵌入,并通过层归一化处理。之后,我们将输入嵌入乘以 W Q , W K , W V W_Q, W_K, W_V WQ,WK,WV生成Q, K和V,并应用多头自注意力(MHSA)来学习不同视图之间的依赖性:

MHSA ( E A ) = Concat ( H 1 , . . . , H h ) W O \text{MHSA}(E_A) = \text{Concat}(H_1, ..., H_h)W_O MHSA(EA)=Concat(H1,...,Hh)WO

H i = softmax ( Q i K i T C / h ) V i H_i = \text{softmax}\left(\frac{Q_i K_i^T}{\sqrt{C/h}}\right) V_i Hi=softmax(C/h QiKiT)Vi

其中h是头组的数量, W O W_O WO是输出投影矩阵。然后我们将MHSA和E的和输入到一个由层归一化和MLP组成的残差结构中,以获得Efusion。我们在另一次重塑操作和额外的卷积层(一个N×3×3的3D卷积层和一个2D卷积层)之后获得最终的融合特征图。最后,四个方向的特征被连接起来以回归原始视差 D r a w D_{raw} Draw

  1. Gradient-Based Disparity Refinement Module (GDRM):
    尽管我们的OPAL通过处理大多数遮挡案例帮助模型更快更好地收敛,我们观察到在前景和背景强度相似时,对象边缘仍然会出现一些膨胀。为解决这个问题,我们引入GDRM来对齐估计的视差与中心视图。我们首先基于 D r a w D_{raw} Draw将每个方向的SAIs变形到中心视图,然后计算相邻视图之间的梯度图。显然,平均梯度表示被错误计算的概率。如图4所示,我们将中心视图SAI、原始视差和平均梯度图一起作为输入,并通过[42]中设计的网络依次传递,以获得不同方向上的细化视差。最终的视差 D f i n a l D_{final} Dfinal是所有方向上细化视差图的平均值。

  2. OPENet-Fast: 通过消除EPI-Transformer和GDRM,并减少输入方向(仅使用水平和垂直方向),我们可以显著提高效率,而不会牺牲太多准确性。我们称这个轻量级版本为OPENet-fast。在OPENet-fast中,我们只使用第III-C1节中提到的额外卷积层进行特征融合。如表I所示,这样简单的结构与现有方法相比也能显著提高整体性能,这也证明了OPAL的强大优势。我们还比较了表II中的参数和推理时间,这证明了OPENet-fast的高效率。


  1. Implementation Details: 我们还应用了边缘感知平滑损失[44]来进一步提高无纹理区域的平滑性,并提供具有锐利边缘的视差,定义如下:

ℓ s m o o t h ( D ~ , I u 0 ) = ∣ ∇ x D ~ ∣ e − γ ∣ ∇ x I u 0 ∣ + ∣ ∇ y D ~ ∣ e − γ ∣ ∇ y I u 0 ∣ \ell_{smooth}(\tilde{D}, I_{u_0}) = |\nabla_x \tilde{D}| e^{-\gamma |\nabla_x I_{u_0}|} + |\nabla_y \tilde{D}| e^{-\gamma |\nabla_y I_{u_0}|} smooth(D~,Iu0)=xD~eγxIu0+yD~eγyIu0

其中边缘权重 γ \gamma γ设置为150。总损失函数由以下给出:

ℓ t o t a l = λ 1 ℓ r a w _ o p a l + ( 1 − λ 1 ) ℓ f i n a l _ o p a l + λ 2 ℓ s m o o t h \ell_{total} = \lambda_1 \ell_{raw\_opal} + (1 - \lambda_1) \ell_{final\_opal} + \lambda_2 \ell_{smooth} total=λ1raw_opal+(1λ1)final_opal+λ2smooth

其中 ℓ r a w _ o p a l \ell_{raw\_opal} raw_opal ℓ f i n a l _ o p a l \ell_{final\_opal} final_opal分别是基于L1范数的 D r a w D_{raw} Draw D f i n a l D_{final} Dfinal的OPAL。对于OPENet和OPENet-fast, λ 1 \lambda_1 λ1分别设置为0.6和1.0。 λ 2 \lambda_2 λ2等于0.3。

我们从光场图像中随机裁剪64×64 RGB块进行训练,并使用EPINet[15]中的数据增强策略来提高鲁棒性。我们使用Adam优化器[46],其中 β 1 = 0.9 \beta_1 = 0.9 β1=0.9 β 2 = 0.999 \beta_2 = 0.999 β2=0.999,批量大小设置为16。初始学习率设置为1e-3,并减少到1e-6。它只需要210个周期就可以收敛,OPENet和OPENet-fast在单个NVIDIA RTX 3080上的训练时间分别为6小时和4小时。

IV. EXPERIMENTAL RESULTS

在本节中,我们首先介绍用于评估的数据集和指标。然后,我们报告的定量和定性比较与国家的最先进的方法。最后,我们进行消融研究,分析我们的方法的不同组成部分。

A. Datasets and Evaluation Criteria

我们的方法在三个合成数据集(4D Light Field Benchmark [38], HCI Blender [35], 和由 [45] 发布的数据集)以及来自斯坦福 Lytro LF 档案 [47]、Kalantari 等人 [48]、龙门吊相机数据集 [49] 和 EPFL LF 数据集 [50] 的四种真实世界数据集上进行了评估。

合成光场数据集:4D Light Field Benchmark [38] 和 HCI Blender [35] 是评估光场视差估计最常用的数据集。它们都具有 9×9 的角度分辨率。对于所有基于学习的方法,我们使用 4D Light Field Benchmark 的一个子集(Additional)中的 16 个场景进行训练,并在两个数据集的其他场景上评估所有方法,以更好地评估算法在真实场景中的泛化能力。请注意,我们还在 [45] 中的无纹理和非均匀照明场景上直接验证了我们方法的可行性,而无需任何微调过程。

真实世界光场数据集:斯坦福 Lytro LF 档案数据集 [47] 由 Lytro Illum 相机拍摄的 251 个真实世界场景组成,Kalantari [48] 发布的数据集包含 97 个不同场景,包括 72 个训练场景和 25 个测试场景。这两个真实世界数据集具有相同的 14×14 角度分辨率。EPFL [50] 是另一个由 Lytro 相机拍摄的光场数据集,具有 9×9 的角度分辨率。由于 [49] 中龙门吊相机拍摄的数据集角度分辨率为 17×17,并且由于视差较大,我们将所有数据集的 SAIs 下采样了 2 倍,以确保所有数据集具有相同的视差范围([-4, 4])。请注意,由于真实世界数据集无法提供真实视差,我们只使用 [48] 中的训练集重新训练无监督模型,并在其他数据集的场景上测试所有方法(包括基于优化的、监督的和无监督的方法)。

评估指标:我们在合成数据集上使用 Bad Pixel Ratio (BPR) [38] 和 Mean Square Errors (MSE) 进行定量评估。请注意,BPR 衡量的是误差超过 ε 的错误估计像素的百分比,其中 ε 设置为 0.07 用于评估。

B. Comparisons With State-of-the-Art Methods

Methods for Comparison:我们定量和定性地将我们的方法与其他最先进的方法进行了比较,包括基于优化的方法(CAE [27], SPO [24], OAVC [26])、基于监督学习的方法(EPINet [15], LFattNet [16], OACC [18])以及现有的无监督方法(Unsup [19], OccUnNet [22])。注意到 OccUnNet [22] 和 AttMLFNet [34] 的代码不可用或不完整,因此我们只展示了他们论文中的一些结果。此外,我们进行了大量实验,以评估我们方法与基于单图像 [4]、单目视频 [5]、[6] 和 NeRF [52] 的方法相比的优越性。

Quantitative Comparison on Synthetic Data:对于合成数据集,我们在简化的遮挡模式上训练模型以获得更好的性能。表 I 报告了所有方法的结果。图 6 可视化了不同方法的视差和误差图。请注意,4D LF Benchmark [38] 中的 Stratified 场景在真实世界中不存在,因此在计算平均指标时我们排除了 Stratified 场景,以反映算法在现实场景中的性能和泛化能力。我们的方法 OPENet-fast 在准确性上与基于优化的方法相当,而 OPENet 在性能上显著超越了它们。对于纹理贫乏或遮挡严重的区域,我们的方法表现更好。与之前的无监督方法 [19]、[22] 相比,我们的可以很好地处理大多数遮挡案例,产生较少的噪声视差图,因此在性能上大大超越了它们。监督学习方法在 4D LF Benchmark [38] 上的表现比我们的好。然而,当它们泛化到其他数据集时(见表 I 和图 7),性能显著下降。我们方法的性能在不同数据集上更为稳健。


  • OPENet-fast在精度上达到了与基于优化的方法相当的性能,而OPENet明显超过了它们。对于纹理较差或严重遮挡的区域,我们的方法表现得更好。
  • 与以前的无监督方法[19],[22]相比,我们可以很好地处理大多数遮挡情况,产生更少的噪声视差,从而大大超过它们。
  • 监督方法在4D LF Benchmark [38]上实现了比我们更好的性能。然而,当将它们推广到其他数据集时,会发生显著的性能下降(见表I和图7)。我们的方法在不同数据集上的性能要稳健得多。

Qualitative Comparisons on Real-World Datasets:图 8 展示了在 [47]、[48] 上的定性结果。现有的无监督方法 [19] 生成的视差图在遮挡和无纹理区域有明显的错误。由于真实世界场景中严重的噪声和复杂的结构,即使是最先进的基于优化的方法(OAVC)也无法在仔细调整参数后保持良好的性能。此外,监督方法在真实世界数据集上不可避免地遭受严重的性能下降。而我们提出的方法在真实世界 LF 图像中保持了锐利的视差,与监督基线相比显示出明显改进的性能。得益于 OPAL 的精细设计、在多样化真实数据上的再训练能力以及平滑损失的约束,非遮挡区域也得到了很好的规范。在图 9 中,我们将视差转换为 3D 网格,以验证准确性。令人印象深刻的结果显示我们的方法倾向于提供更准确的视差,甚至可以用于进一步的 3D 应用。


为了验证我们方法在真实场景中的泛化和鲁棒性,我们还在由龙门吊相机 [49] 拍摄的室内场景和另一个户外数据集 [50] 上进行了额外的比较。如图 10 所示,室内场景仅有轻微的噪声,而监督方法会产生一些伪影。优化算法和无监督算法的结果在图 11 中的严重噪声的户外场景中产生了明显的错误。相比之下,我们的结果在室内和室外环境中都保持了很好的完整性。我们相信这是因为我们的算法能够在没有真实视差的情况下进行额外的训练,使我们的网络能够适应不同程度的噪声,而 [19] 没有充分利用无监督学习的优势,导致结果不尽如人意。


Comprehensive Comparisons of Efficiency and Generalization Capacity:我们在表 II 中根据运行时间、网络参数、MSE × 100 和 BPR0.07 在合成数据集上对不同方法进行了全面的比较。如表所示,我们方法的整体准确性超越了最先进的方法。尽管 LFattNet 和 OACC 在 4D LF Benchmark [38] 上实现了最佳准确性(见表 I),但当泛化到 HCI Blender [35] 时,由于数据分布偏差,性能显著下降。请注意,CAE 在 [38] 中的性能也有所下降,尽管它在 [35] 中表现良好。这显然证明了我们方法的强大泛化能力。此外,我们展示了不同方法在 CPU 和 GPU 上的运行时间,这显著说明了我们方法的效率。请注意,OAVC 由于充分利用了 GPU 加速,运行速度比 OPENet 快。除了高运行时效率外,我们还要提到我们方法的高训练效率(6 小时与 LFattNet 的 1 周相比)。由于 OPAL 足够强大,可以指导训练快速收敛,我们可以使用轻量级模型(1.047 Mb)实现高效率而不会牺牲准确性。为确保公平,所有方法都在配备有 Intel 2.1 GHz CPU 和 NVIDIA RTX 3080 GPU 的同一 PC 上进行了测试。

Comparisons With Different Kinds of LF Reconstruction and Depth Estimation Methods:为了更全面地展示我们方法的有效性,我们在 4D LF Benchmark 上定量和定性地将其与完全监督的基于单图像的方法 MiDaS [4]、自监督的基于单目视频的方法 Monodepth2 [5] 和基于 NeRF 的方法 TensoRF [51] 进行了比较。请注意,即使光场数据密集且结构化,光场深度估计 [3] 也不是微不足道的,因为 i) 微基线设置(基线越短,估计的歧义越大,如 [53] 中所解释)和 ii) 复杂的遮挡。因此,没有仔细考虑光场的结构化模式的算法仍然难以产生与光场深度估计算法相当的深度估计结果,如图 12 和表 III 所示。

C. Ablation Study

我们对网络设计、OPAL、平滑损失以及 OPAL 的不同 1D 模式选择在 4D LF Benchmark [38] 的四个代表性场景(Boxes, Cotton, Dino, 和 Sideboard)上进行了全面的消融研究。首先,我们移除了不同的模型组件和 OPAL,以展示它们对估计性能的贡献。如图 13 所示,OPAL 在遮挡边界上显著提高了性能,GDRM 进一步帮助 OPENet 在微妙的遮挡区域提升了锐度。此外,引入的 EPI-Transformer 可以优化整体性能。同时,OPENet 在真实世界数据集上的训练性能明显优于 OPENet-fast,这表明了我们网络中特征融合和细化策略的重要性。我们认为真实世界中的严重噪声和不均匀照明对遮挡模式选择有严重影响。EPI-Transformer 和 GDRM 使我们的模型对处理这些复杂场景更加稳健。数量消融也在表 IV 中提供。

此外,我们还分析了公式 (13) 中平滑损失的影响。如表 IV 所示,报告的指标显示它对整体性能是有效的。由于模式是逐像素的,因此在纹理区域很难保持良好的连续性,导致估计的视差图中有轻微的噪声。平滑损失可以确保视差图的局部一致性,从而提高视差图的整体质量。

最后,我们评估了OPAL的不同1D近似2D模式,包括垂直(V)、水平(H)和对角线(D)方向。显然,单一方向的模式无法完全表示2D信息,额外的对角线模式会导致整体性能下降,因为变形误差。结果表明,使用垂直和水平方向的1D模式训练的OPENet表现最佳。

V. CONCLUSION

Limitations and Future Work:尽管在真实世界数据上存在由非朗伯或透明材料引起的常见问题,但1D遮挡模式的假设无法涵盖一些极端情况,如物体前非常细的网格或非常小但深的孔洞。设计更多的遮挡模式可能解决这个问题,我们将其留作未来的工作。我们还将把OPAL应用于非结构化光场。最后,我们将利用GPU加速工具如TensorRT进一步提高我们方法的整体效率。

Conclusion:在本文中,我们设计了遮挡模式感知损失(OPAL)并提出了无监督OPENet框架,在一般场景中实现了准确、鲁棒和轻量级的光场视差估计。实验结果表明,我们的方法显著降低了计算开销(无论是训练还是推理),并且即使与最先进的监督方法相比也实现了更加稳健的性能。更重要的是,我们的方法可以有效地避免在泛化到真实场景时的域偏移效应。我们相信OPAL和OPENet为光场视差估计在准确性、泛化能力和效率之间重新定义了平衡。

声明

本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/147771.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

一个永久的.NET渗透工具和知识仓库

01前言 为了更好地应对基于.NET技术栈的风险识别和未知威胁,.NET安全攻防帮会从创建以来一直聚焦于.NET领域的安全攻防技术,定位于高质量安全攻防社区,也得到了许多师傅们的支持和信任,通过帮会深度连接入圈的师傅们,…

计算机毕业设计推荐-基于PHP的律所预约服务管理系统

精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻 💖🔥作者主页:计算机毕设木哥🔥 💖 文章目录 一、基于PHP的律…

61.【C语言】数据在内存中的存储

1.前置知识 整数在内存中以补码形式存储 有符号整数三种码均有符号位,数值位 正整数:原码反码补码 负整数:原码≠反码≠补码 2.解释 int arr[] {1,2,3,4,5}; VSx86Debug环境下,内存窗口输入&arr VSx64Debug环境下,内存窗口输入&arr 存放的顺序都一样,均是小端序…

路由基础--路由引入

路由引入的主要作用是实现路由信息在不同路由协议之间的传递和学习。在大型企业网络中,多种路由协议共存是常态,为了实现全网互通,需要通过路由引入来传递路由信息。此外,执行路由引入时还可以部署路由控制,从而实现对…

Leetcode 2464. 有效分割中的最少子数组数目

1.题目基本信息 1.1.题目描述 给定一个整数数组 nums。 如果要将整数数组 nums 拆分为 子数组 后是 有效的,则必须满足: 每个子数组的第一个和最后一个元素的最大公约数 大于 1,且 nums 的每个元素只属于一个子数组。 返回 nums 的 有效 子数组拆分中…

【数据结构】Java的HashMap 和 HashSet 大全笔记,写算法用到的时候翻一下,百度都省了!(实践篇)

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. 🤭🤭🤭可能说的不是那么严谨.但小编初心是能让更多人…

ESP32Cam人工智能教学22

ESP32Cam人工智能教学22 在线车牌识别装置 在第十六课《tencent-OCR》中,已经学会了使用腾讯在线识别车牌,但是用的是电脑中的Python程序,读取一张车牌图片内容,然后发送给腾讯服务器进行识别,并获取返回的识别结果。…

基于yolov5滑块识别破解(一)

由于内容较长,将分为两个部分来说明,本文讲解yolov5的部署与训练。 1.YOLOv5部署 云端部署(训练) 服务器创建 如果自己的显卡算力不是很好的,或者是核显电脑,可以租用算力,价格还行一块钱左右就…

教你一招:在微信小程序中为用户上传的图片添加时间水印

在微信小程序开发过程中,我们常常需要在图片上添加水印,以保护版权或增加个性化元素。本文将为大家介绍如何在微信小程序中为图片添加时间水印,让你的小程序更具特色。 实现步骤: 1. 创建页面结构 在pages目录下创建一个名为upl…

springboot项目今日指数 -- 工程可用性测试

2. 编写测试 在这里我们编写一个测试文件通过用户名查询到用户信息 一. 编写service层 创建SysUserService接口 import com.jixu.stock.pojo.entity.SysUser;public interface SysUserService {public SysUser getUserByName(String username); }创建实现类 import com.ji…

Python酷库之旅-第三方库Pandas(124)

目录 一、用法精讲 551、pandas.DataFrame.notna方法 551-1、语法 551-2、参数 551-3、功能 551-4、返回值 551-5、说明 551-6、用法 551-6-1、数据准备 551-6-2、代码示例 551-6-3、结果输出 552、pandas.DataFrame.notnull方法 552-1、语法 552-2、参数 552-3…

为了不再被事务坑,我读透了Spring的事务传播性。

在之前文章中,我们已经被事务坑了两次: mq发送消息之后,业务代码回滚,导致发了一条中奖消息给用户!! 我又被Spring的事务坑了,用户兑奖之后,什么东西都没收到!&#xf…

【高阶用法】uniapp的i18n/修复/增强/App无重启更换语言

痛点 在i18n多语言模块使用过程中,发现下面几个问题,需要解决 1)uni-best框架下,$t功能函数无法实时的切换语言,可能跟使用有关 2)uni-best建议的translate方式在vue块外使用太繁琐,希望不用…

10年计算机考研408-计算机网络

【题33】下列选项中,不属于网络体系结构所描述的内容是() A.网络的层次 B.每一层使用的协议 C.协议的内部实现细节 D.每一层必须完成的功能 解析: 本题考查的是网络体系结构相关的概念。 图1描述了网络的7层架构以及每一层所要完成…

防火墙详解(一) 网络防火墙简介

原文链接:https://blog.csdn.net/qq_46254436/article/details/105519624 文章目录 定义 与路由器和交换机的区别 发展历史 防火墙安全区域 定义 防火墙主要用于保护一个网络区域免受来自另一个网络区域的网络攻击和网络入侵行为 “防火墙”一词起源于建筑领域&…

Openai gym environment for multi-agent games

题意:用于多智能体游戏的 OpenAI Gym 环境 问题背景: Is it possible to use openais gym environments for multi-agent games? Specifically, I would like to model a card game with four players (agents). The player scoring a turn starts the…

8月份工业机器人产量同比增长20%

近日,国家统计局公布数据显示,8月份,我国工业机器人产量为47947套,较去年同期增长20%;1-8月份,总产量为360592套,较去年同期增长9.9%。 9月14日,国家统计局发布数据显示,…

十大常用加密软件排行榜|2024年好用的加密软件推荐【精选】

在信息安全日益重要的时代,加密软件成为保护个人和企业数据的关键工具。选择合适的加密软件可以有效防止数据泄露和未授权访问。以下是2024年值得推荐的十大加密软件,帮助你找到适合的解决方案。 1. Ping32加密软件 Ping32是一款功能强大的加密软件&…

Spring Boot 学习之路 -- 处理 HTTP 请求

前言 最近因为业务需要,被拉去研究后端的项目,代码基于 Spring Boot,对我来说完全小白,需要重新学习研究…出于个人习惯,会以 Blog 文章的方式做一些记录,文章内容基本来源于「 Spring Boot 从入门到精通&…

【数列求值 / B】

题目 一般做法 #include <bits/stdc.h> using namespace std; const int mod 10000; int f[20190325] {1, 1, 1, 1}; int main() {for(int i 4; i < 20190324; i){f[i] (f[i-1] f[i-2] f[i-3]) % mod;}cout << f[20190324]; } 快速幂矩阵乘法 #includ…