MonoFlex论文解读

Abstract        

原文

从单张图像中精确定位3D物体而没有深度信息是一个非常具有挑战性的问题。大多数现有方法对于所有物体都采用相同的方法,而不考虑它们的多样化分布,导致对截断物体的性能有限。本文提出了一种用于单目3D物体检测的灵活框架,该框架明确地将截断物体分离出来,并自适应地结合多种方法进行物体深度估计。具体来说,我们分离了特征图的边缘部分以预测长尾截断物体,从而不影响正常物体的优化。此外,我们将物体深度估计公式化为直接回归的物体深度和从不同组关键点解决的深度的不确定性引导集合。实验表明,我们的方法在KITTI基准测试集的中等难度水平上比最先进的方法相对提高了27%,在困难水平上提高了30%,同时保持了实时效率。代码将发布在 https://github.com/zhangyp15/MonoFlex。

总结

  • 问题定义

    • 挑战:从单张图像中检测3D物体而没有深度信息。
    • 限制:现有方法对所有物体采用相同的检测方法,导致对截断物体的检测效果不好。
  • 解决方案

    • 框架设计:提出了一种灵活的检测框架,将截断物体和正常物体分开处理。
    • 边缘分离:通过分离特征图的边缘部分,专门预测长尾截断物体,避免对正常物体优化的影响。
    • 深度估计方法:将物体深度估计公式化为不确定性引导的集合,这个集合结合了直接回归的深度和从不同组关键点解决的深度。

1.Introduction

原文

        3D物体检测是机器感知物理环境的一个不可或缺的前提,已被广泛应用于自动驾驶和机器人导航。在这项工作中,我们专注于仅使用单目图像信息来解决问题。大多数现有的3D物体检测方法需要激光雷达传感器[22, 33, 35, 40, 41, 49]进行精确的深度测量或立体相机[8, 24, 37, 45]进行立体深度估计,这大大增加了实际系统的实施成本。因此,单目3D物体检测成为一个有前途的解决方案,并在社区中受到广泛关注[2, 3, 7, 10, 13, 20, 27, 31, 34]。

        对于3D物体的挑战性定位,大多数现有方法采用统一的方法处理不同的物体。例如,[10, 25, 28, 52]利用全卷积网络使用共享内核预测不同分布的物体。然而,我们观察到,对所有物体进行相同的联合处理可能导致性能不满意:(1) 如图1所示,最先进的方法[3, 13]几乎无法检测到严重截断的物体,但这些物体对自动驾驶汽车的安全性非常重要。(2) 我们经验发现,这些难以检测的样本会增加学习负担并影响一般物体的预测。因此,统一的方法可能在找到每个物体和预测精确的3D位置方面都失败。为此,我们提出了一种灵活的检测器,考虑到物体之间的差异,并以自适应的方式估计它们的3D位置。由于物体3D位置的估计通常分解为找到投影的3D中心和物体深度[10, 28, 36, 52],我们也从这两个方面考虑灵活性。

为了定位投影的3D中心,我们将物体分为其投影中心在图像“内部”或“外部”。然后,我们将内部物体精确表示为投影中心,将外部物体表示为精心选择的边缘点,使得两组物体分别由特征图的内部和边缘区域处理。考虑到卷积滤波器仍然难以处理空间变异预测,我们进一步提出边缘融合模块,以解耦外部物体的特征学习和预测。

为了估计物体深度,我们提出结合不同的深度估计器与不确定性估计[18, 19]。这些估计器包括直接回归[10, 25, 36, 52]和来自关键点的几何解[2, 5]。我们观察到,从关键点计算深度通常是一个超定问题,简单地平均不同关键点的结果[5]对关键点的截断和遮挡敏感。因此,我们进一步将关键点分成M组,每组正好足以解决深度问题。为了结合M个基于关键点的估计器和直接回归,我们对它们的不确定性进行建模,并将最终估计公式化为不确定性加权平均。所提出的组合使模型能够灵活选择更合适的估计器,以实现稳健和准确的预测。

在KITTI[14]数据集上的实验结果表明,我们的方法显著优于所有现有方法,尤其是在中等和困难样本上。本文的主要贡献可以总结为两个方面:(1) 我们揭示了在单目3D物体检测中考虑物体差异的重要性,并提出解耦截断物体的预测;(2) 我们提出了一种新的物体深度估计公式,利用不确定性灵活结合独立估计器。

  • 方法细节

    • 投影3D中心定位
      • 对象分类:根据物体投影中心的位置,将物体分为在图像“内部”或“外部”。
      • 内部与外部处理内部物体表示为投影中心,外部物体表示为边缘点,分别由特征图的内部和边缘区域处理。
      • 边缘融合模块:为了解耦外部物体的特征学习和预测,提出了边缘融合模块。
    • 物体深度估计
      • 组合不同深度估计器:结合直接回归和来自关键点的几何解。
      • 关键点分组:将关键点分为M组,每组足以解决深度问题。
      • 不确定性加权平均对估计器的不确定性进行建模,并将最终估计公式化为不确定性加权平均。
  • 创新点

    • 灵活处理不同物体:新方法能够灵活处理内部和外部物体,改善了检测性能。
    • 结合多种估计方法:通过不确定性加权平均,灵活结合直接回归和基于关键点的深度估计,提升了预测的准确性和稳健性。

2. Related Work

单目3D目标检测。考虑到从2D图像中感知3D环境的难度,大多数现有的单目3D目标检测方法利用额外的信息来简化任务,这些信息包括预训练的深度估计模块【30, 45, 46, 47】、标注的关键点【2】CAD模型【32】。Mono3D【7】首先基于地面先验对候选目标进行采样,并使用语义/实例分割、上下文信息、目标形状和位置先验对其进行评分。MonoPSR【21】估计实例点云,并强制对齐目标外观与投影点云以改进建议。Pseudo-LiDAR【45】通过估计深度将单目图像转换为伪LiDAR,然后利用基于LiDAR的检测器。AM3D【31】提出了一种多模态融合模块,用颜色信息增强伪LiDAR。PatchNet【30】将伪LiDAR组织成图像表示,并利用强大的2D CNN提升检测性能。尽管这些带有额外信息的方法通常能取得更好的性能,但它们需要更多的标注用于训练,并且通常泛化性较差。其他纯粹的单目方法【3, 10, 27, 28, 34, 36】仅利用单张图像进行检测。Deep3DBox【34】提出了用于方向估计的MultiBin方法,并利用2D边界框的几何约束来推导3D边界框。FQNet【27】测量投影3D建议与目标之间的拟合程度,从而选出最适合的建议。MonoGRNet【36】通过稀疏监督直接预测目标的深度,并结合早期特征以优化位置估计。M3D-RPN【3】通过3D区域建议网络解决问题,并提出深度感知卷积层以增强提取的特征。MonoPair【10】考虑相邻目标之间的成对关系,这些关系被用作空间约束来优化检测结果。RTM3D【25】预测3D边界框的投影顶点,并通过非线性最小二乘优化求解3D属性。现有方法大多忽略了目标之间的差异或仅考虑了通用的尺度变化,这可能会导致对分布外目标的预测失误,进而降低性能。相比之下,我们的方法明确地将具有长尾分布的严重截断目标解耦以实现高效学习,并通过自适应结合多种深度估计器来估计目标深度,而不是对所有目标使用单一的方法。

  • 背景与挑战

    • 单目3D目标检测指的是仅使用单张2D图像进行3D目标定位和检测。这项任务非常具有挑战性,因为2D图像缺乏直接的深度信息。
    • 大多数现有方法通过利用额外的信息(如预训练的深度估计模块、标注的关键点、CAD模型等)来简化任务。
  • 现有方法

    • Mono3D: 基于地面先验进行候选采样,并通过多种特征(如语义分割、目标形状和位置先验)进行评分。
    • MonoPSR: 估计实例点云,并通过对齐目标外观与投影点云来改进检测。
    • Pseudo-LiDAR: 将单目图像转换为伪LiDAR,再利用LiDAR检测器进行检测。
    • AM3D: 通过多模态融合模块,用颜色信息增强伪LiDAR。
    • PatchNet: 将伪LiDAR组织成图像表示,并利用2D CNN提升检测性能。
    • 纯粹的单目方法:
      • Deep3DBox: 使用MultiBin方法进行方向估计,并利用2D边界框的几何约束推导3D边界框。
      • FQNet: 测量投影3D建议与目标之间的拟合程度,选择最佳建议。
      • MonoGRNet: 通过稀疏监督直接预测目标深度,并结合早期特征优化位置估计。
      • M3D-RPN: 使用3D区域建议网络,并通过深度感知卷积层增强特征。
      • MonoPair: 考虑相邻目标的成对关系,用作空间约束来优化检测结果。
      • RTM3D: 预测3D边界框的投影顶点,通过非线性最小二乘优化求解3D属性。
  • 现有方法的局限

    • 大多数方法忽略了目标之间的差异,或仅考虑通用的尺度变化,这可能导致对分布外目标的预测失误,进而降低性能。
  • 作者提出的方法

    • 明确地将具有长尾分布的严重截断目标解耦,以实现高效学习。
    • 通过自适应结合多种深度估计器来估计目标深度,而不是对所有目标使用单一的方法。这种方法更具灵活性和适应性,有助于提升检测性能。

不确定性

在目标检测和深度估计中,理解和处理不确定性是提升模型性能和鲁棒性的重要因素。两种主要的不确定性:

  1. 认知不确定性(epistemic uncertainty):反映模型本身的知识不足或不确定性,通常由于模型参数不充分训练或者模型结构不够完备造成。可以通过更多的数据训练和更复杂的模型来减小。
  2. 随机不确定性(aleatoric uncertainty):反映观测数据中的内在噪声和不可避免的测量误差。这种不确定性在数据本身中存在,无法通过增加数据量来消除,但可以通过建模来捕捉和处理。

在具体应用中,如Gaussian YOLO通过建模边界框的不确定性来改进检测精度,而MonoPair通过在后处理阶段使用不确定性权重来优化3D位置预测。这表明在预测过程中引入不确定性估计,可以帮助模型更好地处理数据中的噪声和不确定性,从而提升整体预测性能。

集成学习

集成学习方法通过组合多个模型的预测结果来提升整体性能,常见方法包括:

  • Bagging:通过对数据集进行多次采样训练多个模型,然后对它们的预测结果进行平均。
  • Boosting:通过逐步训练一系列模型,每个模型在前一个模型的错误基础上进行改进。
  • Stacking:通过训练一个元模型来组合多个基础模型的预测结果。
  • Gating网络:使用一个网络来动态地权重不同模型的预测结果。

本文提到的集成学习方法,通过不同的深度估计器并结合它们的不确定性,来加权平均这些估计器的预测结果,从而实现更为准确和鲁棒的深度估计。这种方法能够有效利用不同估计器的优势,并通过不确定性估计来优化组合策略,进一步提升模型的整体性能和稳定性。

3. Approach

3.1. Problem Statement

3D位置估计

3D位置 (x, y, z)

  • 3D目标检测的一个关键任务是确定物体在三维空间中的位置,通常用 (x, y, z) 来表示。
  • x 和 y 表示物体在水平和垂直方向上的位置,z 表示物体离相机的距离(深度)。

尺寸 (h, w, l)

  • 尺寸表示物体的高度 (h)、宽度 (w) 和长度 (l)。
  • 这些可以通过从图像中提取的外观特征(例如边界框、形状等)来推断。

方向 θ

  • 方向 θ 通常表示物体的朝向角度,这也可以通过外观特征(如边缘、纹理等)来估计。

投影3D中心和深度转换

  1. 投影3D中心 xc = (uc, vc)

  • 投影3D中心是物体的3D中心在2D图像平面上的投影点。
  • uc 和 vc 分别表示这个投影点在图像平面上的横向和纵向坐标。

     2.物体深度 z

  • 物体深度 z 是物体与相机之间的距离。

公式转换

公式(1)

  • x 和 y 可以通过以下公式从 uc, vc 和 z 计算得到:

                 

其中,cu 和 cv 是相机主点的坐标,f 是相机的焦距。

问题分解

四个独立的子任务

整个3D目标检测问题被分解为四个独立的子任务:

  • 估计物体的3D位置 (x, y, z)。
  • 估计物体的尺寸 (h, w, l)。
  • 估计物体的方向 θ。
  • 将3D位置转换为投影3D中心和深度。

3.2. Framework Overview

框架结构

1. 扩展自CenterNet

  • 该框架是基于CenterNet进行扩展的。CenterNet是一个流行的目标检测架构,通过预测热图的峰值来识别物体的位置。

2. 代表点和热图峰值

  • 在CenterNet中,物体通过其代表点进行识别,这些代表点通过热图的峰值来预测物体的位置。
  • 这种方法的优点在于可以有效地定位物体,尤其是在复杂场景中。

3. 多个预测分支

多个预测分支

  • 框架在共享的骨干网络上部署了多个预测分支,这些分支分别用于回归不同的物体属性,包括:
  • 2D边界框:用于确定物体在图像中的位置和大小。
  • 尺寸:物体的真实尺寸(高度、宽度、长度)。
  • 方向:物体的朝向。
  • 关键点:特定点的坐标,通常用于进一步计算物体的属性。
  • 深度:物体距离相机的距离。

深度估计

不确定性指导的深度组合

最终的深度估计结合了回归深度和从估计的关键点和尺寸计算得到的深度。

这种组合方法通过不确定性指导,能够提高深度估计的准确性和鲁棒性。

解耦代表点设计

正常物体和截断物体的解耦代表点设计

在第3.3节中,框架对正常物体和截断物体的代表点进行了解耦设计,以便更有效地处理不同类型的物体。

这种解耦方法有助于分别优化正常物体和截断物体的检测性能。

视觉属性回归

视觉属性的回归

在第3.4节中,框架详细介绍了如何回归视觉属性(如2D边界框、尺寸、方向等)。

这一步骤对于准确预测物体的各项属性至关重要。

自适应深度集成

自适应深度集成

在第3.5节中,框架介绍了自适应深度集成方法。

通过这种方法,模型能够自适应地结合不同深度估计器的输出,从而提高整体预测性能。

3.3. Decoupled Representations of Objects

现有方法[10, 25, 52]使用统一表示xr,即每个物体的2D边界框中心xb​。在这种情况下,偏移量δc​=xc​−xb​​被回归以推导投影的3D中心xc。我们将物体分为两组,取决于它们的投影3D中心是在图像内部还是外部,并在图3(b)中可视化相应的偏移量δc​。考虑到两组物体的偏移量有显著差异,联合学习δc​可能会受到长尾偏移量的影响,因此我们提出对图像内外物体的表示和偏移量学习进行解耦。

Edge Fusion

  • 尽管内部和外部对象的表示在输出特征的内部和边缘区域中解耦,但共享卷积核仍然难以处理空间变量预测。因此,作者提出了一个边缘融合模块来进一步解耦外部对象的特征学习和预测
  • 如下图所示,模块首先提取特征图的四个边界,并将它们按顺时针顺序(图文不一致)连接成边缘特征向量,然后由两个1×1卷积层处理,以学习截断对象的独特特征。最后,将处理后的向量重新映射到四个边界并添加到输入特征图。当应用于热图预测时,边缘特征可以专门预测外部对象的边缘热图,从而不会混淆内部对象的定位。为了回归偏移δin和δout之间的显著尺度差距可以通过边缘融合模块解决。

这种操作可以解耦外部对象的特征学习和预测,主要有以下几个原因:

1. 边缘特征提取

通过提取特征图的四个边界(上、下、左、右),我们将主要与外部对象相关的特征独立出来。这是因为外部对象通常会在特征图的边缘部分显示,而内部对象则集中在特征图的中心部分。

2. 专门处理边缘特征

通过将边缘特征连接成一个边缘特征向量,并使用一维卷积层对其进行处理,系统可以针对这些边缘特征进行专门的学习。这种专门处理有助于模型更好地理解和预测边缘区域的复杂特征,而不被中心区域的特征干扰。

3. 独立学习和预测

在处理完边缘特征向量后,将其重新映射回特征图的四个边界,并将处理后的边缘特征添加到原始特征图中。这种操作相当于在特征图上增加了一层专门用于边缘特征的预测层,使得边缘和中心区域的特征学习和预测相互独立。

损失函数

为了回归δin,我们使用L1损失,而对δout使用对数尺度的L1损失,因为后者对极端离群值更具鲁棒性。偏移损失计算公式如下:

其中,δin和δout是预测值,δ^_in和δ^_out是真实值。注意,由于内部和外部对象的公式不同,Loffset分别对内部和外部对象进行平均。

  • L1损失(|δin − δ*in|):L1损失函数用于内部对象的偏移量回归(δin)。L1损失的优点是其对离群值不敏感(即线性增长),因此在面对一些偏差较小的内部对象时,它能够提供稳定的梯度。
  • 对数尺度L1损失(log(1 + |δout − δ*out|)):对数尺度L1损失用于外部对象的偏移量回归(δout)。这个损失函数在遇到极端离群值时更加鲁棒。因为对数函数在较大的误差值时增长缓慢,因此它能有效地减少离群值对模型训练的影响。

3.4. Visual Properties Regression

视觉属性的回归,包括2D边界框、尺寸、方向和关键点。

2D检测

方法选择:由于不使用对象的2D中心进行表示,我们选择了FCOS的方法。这种方法通过回归代表点到2D边界框四个边的距离来实现目标检测。

代表点和回归目标

  • 代表点xr:这是一个参考点,对于内部对象来说是xb,对于外部对象来说是xI。
  • 回归目标:给定左上角(u1, v1)和右下角(u2, v2),我们计算代表点xr到边界框四个边的距离。这些距离是回归的目标,分别记作:
    • l* = ur − u1
    • r* = u2 − ur
    • t* = vr − v1
    • b* = v2 − vr

损失函数

  • GIoU损失:用于2D检测的损失函数是GIoU损失,因为它对尺度变化具有鲁棒性。这意味着GIoU损失在处理不同大小的对象时表现良好。

维度估计

考虑到每个类别中物体尺寸的方差较小,我们回归相对于统计平均值的相对变化,而不是绝对值。

方向估计

方向估计。方向可以表示为相机坐标系中的全局方向或相对于观察方向的局部方向。对于位于 (x, y, z) 的物体,其全局方向 ry​和局部方向 α满足公式 (7):

关键点(Keypoint)估计

3.5. Adaptive Depth Ensemble.

我们将物体深度估计公式化为一个包含 M + 1 个独立估计器的自适应集成,估计器包括直接回归和来自关键点的 M 个几何解法。我们首先介绍这些深度估计器,然后展示如何结合不确定性来使用它们。

为了直接回归物体深度,我们遵循文献[10, 52]的方法,通过逆 Sigmoid 变换将无限制的网络输出 zo​ 转换为绝对深度 zr:

为了共同建模回归深度的不确定性,我们遵循文献[11, 18, 19]的方法,使用修改的 L1 损失来进行深度回归:

如何利用关键点和相机矩阵来计算物体深度的方法,重点在于通过像素高度与物体高度的相对比例进行深度计算,并结合不确定性建模来优化结果

关键点深度估计

不确定性引导的集成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值