StrongSORT

StrongSORT: Make DeepSORT Great Again[1]

作者是来自北邮、上海AI Lab和英国Brunel University London的Yunhao Du, Zhicheng Zhao等人,论文引用[1]:

Time

  • 2023.Feb

Key Words

  • missing association and missing detection

总结

  1. 最近,MOT吸引了很多的注意力,有了很多的进展。然而,现有的方法倾向于用多个基本的模型(检测器和嵌入模型)和不同的训练或者推理tricks。因此,构建一个好的baseline用于公平的对比是重要的。本文中首先回顾经典的tracker DeepSORT,然后从不同的角度进行改进,例如目标检测,特征嵌入和轨迹关联。提出的tracker称之为StrongSORT,为MOT社区贡献了一个强的和fair的baseline。更多的,两个轻量的和即插即用的算法被提出来了,用于解决MOT缺失的问题:缺失的关联和缺失的检测。特别地,不同于大多数的方法,用很高的计算复杂度将短的tracklet关联成完整的轨迹。作者提出了一个appearance-free link model(AFLink),不需要外观信息进行全局关联。实现了速度和精度的很好的平衡。另外,提出了高斯平滑插值,基于高斯过程回归来缓解丢掉的检测。AFLink和GSI可以很容易地插入到多个tracker中,有可以忽略的额外的计算成本。最后,通过将StrongSORT和AFLink和GSI融合,得到最终的tracker(StrongSORT++).
  1. MOT旨在逐帧地检测和跟踪目标的所有类别。近年来,MOT任务被tracking-by-detection(TBD)范式所主导,执行逐帧地检测,将MOT问题表述为一个数据关联的任务。TBD方法倾向于首先提取外观和运动嵌入,然后执行bipartite graph 匹配,受益于高性能的目标检测器,TBD方法因为它们卓越地性能,得到了青睐。作为目标检测和ReID的下游任务,最近的工作倾向于用多种检测器和ReID模型来增加MOT的性能,使得构建一个它们之间的公平的对比变得困难。另一个问题是阻止了公平的对比是用额外的数据集用于训练。另外,一些训练和推理的tricks也用来提高跟踪性能。为了解决上述问题,这篇文章提出了一个简单但有效的MOT baseline StrongSORT。重新回顾经典的TBD tracker DeepSORT。选择deepsort是因为它的简单有效。首先给DeepSORT用了更强的检测器和嵌入模型,然后,从近期的工作中搜集了一些推理的tricks,进一步提高它的性能。简单地装备DeepSORT,就得到了StrongSORT,它在很多数据集上实现了SOTA。StrongSORT的动机如下:

    • 可以作为一个baseline用于不同跟踪方法之间公平的对比,特别是tracking-by-detection trackers。
    • 相比于weak baseline,一个更强的baseline展示了方法的有效性。
    • 精巧的推理tricks可以用在其它的tracker上,不需要重新训练模型。 这里有两个缺失的问题:missing association和missing detection。missing association意味着同一个物体分散在超过1个的tracklet中。这个问题是很普遍,因为它们在关联阶段缺乏全局信息。missing detection,也是false negatives,指将目标识别为背景。通常是由于低分辨率和遮挡造成的。

    首先,对于缺失的关联问题,提出了一些方法,用一个全局的link model,将短的tracklets关联成轨迹。它们通常首先产生精确但是不完整的tracklets,然后以离线的方式将它们用全局信息进行关联。虽然这些方法提高了跟踪性能,它们依赖于computation-intensive models,特别是外观嵌入。相比之下,提出了一个appearance-free link model(AFLink),只利用时空信息来预测两个输入的tracklets是否属于同一个ID。没有外观模型,AFLink实现了更好的速度和精度之间的平衡。

    其次,线性插值广泛用于missing detections的补偿。然而,它忽视了插值期间的运动信息,限制了插入位置的精度。为了解决这个问题,提出了高斯平滑插值,用高斯过程回归算法解决了插值bboxes。GSI是一种检测噪声滤波器,能够产生更多精确和稳定的定位。

    AFLink和GSI都是轻量化,即插即用,model-independent和appearance-free的模型。贡献如下:

    • 提出了一个StrongSORT,给DeepSORT用了更强的modules(检测器和嵌入模型)和一些推理tricks,它可以作为一个强的公平的基线用于其它MOT方法
    • 提出了两个新的轻量化的算法AFLink和GSI,可以插入到多个trackers,提高性能
    • 大量的实验表明了提出的方法的有效性。另外,提出的StrongSORT和StrongSORT++在多个benchmarks上实现了SOTA。
  2. 分开和联合的trackers:MOT方法能够分为分开的和联合的trackers。分开的trackers跟着tracking-by-detection范式,首先对目标进行定位,然后基于外观的信息、运动信息进行关联。受益于目标检测的快速发展,分开的trackers广泛地应用在MOT任务中,最近,一些联合跟踪的方法提出来,将detection和其它组件例如motion, embedding,association一起训练。这些trackers的主要的优势是计算成本低和类似的性能。 同时,一些最近的研究抛弃了外观信息,只依赖于高性能的检测器和运动信息,实现了高速和SOTA的性能。然而,抛弃外观特征在更多复杂场景可能导致差的鲁棒性。在本文中,采用类似DeepSORT的范式,从多个角度配备先进的技术,来确认这个经典框架的有效性。

  3. Global Link in MOT:缺失的关联是MOT中的一个重要问题,为了挖掘丰富的全局信息,一些方法用一个global link 模型来refine tracking 结果。它们首先用时空或者外观信息,产生精确但是不完整的tracklets,然后以离线的方式,通过利用全局信息将这些tracklets连接起来,TNT是用多尺度的TrackNet设计的,来测量两个tracklets之间的连接。用一个多尺度的卷积核,在一个统一的框架中编码运动和外观信息。TPM用了tracklet-plane匹配过程,将混淆的tracklets送到不同的tracklet-plane,帮助降低了tracklet匹配阶段的混淆。ReMOT将不完美的轨迹分成tracklets,然后将它们和外观特征融合。GIAOTracker提出了一个复杂的global link算法,用提高的ResNet50-TP模型,编码tracklet外观特征,通过空间和时序cost关联tracklets。尽管这些方法产生了显著的提高,它们依赖于外观特征,带来了高的计算成本。相比之下,提出的AFLink模型只利用运动信息来预测两个tracklets之间的link confidence。通过设计一个合适的框架和训练过程,AFlink 以几乎可以忽略的额外成本,提升了多种最先进的跟踪器的性能。 AFLink和LGMTracker有相似的动机,通过运动信息将tracklets进行关联。LGMTracker 采用了一种有趣但复杂的重建到嵌入策略,通过基于 GCN 和 TGC 模块的轨迹关联,旨在解决潜在空间不相似性的问题。然而,AFLink 表明,通过精心设计框架和训练策略,一个更简单、更轻量的模块仍然可以表现良好。

  4. MOT的插值:线性插值被广泛用于填补缺失检测中恢复轨迹的空白。尽管他的简单和高效,线性插值忽略了运动信息,限制了恢复的bboxes的精度。为了解决这个问题,提出了一些策略来利用时空信息。V-IOUTracker 通过在缺失检测发生时回退到单目标跟踪来扩展 IOUTracker。MAT 通过采用周期性伪观测轨迹填充策略,非线性地平滑了线性插值的轨迹。为了预测缺失的位置,额外需要一个相机运动补偿(CMC)模型 和一个卡尔曼滤波器。MAATrack 通过仅应用 CMC 模型简化了这一过程。所有这些方法都引入了额外的模型,即单目标跟踪器、CMC 和卡尔曼滤波器,以换取性能的提升。相反,我们提出了基于高斯过程回归(GPR)算法对非线性运动进行建模的方法。在没有额外耗时组件的情况下,我们提出的 GSI 算法在准确性和效率之间达到了良好的平衡。 和GSI相似的工作,利用GPR蒜贩平滑没有插值的tracklets for 精确的速度预测。然而,在监控视频中的时间检测任务中表现很好。相比之下,研究MOT任务,采用GPR来修正插值的定位。另外,提出了一个自适应的光滑的factor,而不是提前设定一个超参数。

  5. StrongSORT:在这个部分,提出了一些路线,更新DeepSORT,得到StrongSORT。

    • Review of DeepSORT: DeepSORT包含两个分支,一个是外观分支,一个是运动分支。在外观分支,给定每帧中的detections。深度外观描述器,在一个reid数据集上进行预训练,用于提取它们的外观特征。它利用一个feature bank 机制,来存储每个tracklet的最近的100帧。当新的detections来的时候,第i个tracklet的feature bank \(B_i\) 和第 j个dtection的特征 \(f_j\)之间的余弦距离计算如下:

    \[d(i,j)=min\{1-f_j^Tf_k^{(i)}\mid f_k^{(i)}\in B_i\}.\] 这个距离用于关联阶段的匹配损失

    在运动分支,卡尔曼滤波算法用于预测当前帧中的tracklets的位置。它有两个阶段:状态预测和状态更新。给定tracklets的运动装填和新的detections,Mahalanobis 距离 用于测量它们之间的时空的差异。DeepSORT将这个运动距离作为一个gate,来过滤掉不可能的关联。

    之后,匹配级联算法用于解决关联的任务,提出将关联任务作为一系列子问题而不是全局的分配问题。核心的idea是给更频繁出现的目标更大的匹配优先度,每个关联子问题用匈牙利算法解决。

    • StrongSORT:基于deepsort的提高包括先进的模块和一些推理tricks。

      • 先进的模块:DeepSORT用了优化的FasterRCNN作为检测器,训练一个简单的CNN作为嵌入模型。这里,用YOLOX代替它。另外,一个更强的外观特征提取器BoT,替换原始的CNN,能够提取更有区分度的特征。
      • EMA:尽管DeepSORT中的feature bank机制能够保留长期的信息,它对于detection noise是敏感的。为了解决这个问题,用feature updating测量代替feature bank机制,在帧t中的第i个tracklet,以指数移动平均(EMA)更新外观状态 \(e^t_i\)

      \[e_i^t=\alpha e_i^{t-1}+(1-\alpha)f_i^t,\]

      \(f^t_i\) 是当前匹配的detection的外观嵌入,\(\alpha\) 是动量term。EMA更新测量利用帧间特征变化的信息,降低detection noise。

      • ECC:相机运动存在于多个benchmarks中,采用增强的相关系数最大化(ECC)模型用于相机运动补偿。它是一个工具,用于参数化图像对齐,能够估计相邻帧的全局的旋转和变换。特别地,基于下列标准,它基于以下标准来量化变形变换的性能:

      \[E_{ECC}(\mathbf{p})=\left\|\frac{\overline{\mathbf{i_r}}}{\left\|\bar{\mathbf{i_r}}\right\|}-\frac{\overline{\mathbf{i_w}}(\mathbf{p})}{\left\|\bar{\mathbf{i_w}}(\mathbf{p})\right\|}\right\|^2,\]

      \(||.||\) 表示欧式norm,\(p\) 是 warping参数。\(\overline{\mathbf{i_r}}\)\(\overline{\mathbf{i_r}}\) 是参考图像 \(i_r\) 和warped image \(\mathbf{i_r}\) 的 零均值版本。图像对齐问题通过最小化 EECC(p) 来解决,使用提出的前向加法迭代算法或逆向组合迭代算法。由于其高效性和有效性,ECC 广泛用于补偿多目标跟踪(MOT)任务中由相机运动引起的运动噪声。

      • NSA Kalman:普通的卡尔曼滤波器对于低质量的detections是脆弱的,忽略了检测噪声尺度上的信息。为了解决这个问题,从GIAOTracker中借鉴NSA Kalman,提出了一个公式,自适应地计算噪声协方差:

      \[\widetilde{R}_k=(1-c_k)R_k,\]

      \(R_k\) 是预设的常熟测量噪声协方差,\(c_k\) 是状态k的检测置信度分数。直觉上来说,当噪声比较小的时候,detection的分数比较高,导致低 \(\widetilde{R}_k\)。更低的 $\(\widetilde{R}_k\) 的意味着检测在装填更新阶段有更高的权重,反之亦然。这能够帮助提高更新状态的精度。

      • motion cost DeepSORT在第一次关联阶段,只采用外观特征距离作为matching cost,运动距离只作为gate。相反,通过外观和运动信息解决分配问题。cost matrix C 是 外观cost \(A_a\)的 和motion cost \(A_m\) 的加权求和。

      \[\begin{array} {c}C=\lambda A_a+(1-\lambda)A_m, \end{array}\]

      • Vanilla matching。一个有趣的发现是尽管在DeepSORT中,匹配级联算法重要,它限制了tracker的性能。理由是当tracker变强的时候,它对于confusing的关联更加鲁棒。因此额外的先验限制了匹配精度。通过用普通的全局线性分配替换匹配级联解决这个问题。
  6. 两个即插即用的模块:AFLink和GSI,来进一步解决缺失的关联和缺失的检测的问题。

    • AFLink:tracklets的全局的link用来追求高的精度的关联。然而,它们通常依赖于高计算的模块和大量的超参数进行微调。例如GIAOTrack利用提高的ResNet50-TP来提取 tracklet 3D 特征,执行和额外的空间时序距离进行关联。它有六个超参数需要设置。3个阈值和3个权重参数,导致大量的调优实验和较差的鲁棒性。另外,过度依赖外观特征导致对遮挡比较脆弱,受此启发,设计了一个appearance-free的模型,AFLink,通过只依赖时空信息,预测两个tracklets之间的连接。

    图中展示了AFLink的模型的两个分支,采用两个tracklets \(T_i\)\(T_j\) 作为输入,\(T_{*}\) 包含了最近30帧的frame id \(f^{*}_k\) 和 位置 \((x^{*}_k, y^{*}_k)\),用zero-padding 用于少于30帧的tracklets。一个时序模块通过沿着时间维度的 \(7 \times 1\) kernels 进行卷积,来提取特征。包含四个Conv-BN-ReLU层。然后,融合模块,是一个有 BN和ReLU 的 单个 \(1 \times 3\) 的卷积层,用于从不同的特征维度继承信息,称之为f, x 和y。这两个特征图进行池化和squeeze,得到feature vector,然后进行concatenate,包含了丰富的时序信息。最后,一个MLP用于预测置信度分数用于关联。注意到,两个分支的权重在时序和融合模块是不共享的。

    在训练期间,关联阶段表述为一个二分类任务。然后,用二值交叉熵损失进行优化。

    在关联期间,用时序限制,过滤掉不合理的tracklet pairs。然后,将全局链路求解为一个具有预测连通性分数的线性分配任务。

    • GSI:插值普遍用于填充由于缺失的detections造成的轨迹的gaps。线性插值由于它的简洁导致了很流行。然而,它的精度受限,因为它没有用运动信息。虽然提出了一些策略用于解决这个问题,它们引入了额外的耗时的模块,例如单目标跟踪,卡尔曼滤波和ECC。相比之下,提出了一个轻量化的插值算法,用了高斯过程回归来建模非线性运动。

    将GSI 模型表述为第i个轨迹:

    \(p_t=f^{(i)}(t)+\epsilon,\)

    \(t \in F\) 是frame id,\(p_t \in P\) 是 帧t的位置坐标变量。 \(\epsilon\) 是 高斯噪声。给定跟踪的和线性插值的,长度为L的轨迹 \(S^{i}\),非线性运动建模的任务通过拟合函数 \(f^{(i)}\) 解决。假定它遵循一个高斯过程:

    \[f^{(i)}\in GP(0,k(\cdot,\cdot)),\]

    \(k(x,x^')\) 是一个radial basis 函数核。基于高斯过程的性质,给定一个新的frame set \(F^*\),它的光滑的位置 \(P^*\) 通过这个公式进行预测:

    \[P^*=K(F^*,F)(K(F,F)+\sigma^2I)^{-1}P,\]

    \(K(.,.)\) 是一个协方差函数,基于 k(.,.)。

    另外,超参数 \(\lambda\) 控制轨迹的光滑度,和它的长度相关。简单地将其设计为一个长度为l的函数:

    \[\lambda=\tau*log(\tau^3/l),\]

    图4展示了GSI和线性插值的不同。raw tracked results 通常包含noisy jitter,LI忽略了运动信息。GSI通过一个自适应的光滑factor,光滑了整个轨迹,解决了这个问题。

Framework \(Fig.1^{[1]}\) DeepSORT和StrongSORT之间的对比

Framework of the two-branch AFLink model \(Fig.2^{[1]}\) 采用两个tracklets, \(T_i\)\(T_j\) 作为输入。 \(T_*\) 包含近30帧的位置和frame id。然后,时序的模块沿着时间维度提取特征,融合模块沿着特征维度继承信息。这两个tracklets features被池化,squeezed,concatenated,然后输入给分类器预测关联分数。