DME: Unveiling the Bias for Better Generalized Monocular Depth Estimation AAAI 中稿论文
DME: Unveiling the Bias for Better Generalized Monocular Depth Estimation AAAI 中稿论文
摘要
本文旨在设计具有更好泛化能力的单目深度估计模型。为此,我们进行了定量分析,并发现了两个重要的见解。首先,通常在长尾分类问题中出现的模拟相关现象在单目深度估计中也存在,这表明训练数据中深度分布的不平衡可能是泛化能力有限的原因。其次,深度值的不平衡和长尾分布不仅存在于数据集规模上,还表现在每张图像内部,进一步加剧了单目深度估计的挑战。基于上述发现,我们提出了距离感知多专家(DME)深度估计模型。与先前的方法不同,DME采用分而治之的策略,每个专家负责特定深度范围内的深度估计。因此,每个专家看到的深度分布更加均匀,更容易预测。此外,我们设计并学习了一个像素级路由模块,将所有专家的预测结果整合成最终的深度图。实验表明,DME在NYU-Depth v2和KITTI数据集上均达到了最先进的性能,并且在未见过的数据集上也表现出良好的零样本泛化能力。
引言
尽管近年来取得了显著的进展(Bhat, Alhashim, 和 Wonka 2021; Ranftl, Bochkovskiy, 和 Koltun 2021; Wang 等 2021; Ren 等 2022),单目深度估计仍然存在不令人满意的泛化能力,这限制了其在复杂现实场景中的应用。泛化能力不足的问题主要归因于显著的场景多样性和尺度变化,并通过两种主要方法来解决。首先,场景感知模型采用多分支架构,以适应不同场景的深度估计(Ren, El-Khamy, 和 Lee 2019; Bhat 等 2023)。然而,这些模型需要场景先验知识。其次,相对深度模型在多样化的、大规模数据上以尺度不变的方式进行训练,以实现度量深度预测(Ranftl 等 2020; Ranftl, Bochkovskiy, 和 Koltun 2021)。
尽管这些方法达到了最先进的性能,但它们无法恢复绝对深度值。虽然这些方法推动了领域的发展,但它们的局限性突显了需要开发能够在不牺牲度量准确性或不需要场景先验知识的情况下提高泛化能力的方法。
在图像分类的文献中,泛化问题已经得到了深入的研究,并且主要归因于在长尾数据分布中发现的模拟相关效应(Hong 等 2021),即分类模型倾向于过度关注高频类别,而对低频类别的性能下降。相比之下,尽管先前的工作已经识别出单目深度的不平衡分布(Jiao 等 2018),但其与泛化问题的联系却很少被探讨。因此,我们首次尝试通过提出以下问题来探讨这一问题:单目深度是否也表现出长尾分布,以及泛化问题是否可以用模拟相关效应来解释。
为了回答上述问题,我们对深度分布及其对深度估计模型的影响进行了定量研究。我们得出了两个重要的发现。首先,我们发现室内和室外场景的单目深度值都遵循长尾分布,并且在大多数最先进的深度估计方法中发现了模拟相关现象的普遍存在(参见图1)。其次,与图像分类任务不同,长尾深度分布不仅存在于数据集层面,还可以在单个图像中找到。
基于上述发现,我们设计了一个距离感知多专家模型,以增强深度估计的泛化能力。我们建议将深度范围划分为多个区间,每个专家负责估计其对应区间内的深度。由于每个区间内的深度分布更加平衡,长尾问题得到有效缓解,专门学习的专家更加专注,从而提高了深度精度。为了获得最终的深度估计结果,我们设计了一个像素级路由模块,该模块可以自动聚合多专家的输出,而无需任何先验信息,从而生成全面且准确的深度图。
总之,本文的贡献有三个方面:
• 我们对广泛采用的深度估计数据集进行了深入分析,结果表明泛化问题可能是由长尾深度分布以及模拟相关效应引起的。
• 我们提出了距离感知多专家范式来增强深度估计,该方法可以有效解决长尾深度分布问题,提供更好的泛化能力。
• 我们的方法在 NYUD v2 和 KITTI 数据集上取得了新的最先进性能,并在五个不同场景的未见数据集上展示了优越的零样本泛化性能。
我们的工作为解决深度估计中的泛化问题提供了新的视角。代码可以在 这里https://github.com/YUsong360/DME-Unveilingthe-bias 获取。
相关工作
略
方法
单目深度分布分析
在长尾分类任务中,模拟相关效应(Hong 等 2021)表明数据偏斜可能会引入不希望的偏差,从而影响模型的泛化能力。为了研究单目深度估计中是否存在类似现象,我们对室内(NYUD v2 (Silberman 等 2012))和室外(KITTI (Geiger 等 2013))数据集进行了定量分析,研究深度分布及其对深度估计性能的影响。由于主要发现大多一致,以下我们将详细报告 NYUD v2 的结果。
区间评估
与分类任务不同,深度估计作为一个回归问题具有连续的输出空间。为了利用类似分析方法,我们将 NYUD v2 数据集的深度值均匀划分为10个区间,并计算它们的频率。然后,我们对一系列最近的最先进方法进行了区间评估,包括 GLP (Kim 等 2022)、MIM (Xie 等 2023)、ZoeDepth (Bhat 等 2023) 和 PixelFormer (Agarwal 和 Arora 2023)。其中,GLP 和 MIM 是单阶段回归模型,而 ZoeDepth 和 PixelFormer 是两阶段分类-回归模型。
深度分布和评估结果如图1所示。结果确认整个数据集的深度分布确实遵循单峰长尾分布,大多数深度值集中在2-5米范围内。同时,我们还可以观察到深度频率与所有比较方法的性能之间存在强烈的正相关关系。这可能是由模拟相关效应引起的,但也可能仅仅是因为远距离深度估计本身更具挑战性(Jiao 等 2018)。
逆频率训练
为了进一步确认模拟相关效应,我们分析了逆频率训练对 ZoeDepth 的影响。为此,我们首先通过重采样反转训练深度值的频率,将主要深度区间变为次要区间,反之亦然。逆频率和原始训练深度频率如图2 (a)所示。然后,我们在逆频率数据上训练了两个版本的 ZoeDepth:’Pretrain’ 表示从大规模预训练参数初始化的版本(Bhat 等 2023),而 ’w/o Pretrain’ 则是从头开始训练的版本。通过比较图1和图2 (a),我们可以得出结论,深度估计性能主要由训练数据分布决定。’Pretrain’ 版本的性能进一步表明,大规模预训练相对深度可以在一定程度上提高跨深度区间的泛化能力。然而,由于预训练数据的长尾分布,远程区域的改进仍然有限。上述结果和分析确认,深度估计的弱泛化问题也可以用模拟相关效应来解释。
图像级深度分布分析
由于深度估计涉及密集预测,一个有趣的问题出现了:长尾深度分布是否也在图像级别上持续存在?为了研究这一点,我们的基本思路是识别数据集中最不常见的图像样本,这些样本的深度分布与整个数据集的总体深度分布显著不同。如果这些罕见样本的深度分布也显示出类似的长尾和单峰模式,这表明长尾特性是图像级别的现象。为此,我们定义图像的稀有度分数 S 为其与数据集的 KL 散度:
其中 分别表示从整个数据集和图像中计算的第 ii 个深度区间的频率。然后,我们根据稀有度分数对所有图像进行降序排序,并选择前 KK 个图像重新计算其深度分布。如图2 (b)所示,当 K=10,50,100 K=10,50,100 时,深度分布显示出显著的相似性,并逐渐趋近于整个数据集的深度分布。这一观察结果表明,长尾深度分布是图像级别的普遍特征。
实际上,考虑到透视投影的性质,这一点很容易理解:较近的区域在生成的图像中往往占据主导地位,导致深度分布不平衡。
距离感知多专家模型
鉴于上述发现,我们推测深度估计中的泛化问题可能由多种因素引起,包括训练数据集和单目图像中存在不平衡的深度分布,以及模拟相关效应的影响。为了验证这一点,我们提出了距离感知多专家(DME)深度估计范式。我们的主要见解是将整体深度范围划分为多个由特定专家处理的区间。每个区间内的深度分布的长尾模式将显著减弱,从而有效缓解每个深度区间的深度估计难度。图3展示了该架构的概览。给定输入图像,我们采用编码器-解码器结构(Touvron 等 2021)来提取多尺度特征。专家是基于提取的特征构建的卷积子网络,负责预测特定区间内的深度。进一步设计了一个像素级路由模块,将所有专家的输出聚合为最终的深度估计结果。尽管概念上简单,但我们的方法通过定量分析在实验中表现出优越的性能。
与均匀的深度划分不同,我们基于观察经验性地划分深度范围。我们考虑 NYUD v2 和 KITTI 数据集,因为它们包含室内和室外场景,因此更具代表性。为了确保每个区间的深度分布均衡,我们将深度范围划分为4个区间,包括1-3米、3-10米、10-25米和25-80米。如实验所示,这种经验性划分方法可以很好地泛化到甚至未见过的数据集。
像素级路由模块
我们进一步设计了一个轻量级的路由模块,以自动将所有专家的输出组合成最终的深度估计结果。与 Bhat 等(2023)提出的图像级路由方法不同,我们提出的路由模块在像素级操作。如图3所示,多尺度层次结构的输入特征首先通过1 × 1卷积投影到C个通道,然后通过连续的双线性插值上采样到原始图像分辨率H × W。上采样特征的拼接通过一系列路由层,这些路由层由两个1 × 1卷积层、批量归一化层和ReLU非线性层交替组成。路由模块最终生成一个大小为H × W × N的权重图,其中N表示专家的数量。权重图沿通道维度使用Softmax层进行归一化。最终的深度图通过将所有专家预测的深度图按权重图加权求和得到。
网络训练
基于我们的初步实验,我们开发了一种两阶段训练策略,这可以促进更好的模型学习,使专家能够获得更多样化的技能(Zhang 等 2021)。在第一阶段,我们训练编码器-解码器和四个专家。具体来说,我们使用地面真值作为路由信息,即每个像素应由哪个专家模型预测。对于特定的专家,其损失仅来自其负责的深度范围,而不考虑其他范围的估计性能。因此,每个专家在其指定范围内都能实现良好的估计性能,从而使整个模型具备处理多个深度范围的能力。在第二阶段,我们冻结第一阶段获得的所有网络参数,仅训练路由模块。在两个阶段中,我们使用尺度不变损失(Lee 等 2019b)进行模型训练,具体如下:
T表示有效像素的数量;λ和α分别设置为0.85和10。
实验
略,证明随着专家数目增多,RMSE会下降,后续实验替换DepthAnything做微调也能够实现很好的metric depth效果。
写在最后
本文方法过于简单,并没有深入研究如何有效利用多专家模型,路由机制的两阶段训练方法虽然一定程度上避免了长尾分布带来的问题,但是不够优雅,也没有考虑到焦距等等问题。
最有价值的是提出了深度估计中确实存在像素级长尾分布问题,原因也非常直观,近大远小的透视关系决定了图像中远距离的像素值占小部分,这也符合自然界独立同分布元素的叠加是正态分布这一客观规律。并且实验证明了,即使通过scaling数据规模,也无法解决这个问题,这说明要在优化目标或者模型结构上做针对性设计。
希望能够启发后续工作,从解决长尾分布这一角度入手,提升metric depth estimation。