引言

  最近,多假设跟踪(MHT)和联合概率数据关联过滤器(JPDAF) 两种方法都在 tracking-by-detection 场景中被重新使用,并显示出了良好的结果。这些方法在逐帧基础上执行数据关联。在JPDAF中,单个状态假设是通过根据它们的关联可能性对单个测量值进行加权而产生的。在MHT中,所有可能的假设都被跟踪,但是剪枝方案必须应用于计算的可跟踪性。然而,这些方法的性能增加了计算和实现的复杂性。SORT是一个更简单的框架,它使用匈牙利方法在图像空间中执行卡尔曼滤波和逐帧数据关联,使用关联度量测量边界框重叠。虽然在跟踪精度和精度方面获得了总体良好的性能,但ID跳变问题严重。这是因为所使用的关联度量仅在状态估计不确定性较低时才准确。因此,SORT在通过遮挡进行跟踪方面存在缺陷。本文通过将关联度量替换为更合理的度量来克服这个问题它结合了运动和外观信息。应用了一个卷积神经网络(CNN),它被训练用来在一个大规模的ReID数据集中辨别行人,提高了对遗漏和遮挡的鲁棒性。

方法

  本文采用一种传统的单假设跟踪方法,采用递归卡尔曼滤波和逐帧数据关联。

  (1)状态估计

  使用具有等速运动和线性观测模型的标准卡尔曼滤波器,将bounding box坐标作为物体状态的直接观测模型;

  对于每个track,计算该帧距上次匹配成功的帧数,该计数器在卡尔曼滤波器预测期间递增,并且当轨道已经与测量相关联时重置为0;

  如果计数器得出的数目大于阈值则判断为离开场景,将其ID删除。如果现有的追踪不能匹配就开启一个新的track ID;

  引入一个试验track的概念,既新的track出现的前三帧被看作为试验阶段,在这一阶段每一帧都要匹配成功,否则就算匹配失败,会被删除。

  (2)指派问题

  传统的解决检测结果与追踪预测结果的关联的方法是使用匈牙利方法。本文作者同时考虑了运动信息的关联和目标外观信息的关联。

  运动信息的关联:使用平方马氏距离来度量预测预测的卡尔曼状态和新到达的测量值的距离:

deepcut架构 deepsort原理_卡尔曼滤波


  其中,(y_i,S_i)表示第i个轨迹分布到测量空间的投影,用dj表示第j个边界盒检测。

  外观信息的关联:当运动的不确定性很低的时候,上述的马氏距离匹配是一个合适的关联度量方法,但是在图像空间中使用kalman滤波进行运动状态估计只是一个比较粗糙的预测。特别是相机存在运动时会使得马氏距离的关联方法失效,造成出现ID switch的现象。于是引入第二种度量方式就是计算第i个追踪器的最近100个成功关联的特征集与当前帧第j个检测结果的特征向量间的最小余弦距离:

deepcut架构 deepsort原理_目标跟踪_02


  如果上面的距离小于指定的阈值,那么这个关联就是成功的。阈值是从单独的训练集里得到的。使用两种度量方式的线性加权作为最终的度量:

deepcut架构 deepsort原理_deepcut架构_03

  (3)级联匹配

  物体被遮挡一段时间后,卡尔曼滤波预测的不确定性大大增加并且状态空间上可观察性变得很低,因此,作者使用了级联匹配来对更加频繁出现的目标赋予优先权。级联匹配的核心思想就是由小到大对消失时间相同的轨迹进行匹配,这样首先保证了对最近出现的目标赋予最大的优先权,也解决了上面所述的问题。

  (4)深度特征描述器

  通过在大规模行人重识别数据集上训练深度网络来提取128维的外观特征,用L2正则化将特征投影到单位超球面上来与余弦距离进行匹配,网络结构见下:

deepcut架构 deepsort原理_deepcut架构_04

实验

  实验结果如下:

deepcut架构 deepsort原理_deepcut架构_05


  相对于SORT,本文主要解决的是ID Switch过大的问题,从结果中可以看出ID Switch比之前下降了45%,并达到了state-of-the-art online tracking的效果。

总结

  本文相对于SORT,总体框架没有很大变化,依旧使用了卡尔曼滤波加匈牙利算法的思路,在这个基础上增加了在大型行人重识别网络上学习的一个行人鉴别网络,目的是区分出不同的行人,输出行人图片,输出一组向量,通过比对两个向量之间的距离,来判断两副输入图片是否是同一个行人。跟踪流程也没有很大区别,在卡尔曼滤波的预测结果的基础上,继续使用了匈牙利算法进行目标分配,但在这个过程中加入了运动信息和外观信息,以实现较长时间遮挡的目标跟踪。其他方面没有太多变化,还是使用了标准的卡尔曼滤波和固定速度模型等来进行预测。