徽州骆驼 · 2月6日

YOLO的探索从未停止 | YOLOBU利用自下而上的位置线索成就单目3D检测的SOTA模型

image.png

单目3D目标检测对于自动驾驶来说是一项基本任务。同时,由于深度信息的缺失,从纯图像中进行准确的3D目标检测非常具有挑战性。大多数现有的基于图像的方法通过图像平面上的2D大小来推理物体在3D空间中的位置,这通常忽略了图像本身的内在位置线索,导致性能不佳。受到人类能够利用自下而上的位置线索从单一图像中定位3D空间中的物体这一事实的启发,在本文中,作者探索了从图像特征列中的位置建模,并提出了一种名为You Only Look Bottom-Up(YOLOBU)的新方法。具体来说,YOLOBU利用基于列的交叉注意力来确定一个像素对其上方像素的贡献程度。接下来,引入基于行的逆向累积和(RRCS)来建立自下而上的像素连接。

YOLOBU通过自下而上的方式建立像素之间的关系,充分探索了单目3D检测的位置线索。在KITTI数据集上的大量实验证明了YOLOBU的有效性和优越性。

I Introduction

单目3D目标检测近年来受到了越来越多的关注,因为它为自动驾驶提供了一种低成本的解决方案。这项任务旨在从单一的RGB图像中估计物体的定位、朝向和尺寸。这项任务的主要挑战来自于在投影过程中不可逆的深度信息丢失,而从2D恢复到3D的深度信息是一个病态问题。

大多数基于图像的单目3D目标检测方法主要通过图像平面上物体的2D尺寸来推理物体的3D位置。然而,当遇到尺度模糊问题时,这些方法通常会失败,因为它们只利用了尺寸线索。作者在图1(a)右侧提供了一个案例,其中两辆汽车在3D尺寸上不同,但在深度和外观信息上相同。这种矛盾来自于检测器应该预测这两辆汽车相同的深度,尽管它们在图像平面上有不同的2D尺寸。

image.png

换句话说,这种模糊性可能会混淆检测器并导致次优的检测结果。一些方法试图利用地面平面作为先验信息来解决此问题。然而,这些方法严重依赖于一个强假设,即地面平面是平坦的(即,地面平面光滑并且与自车底部平行),这不可避免地在从水平路面到上坡或下坡时引入噪声。自然地,从单目图像中挖掘潜在的3D先验线索是一种直观且有效的避免此类问题的解决方案。实际上,这与人类从单一图像定位物体的理性行为是一致的。

作者观察到,在位置线索的帮助下,人类能够轻易识别此类情况并准确定位物体。如图1(b)所示,实例与图像平面底部的接地接触点位置线索可以被视作定位物体的显式参考,这消除了大小上的歧义。受到这种理性的人类行为的启发,作者认为不仅尺寸信息对于基于图像的3D检测至关重要,而且图像平面上的自下而上的位置信息也是必不可少的额外信息补充。

请注意,在利用上述位置信息时,应满足两个先决条件:

  1. 图像底部附近的像素代表较小的深度;
  2. 从图像底部到目标实例的深度是单调递增的

幸运的是,在大多数自动驾驶场景中,这两个假设很容易得到满足,因为摄像机安装在 ego 车辆的顶部,而 ego 车辆在可行驶区域内行驶。

在本文中,作者提出了一种名为“仅底部向上看”(YOLOBU)的新方法,它自然且简洁地在底部向上方向建立了图像平面上像素之间的关联。由于同一列以及不同列中的所有像素对上方物体的定位贡献并不相等,作者引入了基于列的交叉注意力(CCA)来模拟这种关系,这还可以通过在不同像素上赋予不同的注意力权重来抑制在某些条件下(例如,一辆大型车辆正好在您的车前。该车辆顶部的后缘深度会低于直下方的道路)假设失败时的噪声。

与目标检测中广泛使用的交叉注意力不同,YOLOBUCCA基于每个图像特征列计算注意力权重。在CCA之后,作者提出了一种基于行的逆向累积和(RRCS),以在底部向上的方向建立每列内像素之间的联系。得益于CCA和RRCS,YOLOBU可以更好地了解图像平面上不同位置像素之间的关系。

在KITTI数据集上进行了大量实验,以证明所提出的YOLOBU的有效性。特别是,YOLOBU在车辆类别上达到了最先进水平,并且在行人和骑车人类别上也展现出极具竞争力的性能。

总之,本文的主要贡献可以概括为两个方面:

  1. 作者对单目3D检测中的大小模糊问题进行了位置建模的重新思考。作者指出,自下而上的位置线索是单目3D检测器中被忽略的设计因素。
  2. 作者提出了一种新的方法YOLOBU,这是一种即插即用的方法,它有效地利用了图像中的位置线索,并且可以推广到其他应用中。

II Related Work

3D Detection with LiDAR

有许多工作利用激光雷达输入进行三维目标检测。许多研究专注于基于纯激光雷达的三维目标检测,并采用完全监督。其他一些方法探索了半监督和弱监督学习,甚至零样本学习,以降低标注成本。为了利用图像和点云之间的互补性,一些方法提出了不同的融合策略。尽管这些方法表现出色,但对昂贵激光雷达传感器的依赖阻碍了这些方法的广泛应用。YOLOBU仅需要一个廉价的相机,使其更容易在实际中使用。

Monocular 3D Detection

单目3D目标检测方法大致可以分为两类:

  • 基于深度引导的方法
  • 纯基于图像的方法

深度引导的方法在训练阶段需要额外的数据源,如点云和深度图像。这些方法主要使用额外的子网络在稀疏投影点云甚至密集深度图像的监督下估计像素级深度,这引入了额外的标注工作。特别是,Pseudo-LiDAR 将像素转换为伪点云,然后将其输入到基于LiDAR的检测器中。此外,还有一些方法将深度特征和图像特征融合在一起以提高性能,而[30, 31, 32]通过知识蒸馏学习3D先验信息。一些方法使用估计的深度分布进行视图转换。DD3D声称预训练范式可以替代伪激光雷达范式。这些方法受益于点云提供的精确深度信息,这可以被认为是使用另一种类型的 GT 作为额外的监督。

纯基于图像的方法在整个推理流程中仅需要RGB图像和校准信息。这些方法主要从目标的视觉大小和由八个关键点或针孔模型提供的几何约束中学习深度信息。例如,M3D-RPN 提出了2D-3D Anchor 和深度卷积来检测3D物体。RTM3D 预测3D Proposal 的9个关键点,并通过重投影代价函数优化 Proposal 。MonODLE 提出了三种策略来减轻由定位错误引起的问题。GUPNet 提出了一种用于更好定位的几何不确定性投影方法。MVM3Det 提出特征正交变换来估计位置。TIM 采用单调注意力将图像转换为鸟瞰图。DID-M3D 将物体的深度分解为视觉深度和属性深度。这些方法以其简单的结构和有竞争力的性能展现出极大的潜力。

Position Clues for Monocular 3D Detection

几种方法已经利用了地面平面提供的位置线索。Mono3D  利用地面平面来过滤冗余的 Proposal 。GAC  提出了地面感知卷积,从地面平面假设中提取深度先验。DeepLine  通过霍夫变换提取并编码线段分割特征到图像特征中。MonoGround  从 GT 3D边界框的地面平面生成密集的深度监督。这些方法在一定程度上可以缓解大小歧义问题。然而,它们没有充分利用像素的位置和上下文信息,这在单目3D检测中起着重要作用。

与上述方法相比,YOLOBU只需要一个较弱的假设,即地面平面的深度从图像底部到目标实例是单调递增的,这更容易满足。同时,YOLOBU不依赖于场景中显式的几何结构,如线或平面。作者明确地在自下而上的方向建立像素之间的关系,这可以作为推理物体在3D空间中位置的位置线索。

2D-3D Transform for Image-based Perception

将2D图像特征转换为表示3D空间特征的方法对基于图像的感知至关重要。它可以大致分为基于逆透视映射(IPM)和基于深度估计两类。IPM首先假设一个平面,然后通过单应性投影将给定视角的所有像素映射到这个平面上,许多方法使用IPM进行障碍物检测或车道线检测任务。基于深度估计的方法主要通过估计像素级深度或深度分布将图像特征转换为3D特征。由于YOLOBU作为一个即插即用的模块,在图像特征 Level 上操作,因此它可以适用于这两种方法。

III Method

image.png

图2(a)展示了作者提出的YOLOBU的流程,该流程包含三个部分:

  1. 一个基于CNN的主干网络,用于从图像中提取特征图;
  2. 所提出的列基于交叉注意力(CCA),它通过在图像特征和列向 Query 之间进行交叉注意力,为每一列的每个像素产生注意力权重,然后得到重加权后的特征;
  3. 所提出的行基于反向累积求和(RRCS),它有效地使像素感知到它们下方的场景,并输出位置感知特征。

在接下来的部分,作者将深入探讨YOLOBU的关键要素,即CCA和RRCS。为了更好地解释,作者在图像的_左下角_设置了坐标系的原点。

Column-based Cross Attention (CCA)

结构化布局(例如,道路)的不同语义和位置的像素对物体定位的贡献各不相同。例如,在每一列中,靠近图像平面顶部的道路像素表示较大的深度间隔,这可能会对远距离物体的定位贡献更多,而对近距离物体则不太有用。这一现象表明,无法对同一列中的像素平等对待。

此外,不同列中像素的深度间隔各不相同,启发作者要关注不同列之间的差异。为了模拟这种关系,作者提出了称为CCA的基于列的跨注意力机制,它利用跨注意力为每一列内的像素分配不同的权重,并使用每个列的单个独特 Query 来表示列与列之间的差异。

image.png

Row-based Reverse Cumulative Sum (RRCS)

在重新加权每列中的像素后,作者需要为像素建立单向连接(即自下而上的方向),因为自下而上的位置信息作为额外的信息补偿是不可或缺的,并且可以作为定位物体的参考,正如作者在第I节中论述的那样。为此,作者提出了RRCS,它以逐行的方式建模像素间的自下而上的关系。

image.png

Training Objective

image.png

IV Experiments

Dataset and Metrics

作者首先介绍数据集和评估指标。

KITTI 包含了7,481个训练样本和7,518个测试样本(测试集),是用于自动驾驶相关任务最广泛使用的数据集之一。作者将训练样本分为两部分:3,712个样本用于模型训练(训练集)和3,769个用于验证(验证集),遵循[41]的方法。作者在官方服务器上测试YOLOBU,以便与其他方法进行公平的比较。

对于评估指标,作者报告了在车辆、行人和自行车类别上的()和(),分别使用检测IoU阈值0.7、0.5和0.5。为了更好的分析,所有实验都是根据2D边界框的高度、遮挡和截断程度,在所有三个难度 Level (简单、中等和困难)下进行的。

Implementation Details

作者在这部分解释模型超参数和训练设置的细节。

模型设置。 与[41]类似,首先对输入图像进行随机裁剪和随机翻转作为数据增强,然后将其调整为(384, 1280)大小。采用了不带可变形卷积的DLA-34作为YOLOBU基础网络。特征图被下采样4,特征图的通道数为64。交叉注意力中的 Query 嵌入数量等同于特征图的宽度,即96。作者使用11卷积、ReLU和11卷积来编码图像特征和固定的位置编码,作为注意力中的输入键。每个 Head 分支包括33卷积、ReLU和11卷积。

训练与推理。作者使用PyTorch来实现YOLOBU。YOLOBU模型以端到端的方式在两块NVIDIA 3090 Ti GPU上进行训练,总共140个周期,批处理大小设置为16。遵循[41],作者采用了常见的Adam优化器,初始学习率为1.25e-4,在90和120周期时将其降低十倍。作者还应用了 Warm up 策略(5个周期)来稳定训练过程。在推理阶段,使用IoU阈值为0.2的NMS来过滤 Proposal 。

Comparison with State-of-the-Arts Methods

在这一部分,作者将YOLOBU与一些在KITTI 数据集上已知且有效的方法进行比较。

表格1展示了在测试集上针对车辆类别的方法结果。可以看出,在中等和困难难度下,YOLOBU在指标上超越了所有列出的纯基于图像的方法。

image.png

具体来说,在中等难度下,YOLOBU比DCD  高出0.31%,0.52%,在困难难度下比HomoLoss  高出1.27%,0.66%。此外,YOLOBU在容易、中等和困难设置下分别比MonoGround 高出1.06%,1.85%,1.11%。尽管在容易设置下YOLOBU不如DeepLine ,但在中等和困难设置下表现更好,分别超出1.88%和3.43%。即使与使用额外数据的方法相比,YOLOBU仍然具有竞争力。具体来说,在中等和困难设置下,YOLOBU比知识蒸馏方法SGM3D 分别高出1.56%和0.76%,比MonoDistill 分别高出0.18%和0.13%。

此外,与使用大量数据进行预训练的DD3D 相比,YOLOBU在指标上的中等设置下仅出现了0.13%的性能下降。作者在中等和困难难度下也取得了与利用激光雷达监督的DID-M3D 有力的结果。这主要是因为作者提出的YOLOBU可以利用位置线索作为补充信息来定位物体。

image.png

表2展示了在测试集上针对行人和骑车人的结果。尽管YOLOBU在行人和骑车人上的表现不如在车辆上那么出色,但YOLOBU在行人和骑车人上仍然分别排名第三和第二,在中等难度设置下,分别落后于最佳方法0.31%和0.67%。

Comparison with Position-Aware Methods

YOLOBU与其他位置感知方法相比,在性能上有显著提升。作者在_val_数据集上对CoordConv,GAC和YOLOBU进行了比较实验。对于CoordConv的设置,作者简单地将像素的坐标与特征连接起来,然后使用11卷积提取信息。

对于GAC的设置,作者在回归头中使用了地面感知卷积,遵循其官方代码库的实现。结果列于表3中,可以看出,在上,YOLOBU大幅优于其他两种方法。具体来说,YOLOBU在Easy,Moderate,Hard难度上分别以2.73%,1.05%,1.48%的击败了CoordConv;同时,YOLOBU在Easy,Moderate,Hard难度上也分别以1.03%,0.61%,1.38%的超过了GAC。这主要是因为YOLOBU建模了像素间的自下而上的关系,从而为单目3D检测编码了更具代表性的位置信息。

image.png

Ablation Study

作者进一步进行了附加实验,以分析每个组成部分的有效性。作者以MonoDLE作为基准,并保持所有实验设置不变。

CCA的有效性。为了弄清楚基于列的跨注意力(CCA)带来了多大的贡献,作者将CCA附加到作者 Baseline 的 Backbone 网络上。正如表4(a)所示,CCA在上带来了提升(在简单、中等和困难难度上分别提高了0.77%、0.38%和0.55%),而在指标上略有下降。结果表明,仅凭CCA的贡献是有限的,因为没有对像素之间的位置关系进行建模。

image.png

RRCS的有效性。 为了验证基于行的反向累积和(RRCS)的有效性,作者只在基准方法的主干网络后加入了提出的RRCS。结果列于表4(b)。可以观察到,仅添加RRCS对性能是有害的。需要注意的是,每个像素的语义和位置信息是变化的,保持所有边缘权重相同会给模型带来很多噪声。

作者强调,CCA和RRCS是建立像素关联的整体。前者生成边缘值,后者用边缘值连接节点。正如表4(c)所示,当作者同时使用CCA和RRCS时,相较于基准线,作者能获得显著的提升。YOLOBU分别在Easy、Moderate和Hard难度上为带来了2.37%、1.32%、1.95%的改进,证明了位置关系建模的重要性。

分析注意力类型。 表5量化了所提出CCA中不同注意力类型的影响。对于没有基于列的注意力的模型,作者使用单个 Query 针对所有像素,并进行全局交叉注意力。作者可以观察到,基于列的注意力是必要的,因为结构化布局像素(例如,道路像素)的语义在列之间是不同的,而单个 Query 不足以具有代表性。

image.png

累积和方向分析。 为了检验不同累积和方向(即自下而上和自上而下)的影响,作者进行了对比实验,结果列于表6中。可以观察到,无论是自下而上还是自上而下构建图,相较于 Baseline 都提升了性能,这证明了在单目3D检测任务中列像素关联的有效性。同时,也可以看出,从自下而上的方向建立关系要优于自上而下。这与作者之前的观点一致,即有助于定位物体的像素主要出现在物体下方。

image.png

Performance on the Large-scale nuScenes Dataset

为了进一步评估YOLOBU的有效性,作者在大规模的nuScenes数据集上进行了比较实验。作者在官方的训练划分上训练模型,并在验证划分上进行评估。对于评估指标,作者报告了官方指标,包括:nuScenes检测得分(NDS),平均平均精度(mAP),平均平移误差(ATE),平均尺度误差(ASE),平均方向误差(AOE),平均速度误差(AVE)以及平均属性误差(AAE)。

image.png

作者采用FCOS3D 作为基准线,并在 Neck 之后插入所提出的模块(CCA和RRCS)以细化每个尺度的特征。由于训练数据规模显著增加,作者使用了8块NVIDIA 3090 GPU,总批次为32来训练模型。结果列于表7中。YOLOBU比FCOS3D在NDS和mAP上分别高出1.6%,显示出其有效性,并且这些结论与KITTI数据集上的结果一致。

Visualizations and Discussions

作者通过可视化模型的预测结果,以更直观地分析YOLOBU。结果展示在图3中。

image.png

定性结果。 如作者所见,作者提出的YOLOBU在场景(b)中预测出了非常精确的3D边界框。具体来说,与作者在场景(a)中的 Baseline 方法MonoDLE相比,YOLOBU能够正确检测到图像右上角的车,而 Baseline 预测的边界框则不准确。这一现象表明,基于图像的3D检测方法从自下而上的位置信息中受益。

应用于其他领域的泛化能力。 由于YOLOBU有效地利用了图像中的位置线索,并且作为一个即插即用的模块,可以通过简单地将其插入原始解决方案来轻松地将YOLOBU适用于其他应用。只要任务(例如,研究中的立体和多视图3D目标检测,以及工业中的自动驾驶、水下机器人和智能物流)符合YOLOBU所引入的假设即可。

局限性。YOLOBU存在一些局限性:

  1. 如图3(c)所示,YOLOBU无法检测到截断的大型物体。主要原因是这些样本无法从自下而上的位置信息中受益。
  2. 所提出方法的推理时间将略慢于 Baseline(22.56 FPS 对比 23.64 FPS)。作者将在未来探索实时解决方案。
  3. YOLOBU没有对校准参数进行建模,当校准参数发生变化时,性能可能会受到影响。然而,作者可以轻松地修改检测Head以显式地对它们建模,以获得更好的结果。

V Conclusions

在本文中,作者证明了图像中的内在位置线索很重要,但被大多数现有的基于图像的方法所忽略。作者提出了一种名为YOLOBU的单目3D目标检测新方法,它对每一列执行交叉注意力,并以逐行的方式在自下而上的方向上进行累积求和。

通过这两步,YOLOBU能够从下到上学习位置信息,并作为解决大小模糊问题的强辅助线索。YOLOBU在仅使用单目相机且无需附加信息的KITTI 3D目标检测基准测试上取得了具有竞争力的性能。

作者希望YOLOBU这种整洁而有效的方法能为未来单目3D目标检测的研究提供一个强有力的 Baseline 。

参考

[1].You Only Look Bottom-Up for Monocular 3D Object Detection

作者:AI驾驶员
文章来源:智驾实验室

推荐阅读

更多汽车电子干货请关注汽车电子与软件专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
推荐阅读
关注数
5585
内容数
308
汽车电子与软件行业的相关技术报道及解读。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息