GupNet :用于单目三维目标检测的几何不确定性投影网络

Abstract

几何投影是一种强大的单目3D物体检测深度估计方法。它依赖于高度来估计深度,从而在深度模型中引入了数学先验。然而,投影过程也引入了错误放大问题,即估计高度的误差会被放大并显著反映在输出深度上。这种特性导致深度推断不可控,并且损害了训练效率。在本文中,我们提出了一种几何不确定性投影网络(GUP Net)来解决推断和训练阶段的错误放大问题。具体来说,我们提出了一个GUP模块用以获取推断深度的几何引导不确定性,这不仅为每个深度提供了高可靠的置信度,还有助于深度学习。此外,在训练阶段,我们提出了一种分层任务学习策略,以减少由于错误放大引起的不稳定性。这种学习算法通过一个提出的指标监控每个任务的学习情况,并根据其前置任务的情况自适应地分配适当的损失权重。基于此,每个任务仅在其前置任务学得好的情况下开始学习,这可以显著提高训练过程的稳定性和效率。广泛的实验表明了所提出方法的有效性。整体模型比现有方法能够推断出更可靠的物体深度,并在KITTI基准测试的汽车和行人类别中分别超过了现有最先进的基于图像的单目3D检测器3.74%和4.7%的AP40。代码和模型将发布在https://github.com/SuperMHP/GUPNet。

图1. 我们的几何不确定性投影模块的主要流程。投影过程由概率框架中的不确定性理论建模。推理深度可以表示为一个分布,从而提供准确的值和评分。

1. Introduction

        3D 目标检测是自动驾驶的重要组成部分,近年来受到越来越多的关注。与基于 LiDAR/立体视觉的方法相比,单目 3D 目标检测仍然是一个具有挑战性的任务,因为缺乏深度线索,使得单目目标级深度估计本质上是病态的。因此,即使应用了一些复杂的网络结构,单目 3D 检测器也无法达到令人满意的性能。最近,为了缓解这一问题,一些研究尝试引入几何先验来帮助深度推理,其中一种广泛使用的先验是透视投影模型。

        现有的透视投影模型方法通常先估计 2D 和 3D 边界框的高度,然后通过投影公式

        通过该公式推断的深度与估计的 2D/3D 高度密切相关,因此高度估计的误差也会反映在估计的深度上。然而,尤其是病态的 3D 高度估计,高度估计的误差是不可避免的(由于 2D 高度估计相对更准确,因为2D 检测已经非常成熟),因此我们更关注由 3D 高度估计误差引起的深度推理误差。为了展示这种特性的影响,我们在图2中可视化了固定 3D 高度误差引起的深度偏移。我们发现,3D 高度的轻微偏差(0.1m)可能导致投影深度的显著偏移(甚至 4m)。这种误差放大效应使得基于投影的方法输出几乎无法控制,显著影响推理可靠性和训练效率。在本文中,我们提出了一个几何不确定性投影网络(GUP Net),包括一个几何不确定性投影(GUP)模块和一个分层任务学习(HTL)策略,以解决这些问题。

        第一个问题是推理可靠性。3D 高度估计中的小质量变化会导致深度估计质量的巨大变化。这使得模型难以预测可靠的不确定性或置信度,从而导致输出无法控制。为了解决这个问题,提出了 GUP 模块,通过分布形式而不是离散值来推断深度。深度分布是通过估计的 3D 高度分布推断的。因此,估计的 3D 高度估计的统计特性将反映在输出的深度分布中,从而导致更准确的不确定性。在推理过程中,这种良好学习的不确定性将映射到一个置信值,以指示深度推理质量,从而使整个投影过程更可靠。

另一个问题是模型训练的不稳定性。特别是在训练阶段初期,2D/3D 高度的估计往往是噪声的,错误会被放大并导致离谱的深度估计。因此,网络的训练过程将被误导,从而导致最终性能的下降。为了解决训练的不稳定性,我们提出了分层任务学习(HTL)策略,旨在确保每个任务仅在所有前置任务(如 3D 高度估计是深度估计的前置任务)训练良好时才进行训练。为了实现这一点,HTL 首先通过一个精心设计的学习情况指标来衡量每个任务的学习情况。然后根据其前置任务的学习情况自动调整每个损失项的权重,这可以显著提高训练的稳定性,从而提升最终性能。

总之,本文的主要贡献如下:

  • 我们提出了一个结合数学先验和不确定性建模的几何不确定性投影(GUP)模块,显著减少了推理中的误差放大效应导致的不可控影响。
  • 对于几何方法中的任务依赖性引起的训练不稳定性,我们提出了分层任务学习(HTL)策略,可以显著提高训练效率。

2. Relate Work

单目3D目标检测旨在从单个图像中预测3D边界框【13, 17, 21, 25, 31, 43】。现有方法主要关注深度表示学习【39】和几何先验【29, 30, 46, 56】。Deep3DBox【34】首次尝试通过几何先验解决关键角度预测问题。DeepMANTA【7】引入3D CAD模型以学习基于形状的知识,从而指导更好的尺寸预测结果。GS3D【22】利用ROI(感兴趣区域)表面特征提取更好的目标表示。M3DRPN【4】提出了一种新的3D锚定设置,并提出了一种深度卷积方法来处理单目3D检测任务。MonoPair【10】提出了一种成对关系以提高单目3D检测性能。

除了这些方法,许多方法尝试引入几何投影来推断深度【1, 2, 6, 20】。Ivan等人【2】结合了关键点方法和投影进行几何推理。Decoupled3D【6】使用边界框边长进行投影以获得推断深度。Bao等人【1】将中心投票与几何投影结合以实现更好的3D中心推理。这些基于投影的单目3D方法都没有考虑误差放大问题,导致性能有限。

基于不确定性的深度估计。不确定性理论在深度回归方法中被广泛使用[3],它可以同时建模偶然性不确定性和认知性不确定性。这项技术在深度估计领域得到了充分的发展[18, 24],能够显著减少深度目标的噪声。然而,这些方法通过深度模型直接回归深度不确定性,忽略了高度与深度之间的关系。在这项工作中,我们尝试通过结合端到端学习和几何关系来计算不确定性。

多任务学习。多任务学习是计算机视觉中被广泛研究的话题。许多工作集中在任务关系表示学习上[28, 45, 48, 51, 52, 53]。除此之外,一些工作还尝试通过调整不同损失函数的权重来解决多任务问题[11, 19, 54]。GradNorm[11] 尝试解决联合多任务学习中的损失不平衡问题,并提高了训练的稳定性。Kendall 等人[19] 提出了一种任务不确定性策略来处理任务平衡问题,也取得了良好的结果。这些损失权重控制方法假设每个任务都是相互独立的,这对于我们的方法来说是不适用的,因为我们框架中的多个任务形成了层次结构,即一些任务依赖于它们的前置任务。因此,在这项工作中,我们提出了一种层次任务学习策略来处理这个问题。

3. Geometry Uncertainty Projection Network

图 3 展示了提出的几何不确定性投影网络(GUP Net)的框架。它以图像作为输入,首先使用2D检测骨干网络处理图像,生成2D边界框(感兴趣区域,RoI),然后计算一些基本的3D边界框信息,即每个框的角度、尺寸和3D投影中心。接下来,几何不确定性投影(GUP)模块通过结合数学先验和不确定性建模来预测深度分布。这个深度分布提供了准确的推测深度值及其相应的不确定性。在推理阶段,预测的不确定性会映射到3D检测置信度。此外,为了避免在训练初期由于错误放大导致的误导,一个有效的层次任务学习(HTL)策略将控制整体训练过程,在每个任务的前置任务训练完成之前,该任务不会开始训练。

3.2. RoI特征表示

为了引导模型专注于对象,我们使用RoIAlign [16]来裁剪和调整RoI特征的大小。RoI特征仅包含对象级别的特征,不包括背景噪声。然而,这些特征缺乏位置和大小线索,而这些线索对于单目深度估计至关重要[12]。因此,我们计算了归一化坐标图,然后将其与每个RoI的特征图在通道维度上进行连接,以补偿这些线索。

3.3. 基本的3D检测头

利用提取的RoI特征,我们在这些特征之上构建了几个子头,以预测一些基本的3D边界框信息。3D偏移分支旨在估计2D特征图上的3D中心投影[10]。角度预测分支预测相对的alpha旋转角度[34]。3D尺寸分支估计3D尺寸参数,包括高度、宽度和长度。这些预测分别由Loffset3d、Langle和Lsize3d进行监督。需要注意的是,Lsize3d包括不同维度的三个部分,例如高度损失Lh3d。

3.4. 几何不确定性投影

基本的3D检测头提供了3D边界框的大部分信息,除了深度。鉴于直接回归深度的困难,我们提出了一种新颖的几何不确定性投影模型。整个模块在概率框架内构建投影过程,而不是使用单一值,这样模型可以计算推断深度的理论不确定性,从而指示深度推断的可靠性,并对深度学习有所帮助。为实现这一目标,我们首先假设每个对象的3D高度预测是一个拉普拉斯分布La(µh, λh)。分布参数µh和σh由3D尺寸流(3D size stream)以端到端的方式预测。µh表示回归目标输出,σh表示推断的不确定性。因此,3D高度损失函数可以定义为:

通过最小化Lh3d,使µh和真实高度尽可能接近。特别是,困难或噪声标注的样本通常会导致较大的σ3d,表示低预测置信度。基于学习的h3d分布,投影输出的深度分布La(µp, λp)可以近似为: 

 

我们将最终的不确定性 σd 称为基于几何的不确定性 (GeU)。这种不确定性反映了投影不确定性和偏差学习不确定性。通过这个公式,h3d 的小不确定性将反映在 GeU 值中。为了优化最终的深度分布,我们应用不确定性回归损失:

注意,为了简化,我们也假设深度分布属于拉普拉斯分布。整体损失将推动投影结果接近地面真实值 d_{gt},梯度将同时影响深度偏差、2D 高度和 3D 高度。此外,3D 高度和深度偏差的不确定性也在优化过程中得到训练。 

在推理过程中,深度预测的可靠性对现实世界的应用至关重要。一个可靠的推理系统应当对良好的估计反馈高置信度,对糟糕的估计反馈低评分。由于我们精心设计的 GeU 具有指示深度不确定性的能力,我们进一步通过指数函数将其映射到 0~1 之间的值,以表示深度不确定性-置信度 (UnC):

它可以为每个投影深度提供更准确的置信度。因此,我们在测试中使用这个置信度作为条件 3D 边界框分数 。最终的推理分数可以计算为: 

3.5. 层次化任务学习

 GUP 模块主要解决推理阶段的错误放大效应。然而,这种效应也会损害训练过程。具体来说,在训练开始时,h2d 和 h3d 的预测都远不准确,这将误导整体训练并损害性能。为了解决这个问题,我们设计了一个层次化任务学习(HTL),用于在每个周期控制每个任务的权重。总体损失为:

 

其中,T 是任务集,t 表示当前周期索引,Li 表示第 i 个任务的损失函数。wi(t) 是第 i 个任务在第 t 个周期的损失权重。

HTL 的灵感来源于这样的动机:每个任务应该在其前置任务训练良好之后才开始训练。我们将任务分为不同的阶段,如图 4 所示,第 i 个任务的损失权重 wi(t) 应与所有前置任务相关。第一个阶段是 2D 检测,包括热图、2D 偏移、2D 尺寸。然后,第二个阶段是 3D 检测,包含角度、3D 偏移和 3D 尺寸。所有这些 3D 任务都建立在 ROI 特征上,因此 2D 检测阶段的任务是它们的前置任务。类似地,最后一个阶段是深度推理,其前置任务是 3D 尺寸和 2D 检测阶段的所有任务,因为深度预测依赖于 3D 高度和 2D 高度。为了充分训练每个任务,我们希望随着训练的进行逐渐增加 wi(t) 从 0 到 1。因此,我们采用了课程学习主题中广泛使用的多项式时间调度函数作为加权函数,适应如下:

 

其中,T 是总训练周期数,归一化时间变量 t/T​ 可以自动调整时间尺度。αi(t) 是第 t 个周期的调整参数,对应于第 i 个任务的每个前置任务。如图 5 所示,αi 可以改变时间调度器的趋势。αi 越大,wi(·) 增长越快。根据调整参数的定义,通过每个前置任务的学习情况决定其值是很自然的。如果所有前置任务都训练良好,αi 预计会很大,否则应该很小。这是基于这样的观察:人类通常在完成基础课程后才学习高级课程。因此,αi(t) 定义为: 

 

其中,Pi 是第 i 个任务的前置任务集。lsj 表示第 j 个任务的学习情况指示器,其值在 0~1 之间。这个公式意味着只有当所有前置任务都达到高的 ls(训练良好)时,αi 才会获得高值。对于 lsj,受 [11, 54] 启发,我们设计了一个比例不变因子来指示学习情况: 

  • 15
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值