本文背景:Despite their progress and usefulness, an in-depth analysis of their strengths and weaknesses is not yet available(尽管取得了一些进展,但是并未对其优缺点进行深入分析)
本文:将当前的3D MOT方法总结为一个统一的框架,将其分解为四个组成部分:检测的预处理,关联,运动模型和生命周期管理。对算法每个部件对结果的影响进行分析。根据分析,提出相应的改进,从而形成了一个强大而简单的:SimpleTrack。实验证明可以通过微小的修改取得不错的效果。
介绍部分:
为什么要进行分析:Each of these modules(上述提到的四个组成部分) has its special treatment and can significantly affect the system performance as a whole. Therefore, we would like to ask which components in 3D MOT play the most important roles, and how can we improve them?(作者想要搞清楚那个部分扮演最终要的角色)
对“tracking by detection”方式的分析:这种方式直接采用检测好的bunding boxes进行检测,本将其采解成上述四个组成部分,对其进行错误归因到某一模块的分析,找出被其忽略的细节。作者发现的三个问题:1.不准确的检测会影响数据的关联。但是又不能直接采用阈值来缓解检测的影响,这样会导致较低的召回率2.前后帧边界框相似度矩阵需要精心的设计,简单的基于距离和IOU效果并不好3.3D中目标运动预测比2D预测效果好很多。根据上述的问题提出了本文的观点:Therefore, the consensus between motion model predictions and even poor observations (low score detections) could well indicate the existence of objects.(即认为3D预测到的目标但是拥有较低的检测分值的目标极有可能是真实需要追踪的目标)。也由此提出本文的跟踪方法:SimpleTrack
文章主要贡献:
1.分析了“tracking-by-detection” 3D MOT 方法,并分析了每个组件的连接和故障案例
2.针对每个部分存在的问题进行了优化使得根据竞争力
这部分,作者先总结3D(“tracking-by-detection”)追踪的方法,然后对比2D和3D的MOT联系和差异。
3D(“tracking-by-detection”)追踪
2D
一些值得注意的尝试包括概率方法[1,16,30,32],动态规划[11],二分匹配[6],最小成本流[4,46],凸优化[27,35,36,45]和条件随机域[42]。随着深度学习的快速发展,许多甲基ODS [7, 12–14, 19, 40]学习了匹配机制,而其他[17, 20, 21, 24, 26]则学习了关联指标
下面预测的结果相对车辆速度有快慢的区别即每个框距离预测不一致。
四个组成部分:
检测的预处理:对检测得到的目标根据阈值进行筛选(去掉冗余的检测结果)
运动模型:通过类似卡尔曼滤波(或者通过多帧数据得到速度的信息进行预测)得到上图下面部分的预测结果。
数据关联:通过将检测和运动模型得到的预测结果进行数据关联(利用匈牙利算法结合IOU或者Mahalanobis distance and greedy algorithm,CenterPoint [43] adopts the L2 distance.)
生存周期管理:”生”决定了一个边界框是否会被初始化为一个新的轨道让;“死亡”在被认为已移出注意力区域时删除了轨道;“输出”决定轨道是否将输出其状态。大多数MOT算法采用简单的基于计数的规则[10,37,43],CB MOT [3]通过修改轨道置信度的逻辑来改善出生和死亡。
由于当前检测器为了满足召回率通常会对目标生成多个边界框预测。对多个边界框的处理方法如下:
目前3DMOT通常采用的是图中Score Fillter,可以看到通过设置最低阈值进行筛选会影响检测不佳目标的召回率同时也会影响检测不佳目标的AMOTA指标。所以本文采用NMS(非极大值抑制表现比较好):可以保留检测不佳的目标而只去掉每个目标重叠得分不高的boundingbox目标,通过在预处理模块中加入NMS,可以大致保留召回率,但大大提高了精度并有利于MOT。消融实验:
目前在3D跟踪中两种主流的方式:In general, there are two commonly adopted motion models for 3D MOT: Kalman filter (KF), e.g. AB3DMOT [37], and constant velocity model (CV) with predicted speeds from detectors, e.g. CenterPoint [43].
卡尔曼滤波的优点:可以很好利用多帧的数据,当目标检测比较差的情况时也能得到比较平滑的结果
CV:对突然和不可预测的运动处理比较好但是运动的平滑性受限如图两种结果的比较
表现:在nuScenes数据集上CV表现更好,而在WOD数据集上卡尔曼滤波比较好
总结:卡尔曼滤波更适合高频情况(高频下运动更可预测),而恒速模型对于具有显式速度预测的低频场景更鲁棒。由于推断速度对于探测器来说还不常见,因此在不损失通用性的情况下采用卡尔曼滤波器进行简单跟踪
之前的3D MOT中大部分采用的是基于IOU和基于距离的数据关联。这两种方法的不足的部分:
上图中左边部分:IoU 计算边界框之间的重叠比率,因此如果它们之间的 IoU 都是零,则它无法连接检测和运动预测,这在轨道的开头或具有突然运动的物体上很常见(图 3 左侧)。
上图右边部分:在第 k 帧上,蓝色运动预测与绿色假阳性检测的 L2 距离较小,因此它被错误关联。通过这样的例子,我们得出结论,基于距离的指标缺乏对方向的考虑,这只是基于IOU的指标的优势。
根据上述的问题本文将GIOU扩展到3D检测中计算过程:
V表示体积,以上图左图为例:
性能图:靠近右下的比较好:
匹配策略:
一般有两种方法:1.将问题表述为二分匹配问题,然后使用匈牙利算法[37]求解。2.利用贪心算法迭代关联最近的boundingbox对。
基于 IoU 的指标适用于两者,而基于距离的指标更喜欢贪婪算法(可能原因:基于距离范围比较大,匈牙利算法优化全局操作可能会受到异常值的影响),实验结果图如下:
两种ID错误分配情况:
ID-Switches:被跟踪目标身份发生错误地更改时被称为身份跳变。在对视频序列的跟踪过程当中,ID Sw.表示所有跟踪目标身份交换的次数。
第一种:错误分配,将GT1分配为GT2
第二种:提前将ID分配收回,产生了新的ID(长时间遮挡或者转弯时视角变换都有可能出现这种问题未能缓解,未来工作可以参考2D文献2D MOT [18, 19, 33, 39])
为了缓解空间上的遮挡以及点云稀疏而导致目标跟踪提前结束的问题,本文提出利用得分低但是和运动模型预测一致的目标boundingbox信息来尽可能使得轨迹更加完整。
具体步骤:
采用两种不同阈值进行关联,一阶段:和大部分方法一样使用较大阈值(0.5)得分的boundingbox进行轨迹关联。第二阶段:关注一阶段轨迹中未匹配的检测目标,并在阈值大于0.1的boundingbox进行匹配,但是对于低阈值匹配的结果不会输出,只用于保留ID,下一帧的轨迹状态仍然使用运动估计的结果。
效果:
本文提出优化后的框架和其余3D追踪方法之间总的比较(红色效果最好,蓝色效果第二):
通过WOD(10hz)和nuSecenes(2HZ)数据集作者发现高帧率对于目标追踪更有利(因为间隔段而增加了运动模型可预测性)。nuScenes有20帧的采集数据但是只有2帧的标注,导致算法只能利用2hz(数据处理却处理的20帧)。
通过运动模型的预测而没有关联检测的boundingbox也有,性能也有提升。由此按照检测阈值进行评估的AMOTA是不是有不妥的地方?
此外,尽管本论文采用了插值的方法(即用运动模型预测的值代替关联boundingbox保留ID)使得性能提高,但是作者提到这样做引入了预测信息,是否能实时进行跟踪是一个问题。