本文经自动驾驶之心公众号授权转载,转载请联系出处。
本文提出了一套离线3D物体检测算法框架DetZero,通过在 Waymo 公开数据集上进行全面的研究和评估,DetZero可生成连续且完整的物体轨迹序列,并充分利用长时序点云特征显着提升感知结果的质量。同时以 85.15 mAPH (L2) 的性能在 WOD 3D 物体检测排行榜上取得排名第一。此外,DetZero可以为在线模型的训练提供高质量的自动标签,其结果已经达到甚至高于人工标签的水平。
论文:https://arxiv.org/abs/2306.06023
代码:https://github.com/PJLab-ADG/DetZero
主页:https://superkoma.github.io/detzero-page
1 引言
现有的自动驾驶感知模型的发展依赖于数据驱动的迭代模式,然而标注数据的昂贵成本和参差不一的后处理效率促使我们探索更为高效的解决方案。此前Waymo提出离线3D物体检测方法3DAL[]来缓解数据标注过程中的资源和人力成本,它主要分为四个模块:
- 目标检测(Detection):输入少量连续的点云帧数据,输出每一帧中3D物体的边界框和类别信息;
- 多目标跟踪(Tracking):将每一帧检测到的物体进行关联,形成物体序列,并分配唯一的物体ID;
- 运动状态分类(Motion Classification):基于物体轨迹特征,确定物体的运动状态(静止或运动);
- 物体为中心的优化(Object-centric Refining):根据前一模块预测的运动状态,分别提取静止和运动物体的时序点云特征,以预测准确的边界框。最终,通过姿态矩阵将优化后的3D边界框转移回该物体所在的每一帧坐标系中。
然而许多主流的在线3D目标检测方器通过利用点云的时序上下文特征,取得了比现有的离线3D检测方法更好的效果。我们意识到其未能有效地利用到长序列点云的特征:
1.目前的目标检测和跟踪算法主要关注边界框层面(box-level)的性能指标,将在线的3D检测算法经过TTA和多模型融合之后所产生的大量冗余框作为跟踪算法的输入,通常很容易引发严重的轨迹分段、ID切换以及错误关联等问题,无法保证连续、完整的物体序列的生成,进而妨碍利用物体对应的长时序点云特征。如下图所示,原本一个物体的轨迹被分割成多个子序列(T1, T2, T3),导致拥有更多信息的T1片段的特征无法共享到T2和T3中;T4片段中经过优化的框也无法召回已经丢失掉的片段;T5片段中经过优化的框在转移到原先是FP的位置后依然是FP。
物体序列的质量会对下游的优化模型产生很大的影响
2.基于运动状态分类的优化模型没有充分利用到物体的时序特征。例如,刚性物体的尺寸大小随时间保持一致,通过从不同角度捕捉数据可以实现更准确的尺寸估计;物体的运动轨迹应当遵循一定的运动学约束,表现为轨迹的平滑性。如下图(a)所示,对于动态物体来说,基于滑动窗口的优化机制未考虑物体几何形状的一致性,仅通过邻近几帧的时序点云信息对边界框进行更新,导致预测的几何尺寸出现偏差。而在(b)的例子中,通过把该物体的点云全部聚合在一起,可获得稠密的时序点云特征,为每一帧都预测出边界框的准确的几何尺寸。
基于运动状态的优化模型预测物体的尺寸(a),几何优化模型将不同视角的点云全部聚合后预测物体的尺寸(b)
2 方法
本文提出了一种新的离线3D物体检测算法框架DetZero:(1)使用多帧 3D 检测器和离线跟踪器作为上游模块,提供足够准确和完整的物体跟踪,主要强调物体序列的高召回率(track-level recall);(2)下游模块包含基于注意力机制的优化模型,利用长时序点云特征分别学习预测物体的不同属性,包括精细化几何尺寸、平滑其运动轨迹位置、更新置信度分数。
2.1 生成完整的物体序列
我们选取已公开的CenterPoint[]作为基础检测器,为了尽可能提供足够多的检测候选框,我们在三个方面对其进行了加强:(1)不同帧点云的组合作为输入,在不出现性能衰减的前提下进行性能最大化;(2)利用点云密度信息进行原始点云特征和体素特征融合的二阶段模块,对一阶段边界结果进行初步优化;(3)使用推理阶段数据增强(TTA)、多模型结果融合(Ensemble)等技术来提升模型对于复杂环境的适应能力。
离线跟踪模块中引入了两阶段关联策略以减少错误匹配,根据置信度将框分为高分组和低分组,对高分组进行关联更新现有轨迹,未更新的轨迹与低分组关联。同时,物体轨迹的长度可持续至序列终止,避免ID切换问题。此外,我们会反向执行跟踪算法生成另一组轨迹,并通过位置相似性关联,最后用WBF策略融合匹配成功的轨迹,进一步提升序列首尾的完整性。最后,对于区分好的物体序列,提取出其对应的每一帧点云进行保存;而未更新的冗余框和一些较短的序列和会直接合并至最终的输出,无需下游优化。
2.2 基于属性预测的物体优化模块
之前的物体为中心的优化模型忽略了不同运动状态下物体之间的相关性,如几何形状的一致性、物体运动状态在相邻时刻的一致性。基于这些观察,我们将传统的边界框回归任务分解为三个模块:分别预测物体的几何形状、位置和置信度属性。
- 多视角几何交互:通过拼接多个视角的物体点云,可以补全物体的外观和形状。首先进行局部坐标变换,将物体点云与不同位置的局部框对齐,并计算出每个点到边界框6个表面的投影距离,加强边界框的信息表征,随后直接合并不同帧的所有点云作为多视角几何特征的key和value,同时从物体序列中随机选择t个样本作为单视角几何特征的query。几何query会被送入自注意力层来查看彼此之间的差异性,随后被送入交叉注意力层来补充所需要视角的特征,并预测出精确的几何尺寸。
- 局部与全局位置的交互:随机选择物体序列中的任意框作为原点,将所有其他框和对应的物体点云转移到此坐标系下,并计算出每个点到各自边界框中心点和8个角点的距离,作为全局位置特征的key和value。物体序列中的每一个样本都会作为位置query,送入自注意力层来判断当前位置与其他位置的相对距离,随后输入交叉注意力层模拟局部到全局位置的上下文关系,并预测出此坐标系下每个初始中心点与真值中心点之间的偏移量,以及航向角差异。
- 置信度优化:分类分支用于分类该物体是TP还是FP,IoU回归分支预测出一个物体在被几何模型和位置模型优化后,与真值框之间的IoU大小。最终的置信度得分就是这两个分支的几何平均值。
3 实验
3.1 主要性能
如下表所示,本文方法在Waymo 3D检测排行榜上以85.15 mAPH (L2)取得了最好的成绩,无论是与处理长时序点云的方法相比,还是与最先进的多模态融合3D检测器相比,DetZero都有很大的性能优势。
Waymo 3D检测排行榜结果,所有结果均使用TTA或ensemble技术,†指离线模型,‡指点云图像融合模型,*表示匿名提交结果
同样,得益于检测框的准确性和物体跟踪序列的完整性,我们以75.05 MOTA(L2)取得了Waymo 3D跟踪排行榜上的性能第一。
Waymo 3D跟踪排行榜,*表示匿名提交结果
3.2 消融实验
为更好地验证我们所提出每个模块的作用,我们在Waymo验证集上进行了消融实验,并使用更严格的IoU阈值来衡量。
在Waymo验证集上对Vehicle和Pedestrian进行,IoU阈值分别选取标准值(0.7 & 0.5)和严格值(0.8 & 0.6)
同时,对于同一组检测结果,我们分别选择3DAL中的跟踪器和优化模型与DetZero进行交叉组合验证,结果进一步证明DetZero的跟踪器和优化器性能更好,且二者组合在一起后发挥出更大的优势。
不同上下游模块组合的交叉验证实验,下角标1和2分别代表3DAL和DetZero,指标是3D APH
我们的离线跟踪器更注重物体序列的完整性,虽然二者的MOTA性能差异很小,但是Recall@track的性能却是造成最终优化性能差异很大的一个原因。
离线跟踪器(Trk2)与3DAL跟踪器(Trk1)的性能对比,性能为MOTA和Recall@track
此外,与其他SOTA的跟踪器对比下来也能印证这一点。
Recall@track是经过跟踪算法处理后的序列召回,3D APH是经过同一个优化模型处理后的最终性能
3.3 泛化性能
为了验证我们的优化模型是否固定拟合到了某一组上游结果,我们选择了不同性能的上游检测跟踪结果作为输入,都取得了非常明显的性能提升,这进一步证明了只要上游模块能够召回更多更完整的物体序列,我们的优化器便能利用其时序点云的特征进行有效地优化。
Waymo验证集上的泛化性能验证,指标是3D APH
3.4 与人类标注能力进行对比
我们按照3DAL的实验设置来报告DetZero在5个指定序列上的AP性能,人类性能是通过基于单帧的重标注结果与原本真值标注结果之间的一致性来衡量。相对于3DAL和人类,DetZero在不同的性能指标上都展现出了优势。
对于Vehicle类别在不同IoU阈值下的3D AP和BEV AP性能对比
为了进一步验证该高质量的自动标注结果是否能替代人工标注结果进行在线模型的训练,我们在Waymo验证集上验证了半监督学习的结果。我们在训练中随机选择10%的数据训练老师模型(DetZero),并对剩余的90%训练数据进行推理得到自动标注结果,作为训练学生模型所用的标签,选择单帧CenterPoint作为学生模型。在Vehicle类别上,90%自动标签+10%真值标签训练的结果很接近使用100%真值标签的结果,而在Pedestrian类别上,自动标签训练的模型结果已经优于原结果,这一结果表明自动标签可以胜任在线模型的训练。
在Waymo验证集上进行的半监督实验结果
3.5 可视化结果
红色框代表上游的输入结果,蓝色框代表优化模型的输出结果第一行代表上游的输入结果,第二行代表优化模型的输出结果,虚线内的物体表示优化前后差异明显的位置
自动驾驶之心公众号