首先,为了与refine部分配合,detzero的track部分和传统MOT方法有所不同。
detzero的track将score低于阈值的框也保留下来,做二级的匹配和更新,并且使用了immortal track的思想,尽量保留更多的框。
在track之后我们得到了点集, 框集和分数集, j表示track id, i表示frame id。
概述
基于刚体不变性、运动规律性,并与相邻时刻具有较强的一致性,提出了将边界框回归分为了3个独立模块,分别,预测对象的几何、位置、置信度属性。
Geometry refining model (GRM)
- 一个对象j的track内的所有成员box中点,转到box的局部坐标系,并融合,忽略其来源。 从中随机挑选4096个点记为点集 , 做后续处理。
- 对于点集中的每一个点,计算其到所在框6个面的距离,那么这个点的特征就扩充成了[, ,...,] 。
- 首先从一个对象的track中随机选出t个成员,每个成员随机选256个点,每个点用2的方法扩充特征,并附带相应的置信度得分。然后用Pointnet结构的编码器ENC1来提取每个选定样本的特征,用来初始化几何查询,接下来用另一个编码器ENC2以作为输入,提取密集点的特征,作为和。
- 首先输入MSA中,以编码选定样本之间的丰富上下文关系和特征依赖,从而细化几何信息。然后做交叉注意力,将上下文聚合到对象候选区域,通过推理成对差异来补偿每个的视角的点特征。最后FFN将t个独立解码成t个几何尺寸,取平均值作为最终预测尺寸。
- 网络结构:encoder使用多层感知机MLP,Q编码为tx256, K,V编码为nx256。decoder使用transformer经典的MSA+MCA+FFN。
Position refining model(PRM)
- 一个对象j的track内的所有成员box,随机选其中一个box作为新坐标系,然后把其他所有的和都转到该坐标系。然后每个frame的随机选取固定数量的点,数量为。
- 对于每个点,计算其到所在框的中心点和8个角点的距离,以扩充该点的特征,即position-aware的点,最后以=[, ,,...,] 来表示。将每个track用0 padding到一样的长度(即clip的长度)。
- 用ENC1一样的结构编码+置信度,生成position query ,L即clip长度。 同时用另一个编码器以为输入生成和。
- 首先将 输入MSA,捕捉自身与其他位置的相对距离。此外,在每个查询位置附近应用1D掩码来加权自注意力。 随后将QKV输入交叉注意力。 最后,预测每个GT中心和对应的初始中心在局部坐标系下的偏移量以及航向角。
Confidence refining (CRM)
由于detzero的detection和tracking部分的策略是尽可能提高召回,所以会产生数量可观的false positive。所以confidence refining是必要的,该模块包含了两个分支。
- 分类分支:设定两个阈值和,如果track boxes与gt的阈值低于则记为负样本,如果高于则记为正样本。介于两者之间的则不参与该分支的计算。 (Question:如何计算两个track的IOU?图森的CTRL论文,提出了一个TIoU:tracking iou)
- IoU regression分支:以优化经过GRM和PRM的track boxes和GT的iou为回归目标。
- 首先,用ENC1相同结构的编码器来处理track box中的点。提取的点云特征通过一个简单的MLP进行融合,然后输入上述两个分支预测得分。训练中,正负样本采样比为1:1 。最终的得分是两个分支得分的几何平均数(平方和开根号)。