BEVDet4D: Exploit Temporal Cues in Multi-camera 3D Object Detection
BEVDet4D:在多相机三维目标检测中利用时间线索
摘要
- 背景:单帧数据包含有限信息,限制了基于视觉的多相机3D目标检测性能。
- BEVDet4D提出:提出BEVDet4D范式,将BEVDet从仅空间的3D扩展到时空4D工作空间。
- 改进:通过融合前后帧特征,以极小的计算成本获取时间线索,将速度预测任务简化为位置偏移预测。
- 性能:在nuScenes基准测试中,BEVDet4D-Base配置以54.5%的NDS刷新记录,超越BEVDet-Base 7.3%。
引言
- 自动驾驶关注:自动驾驶中的视觉感知任务包括3D目标检测等。
- 时间相关目标:当前基于单帧的视觉范式在预测速度等时间相关目标时,表现不如Lidar和Radar等相关。
- BEVDet4D尝试:BEVDet4D首次尝试在4D空间中利用时间信息,通过保留前一帧的BEV特征并与当前帧融合。
相关工作
基于视觉的3D目标检测
发展背景:KITTI基准测试推动了单目3D目标检测技术的快速发展,但受限于数据量和单一视角,难以应对更复杂的任务。
大规模基准测试:新的大规模基准测试nuSscenes、Waymo提供了更多数据和多视角视图,为3D目标检测技术的发展提供了新的方向。
FCOS3D:FCOS3D借鉴了2D检测中的FCOS,将3D目标检测问题转化为2D问题,仅在图像视图中进行感知,擅长预测目标属性,但在感知目标的平移、速度和方向上表现不佳。
PGD:PGD在FCOS3D的基础上进一步发展,通过搜索和解决目标深度预测的不足,提高了准确性,但增加了计算成本和推理延迟。
DETR3D:DETR3D遵循DETR的模式,在注意力模式下检测3D目标,准确性与FCOS3D相似,计算成本减半,尽管如此,复杂的计算流程导致其推理速度与FCOS3D相同。Graph-DETR3D扩展了DETR3D,通过在3D空间中采样多个点来生成对象查询的特征,并根据缩放因子动态调整深度目标,使多尺度训练成为可能。
PETR:PETR通过引入3D坐标生成和位置编码提高了性能,并利用强大的数据增强策略。
BEVDet4D与BEVFormer:BEVDet4D使用2个相邻帧实现了更高的速度精度,而BEVFormer与大多数基于LiDAR的方法相似,通过融合4个相邻帧的特征来实现可比的速度精度。
视频目标检测
- 时间线索:与图像视图空间的检测任务相比,视频对象检测可以利用时间线索提高检测精度。
- 获取时间线索方法:预测结果或中间特征。
方法论
网络结构
- BEVDet4D框架:基于BEVDet,包含图像视图编码器image-view encoder、视图变换器view transformer、BEV编码器BEV encoder和特定任务头task-specific head。
- 利用时间线索融合特征:通过空间对齐(spatial alignment)操作和拼接操作将保留的特征(generated by the view transformer)与当前帧中相应的特征进行融合。
空间对齐简化速度学习任务
-
符号定义:定义了全局坐标系、自车坐标系和目标坐标系。空间对齐实际上就是将前一帧的特征与后一帧的特征都放在同一个坐标系下进行对齐(上图中绿色为静态目标,蓝色为动态目标)。对齐后只是在channel维度简单的Concat,因为真正的特征融合其实在BEV Encoder中。
-
位置偏移预测:不是直接预测目标速度,而是预测相邻两帧中目标的位置偏移。如果没有对齐两帧而直接进行concat,目标在特征图上的偏移量其实是包含了自车运动的,如上图的右上部分绿色静态目标所示。
实验
4.1 实验设置
- 数据集:nuScenes数据集,包含1000个场景,6个相机图像,5个雷达和1个激光雷达点。
- 评估指标:包括mAP、ATE、ASE、AOE、AVE、AAE和NDS。
4.2 基准结果
- nuScenes val set
- BEVDet4D-Tiny在nuScenes验证集上得分47.6% NDS,超过基线BEVDet-Tiny39.2% NDS。速度误差从 BEVDet-Tiny 的 0.909 mAVE 降低到 BEVDet4D-Tiny 的 0.337 mAVE,降幅达 62.9%。方向预测误差从 BEVDet-Tiny 的 0.523 mAOE 降低到了 BEVDet4D-Tiny 的 0.460 mAOE,降幅为 12.0%。 这是因为目标的方向和速度之间存在强耦合关系。
- BEVDet-Base 的 47.2% NDS 提升到 BEVDet4D-Base 的 54.5% NDS。超过了同期工作 BEVFormer的+2.8% NDS(即 54.5% NDS 对比 51.7% NDS)。同时在测试时间上运行得更快(即 1.9 FPS 对比 1.7 FPS)。
- nuScenes test set
- BEVDet4D在测试集上以56.9% NDS领先,超过BEVDet 8.7%。也比同期的 BEVFormer高出 3.4% NDS。
- BEVDet4D 从验证集的 55.2% NDS 到测试集的 56.9% NDS,性能提升了 1.7% NDS。这表明在 BEVDet4D 中利用时间线索也有助于提高模型的泛化性能。
4.3 消融研究
- 构建BEVDet4D:展示了如何构建BEVDet4D的鲁棒性能。
- 对比A和B,对于预测速度任务,如果增加平移对齐操作,相对的可以简化速度预测任务,mATE平移误差由0.711降低到0.672,速度误差 1.544 mAVE 降低至1.186 mAVE。但依然高于基准BEVDet-Tiny,推测原因是对于速度预测任务,由于相邻两帧之间的时间间隔不一致,位置偏移的分布与速度的分布相差甚远。
- C直接简化任务为位置偏移的预测任务,速度误差大幅度降低至 0.479 mAVE。
- D在时间融合之前增加extra BEV Encoder使计算量略微增加 2.8%,但对推理速度的影响可以忽略不计。这一修改相对于C进行了全面提升。E通过调整训练过程的权重weight,相对于D又有一定提升。
- F通过增加考虑对齐过程中的自车姿态旋转变化,进一步将mAVE速度误差从 0.435降低了 13.6%至 0.376。这表明精确的对齐操作有助于提高速度预测的精度。
- 为了在当前帧与参考帧之间搜索最佳测试时间间隔,选择三个不同的时间间隔进行消融实验,根据图4所示最佳间隔约为 15T(使用12Hz 的未标记相机扫描,两个相机扫描之间的时间间隔表示为T≈0.083s),默认将其设置为测试时间间隔。而在训练过程中通过在[3T,27T]内随机采样时间间隔来实现数据增强。表3中的G将速度误差从 0.376 进一步降低了 12.8%至 0.328。
- 插值操作的精度退化:以表3的C研究不同BEV分辨率和插值操作对精度的影响。
- 根据表4,在视图变换后进行插值操作,会引入系统误差,效果些许下降。但是得益于保留了视图变换操作的完整(含BEVDet的加速方法),FPS直接由7.8提升至15.6。
- 而在提高BEV分辨率后,插值操作在前或在后对性能引起的差异可忽略不计。
- 高 BEV 分辨率有助于减轻插值操作引起的精度退化。从推理加速的角度来看,不建议在视图变换内进行对齐操作。
- 时间融合的位置:研究了在BEVDet4D框架中进行时间融合的不同位置。
- A表明视图转换器生成的BEV特征过于粗糙无法直接使用,B表明如果添加一个额外的 BEV 编码器可以帮助缓解这个问题。
- C表明BEV编码器可以通过抵抗前一帧特征带来的位置误导,并根据两个候选特征之间的差异来估计速度。
结论
- 贡献:BEVDet4D通过利用时空4D空间中的时间线索,显著提升了多相机3D目标检测的性能,特别是在速度预测方面。
- 未来工作:将专注于设计框架和范式,主动挖掘时间线索。