本文的主要贡献如下:
-
我们提出了一种基于RGB图像的简化3D物体检测模型。与现有工作在最终阶段结合来自不同相机视角的物体预测不同,我们的方法在每一层计算中融合所有相机视角的信息。据我们所知,这是首次尝试将多摄像头检测视为3D集合到集合的预测。
-
我们引入了一个模块,通过几何反向投影将2D特征提取和3D边界框预测连接起来。该方法不会受到次级网络中不准确深度预测的影响,并通过反投影3D信息到所有可用帧上,无缝利用多个摄像头的信息。
-
类似于Object DGCNN [11],我们的方法不需要后处理步骤,例如每张图像或全局的非极大值抑制(NMS),并且在性能上与现有基于NMS的方法相当。在相机重叠区域,我们的方法相比其他方法有显著的优势。
-
我们公开了代码,以促进可重复性和未来的研究。
模型包含三个关键组件,如图1所示。
-
输入编码:
- 多视角图像:模型接受从多个摄像头捕获的一组图像。
- 特征提取:使用ResNet骨干网络和特征金字塔网络(FPN)对这些图像进行编码,以生成多尺度特征图。
-
物体查询初始化:
- 稀疏物体查询:初始化一组稀疏的物体query,每个查询表示一个潜在的3D物体位置。
-
3D参考点解码:
- 参考点:每个物体查询被解码为一个3D参考点,作为边界框中心的假设。
-
特征转换与精化:
- 投影:通过相机变换矩阵,将3D参考点投影到所有相机视图的图像平面上。
- 特征采样:从多尺度特征图中通过双线性插值采样与投影参考点对应的图像特征。
- 查询精化:通过迭代处理,使用采样的特征来精化物体查询。
-
预测与损失计算:
- 边界框和分类:对于每个精化后的物体查询,模型预测3D边界框和物体类别。
- 集合损失:采用集合对集合损失函数来评估预测结果与真实值之间的差异,指导模型训练。
整体结构
特征提取
Detection Head
现有的基于相机输入的物体检测方法通常采用自下而上的方法,(即预测每张图像上的密集边界框,过滤图像间的冗余框,并在后处理阶段汇总来自不同相机的预测)。这种范式存在两个关键缺点:
- 密集的边界框预测需要准确的深度感知,而深度感知本身就是一个具有挑战性的问题;
- 而基于NMS的冗余移除和汇总操作是不可并行的,导致显著的推理开销。
自上而下:
它使用 L 层的集合计算从2D特征图中生成边界框估计。每一层包括以下步骤:
- 预测与物体查询相关联的一组边界框中心;
- 使用相机变换矩阵将这些中心投影到所有特征图中;
- 通过双线性插值采样特征,并将其融入物体查询中;
- 使用多头注意力描述物体之间的交互。
具体来说:
首先生成一个Q作为查询集(可学习参数),这个查询集经过训练会更新。
利用Q生成一个3D参考点:这个参考点假设为目标的bbox的中心
将这个点利用相机投影矩阵投影到对应相机的2D图像中
通过双线性插值提取图像特征
由于生成的3D参考点并不一定在所有相机中都可以找到,定义一个值来判断这个点是否可以投影到2D图像中
在训练过程中,不断计算每一层损失,推理时,使用最后一层的输出。
Loss
损失函数与DETR相同,使用set-to-set损失,损失函数包括分类标签的focal_loss ,和边界框的L1损失。 通过匈牙利算法匹配建立真实标签和预测标签之间的对应关系。
实验结果
在与先前的最先进方法 CenterNet [1] 和 FCOS3D [2] 进行比较时,我们发现:
- CenterNet 是一种无锚的 2D 检测方法,在高分辨率特征图上进行密集预测。
- FCOS3D 采用 FCOS [3] 管道进行每像素预测。这些方法将 3D 目标检测转化为 2D 问题,因此忽略了场景几何和传感器配置。
为了进行多视图目标检测,这些方法必须独立处理每张图像,并使用图像级和全局 NMS 来移除每个视图和重叠区域中的冗余框。表 1 显示,即使我们的方法没有使用任何后处理步骤,我们的方法在性能上仍优于这些方法。然而,我们的方法在 mATE(平均位置误差)方面表现不如 FCOS3D。我们怀疑这是因为 FCOS3D 直接预测边界框的深度,这对目标的平移有较强的监督。此外,FCOS3D 使用了不同的头来处理不同的边界框参数,这可能提高了性能。
在重叠区域中,物体更容易被截断,这是一大挑战。我们的模型同时考虑了所有摄像头,而 FCOS3D 则是单独为每个摄像头预测边界框。为了进一步展示融合推断的优势,我们计算了落在摄像头重叠区域中的框的指标。具体来说,我们选择那些 3D 中心可以被多个摄像头看到的框进行计算。
在验证集上,共有 18,147 个这样的框,占总数的 9.7%。表 3 显示了结果;在这个设置下,我们的方法在 NDS(总体检测精度)评分方面显著优于 FCOS3D。这证明了我们的集成预测方法更为有效。