多视图图像中的3D目标检测在过去几年中受到了广泛关注。现有方法主要从多视图图像建立3D表示,并采用密集检测Head进行目标检测,或者使用在3D空间中分布的目标 Query 来定位目标。
在本文中,作者设计了多视图2D目标引导的3D目标检测器(MV2D),它可以将任何2D目标检测器提升到多视图3D目标检测。
由于2D检测结果可以为目标存在提供有价值的信息,MV2D利用2D检测器根据丰富的图像语义生成条件目标 Query 。这些动态生成的 Query 帮助MV2D回忆视场中的目标,并显示出强大的定位3D目标的能力。
对于生成的 Query ,作者设计了一个稀疏交叉注意力模块,使它们聚焦于特定目标的特征,从而抑制噪声的干扰。
在nuScenes数据集上的评估结果表明,动态目标 Query 和稀疏特征聚合可以提升3D检测能力。MV2D在现有方法中也展示了最先进的性能。
作者希望MV2D能为未来的研究提供一个新基准。
代码可在https://github.com/tusen-ai/MV2D获取。
1 Introduction
在未受限制的现实场景中进行基于摄像头的三维目标检测近年来受到了广泛关注。早期的单目三维目标检测方法通常遵循二维目标检测的流程构建其框架。物体的三维位置和属性直接从单个视角的图像预测得出。尽管这些方法取得了很大进展,但它们无法利用周围摄像机的几何配置和多视图图像对应关系,这对于现实世界中物体的三维位置至关重要。此外,将这些方法适应到多视图设置依赖于复杂的跨摄像机后处理,这进一步导致效率和效果的降低。为了解决这些问题,最近的研究者提出直接基于多视图图像在三维世界空间中定位物体,为基于视觉的三维目标检测提供了新的范例。
根据融合特征的表现形式,当前的多视图三维目标检测方法主要可以分为两类:密集三维方法和稀疏 Query 方法。具体来说,密集三维方法将多视图特征渲染到三维空间,例如鸟瞰图(BEV)特征空间或 Voxel 特征空间[35, 21]。然而,由于计算成本与三维空间的范围成平方比例,它们不可避免地无法扩展到大规模场景[9]。作为替代,基于 Query 的方法采用可学习的物体 Query 从多视图图像中聚合特征,并基于 Query 特征预测物体边界框。尽管固定数量的物体 Query 避免了随着三维空间计算成本的爆炸,但依赖于经验先验的 Query 数量和位置可能会导致在动态场景中出现误报或未检测到的物体。在本文中,作者寻求一种更可靠的物体定位方法。这一动机来自于二维目标检测方法的快速发展,这些方法可以在图像空间中为物体定位生成高质量的二维边界框。一个自然的想法是将每个二维检测结果转化为后续三维检测任务的一个参考。为此,作者设计了多视图二维物体引导的三维目标检测器(MV2D),它可以将任何二维检测器提升到三维检测,而三维检测器可以收获二维检测领域的所有进展。
在给定输入的多视图图像后,作者首先从一个二维检测器获得二维检测结果,然后为每个二维边界框生成一个动态物体 Query 。与从多视图输入的所有区域聚合特征不同,一个物体 Query 被迫关注一个特定的物体。为此,作者提出了一种基于二维检测结果和摄像机配置的高效相关特征选择方法。然后,动态生成的物体 Query 及其嵌入的与三维位置相关的特征被输入到带有稀疏交叉注意力层的 Transformer 解码器中。最后,更新后的物体 Query 预测最终的三维边界框。
得益于强大的二维检测性能,从二维检测结果生成的动态 Query 可以覆盖图像中出现的大部分物体,从而带来更高的精确度和召回率,尤其是对于小型和远距离物体,与固定 Query 相比。如图1所示,固定 Query 式的三维检测器可能遗漏的物体可以在MV2D的帮助下通过二维目标检测器找回。从理论上讲,由于三维物体 Query 源自二维检测结果,作者的方法可以得益于所有现成的优秀二维检测器的改进。作者的贡献可以总结为:
-
作者提出了一个框架MV2D,它可以将任何二维目标检测器提升到多视图三维目标检测。
-
作者证明了基于二维检测结果,从多视图图像中的特定相关区域进行动态物体 Query 和聚合可以提升三维检测性能。
-
作者在标准的nuScenes数据集上评估了MV2D,它取得了最先进的表现。
2 Related Work
近年来,人工智能领域取得了显著进展,特别是在计算机视觉领域。各种模型和算法被提出,并在图像分类、目标检测和语义分割等广泛任务中展现了卓越的性能。本节将对这些领域中的相关研究工作做一个简要概述。
2D Object Detection
二维目标检测旨在预测并在二维图像中定位物体,这是计算机视觉中的一个基本问题。RCNN系列方法[12, 11, 34, 24]提出了一个两阶段的流程用于二维目标检测。这些方法首先生成一组可能包含图像中物体的区域 Proposal ,然后在第二阶段对物体分类和边界框回归做出决策。另一组研究行人研究在单阶段流程中检测物体[33, 37, 25],旨在提供更快的检测器以供部署。最近,DETR[3]将 Transformer 编码器-解码器架构引入到二维目标检测中,并将目标检测公式化为一个集合预测问题。在DETR中,采用一组可学习的目标 Query 与图像特征交互,并负责检测物体。Deformable DETR[47]通过引入多尺度可变形注意力来改进DETR。此外,它将原始DETR转化为一个两阶段框架,其中首先基于编码器特征生成区域 Proposal ,然后将其作为目标 Query 发送到解码器进行进一步细化。Efficient DETR[43]研究了初始化用于二维检测的 Query ,但它没有研究如何将这种初始化转移到三维空间并进行定制。
Vision-based 3D Object Detection
基于视觉的3D目标检测的目标是从相机图像中预测3D边界框。许多以前的工作在单视图图像设置下执行这项任务。这些方法主要关注实例深度估计,并使用额外的深度预测模块来补充2D检测器在深度信息上的不足。然而,在处理围绕 ego 车辆的多视图图像时,这些方法需要从每个视图检测目标,并通过繁琐的NMS后处理将它们投影到相同的3D空间以合并结果。
最近,一些研究尝试直接从多视图图像在3D空间中检测目标。这些方法中的一支将2D图像提升到3D空间,然后基于3D表示进行检测。ImVoxelNet[35]构建了一个3D Voxel 化空间,并从多视图采样图像特征以获得 Voxel 表示。BEVFormer[23]利用密集的BEV Query 通过可变形注意力[47]从多视图图像中投影和聚合特征。PolarFormer[17]引入极坐标表示来建模BEV空间。BEVDet和BEVDepth[16, 22]采用Lift-Splat模块[32]将多视图图像特征转换为基于预测深度分布的BEV表示。尽管这样的3D空间表示有利于统一多视图图像,但随着3D空间检测范围的扩大,内存消耗和计算成本将会增加[9]。
另一组工作采用可学习的目标 Query 来聚合图像特征并按照DETR[3]的预测目标。DETR3D[41]从目标 Query 生成3D参考点,并通过相机参数将它们投影到多相机图像中。然后 Query 特征通过从图像中采样相应的点特征进行细化。与通过3D到2D Query 投影建立固定映射相比,一些方法通过注意力机制学习灵活的映射[44, 26]。PETR系列[26, 27]引入了3D位置感知图像特征,并通过全局交叉注意力学习 Query 与图像特征之间的灵活映射。然而,这些方法通常需要在3D空间中密集分布的目标 Query ,以确保目标的充分召回。
在本文中,作者提出了一个由2D目标引导的多视图3D目标检测框架。基于2D检测器,作者的方法可以依赖动态 Query 来召回目标,并消除噪声和干扰物的影响。
3 Method
Overview
MV2D的整体流程如图2所示。给定
个多视角图像$\mathcal{I}=\{\mathbf{I}_{v}\mid 0\leq v
0,v\neq w\right\}. \tag{11}">
然后,所有落入
和
区域的图像特征都被视为相关特征,并将用于更新目标 Query
。
Decoder with Sparse Cross Attention
生成的目标 Query 通过类似DETR的 Transformer 解码器与它们的相关特征进行交互[3, 26]。在相关特征之后,提供了3D位置嵌入,遵循PETR[26]的方法。作者解码器的区别在于图2所示的稀疏交叉注意力层。MV2D不是使用全部多视图特征图来构建由所有 Query 共享的键和值,而是只使用相关特征为每个目标 Query 构建自己的键和值。这种设计不仅贡献了一个紧凑的键和值集合,而且还防止了目标 Query 受到背景噪音和干扰物的影响。最后,作者对更新后的目标 Query 应用由MLPs组成的分类头和回归头,以预测最终的3D目标检测结果。需要注意的是,在3D目标检测中,预测的目标中心
由
和由 Query 预测的偏移量
组成,即
。
Loss Functions
在作者的实现中,MV2D模型中2D检测器和3D检测器是联合训练的,两个检测器共享主干网络的权重。2D目标检测损失
直接采用2D检测器中的损失。至于3D目标检测损失,作者遵循以前的工作[41, 26],使用匈牙利算法[19]进行标签分配。分类和框回归分别采用Focal Loss[25]和
损失。3D目标检测损失可以总结为:
MV2D的总损失函数为:
其中
是平衡2D检测和3D检测损失的一个权重项,在作者的实验中设置为
。
Multi-Frame Input
考虑到所有输入图像(无论是否来自同一时间戳)作为具有不同外参矩阵的相机视图,MV2D可以在不修改流水线的情况下处理多帧输入。目标 Query 不仅与同一时间戳的相关目标特征交互,还与其他时间戳的相关目标特征交互。相关目标特征选择与第3.3节中描述的保持一致。
4 Experiments
Datasets and Metrics
作者验证了MV2D在大型nuScenes数据集[2]上的有效性。NuScenes包含了1000个驾驶序列,分别划分为700个样本用于训练,150个样本用于验证,以及150个样本用于测试。每个序列大约长20秒,包括从10个类别的关键帧中标注的3D边界框。每个样本由6张环视图像组成,分辨率为
,总共提供
的水平视场。作者将测试集的结果提交到在线服务器进行官方评估。其他实验基于验证集进行。
Implementation Details
训练与评估。
所有模型都使用AdamW [29]优化器进行训练,权重衰减设置为
。采用余弦退火策略[28],初始学习率设为
。由于MV2D从2D检测结果生成目标 Query ,作者在nuImages [2]上预训练2D检测器以提供适当的初始化。由于nuScenes数据集不提供2D边界框标注,作者按照[42]从3D边界框生成框标签。在训练期间,作者采用图像空间增强(例如,gridmask [4],随机翻转,裁剪和调整大小)和BEV空间增强[16]。与现有技术水平相比,模型训练72个周期,不使用CBGS [46]。在推理过程中不使用测试时间增强。作者分别将MV2D-S和MV2D-T表示为不带多帧输入和带多帧输入的模型。对于MV2D-T,在推理过程中,作者从不同时间戳的两帧中采样,时间间隔为
。作者遵循PETRv2 [27]对MV2D-T进行去噪训练,以便公平比较。作者的实现基于MMDetection3D [6]。
网络架构。
在作者的实验中,Faster-RCNN [34]作为2D检测器。2D得分阈值和非极大值抑制(NMS)IoU阈值分别设置为
和
。作者使用ResNet-50,ResNet-101 [14]和VoVNetV2 [20]作为 Backbone 网络。ResNet-50和ResNet-101在第三和第四阶段配备了可变形卷积[7]。VoVNetV2从使用额外数据[31]训练的DD3D预训练权重初始化。FPN [24]中的P4阶段用于动态目标 Query 生成和相关特征选择。解码器包含6个 Transformer 解码层,其后是一个用于分类和回归的MLP头。