本文是论文“StrongSORT: Make DeepSORT Great Again”的阅读记录

论文概述

StrongSORT论文的主要贡献包括两个部分:对Deepsort的现代化改进(该部分介绍了很多现代技巧),提出两个模块Aflink和GSI。

StrongSORT

  1. 检测器模块升级
    Faster RCNN —> YOLOX
  2. 外貌特征提取器模块升级
    CNN —> BoT
  3. 特征存储机制小问题解决
    为了解决对检测噪声敏感的问题,引入新的特征存储机制(平滑化)方法EMA

eit=αeit1+(1α)fite_i^t=\alpha e_i^{t-1}+(1-\alpha)f_i^t

其中 fitf_i^t 是原始外貌特征,eite_i^t 是新外貌特征

  1. 相机移动补偿小问题解决
    文章提到,多数数据集(KITTI,MOT16,DanceTrack)都存在相机移动的问题,因此需要进行运动补偿。采用的方法是ECC
  2. 自适应卡尔曼滤波器 NSA Kalman小问题解决
    常规卡尔曼滤波器收检测噪声和低质量检测的影响都较大,采用一个自适应的噪声协方差来改进。

R~k=(1ck)Rk\widetilde{R}_k=(1-c_k)R_k

其中ckc_k是检测置信度,RkR_k是预置协方差。

  1. 关联方式小问题解决
    不同于Deepsort,新方法采用加权求和。

C=λAa+(1λ)AmC = \lambda A_a + (1 - \lambda) A_m

其中λ=0.98\lambda = 0.98是一个自定义权重。
之所以采用新的关联方法,是通过实验发现原来复杂的级联关联方式随着追踪器性能的提升,对关联的干扰却变强了。

StrongSORT++

除了升级以外,本文针对两个问题提出了新的方法和实现。

作者设计该模块的目的是为了解决“关联丢失问题”,即一个目标出现在多个轨迹中,造成该问题的主要原因是数据关联时没考虑全局信息。因此一种直观的解法就是提供长时间的外貌特征存储模块,但这样做的代价是引入了大计算量的网络模块。因此,作者提出一种不需要外貌特征的小型网络AFlink。
基本思路就是每个轨迹存储至多30帧位置信息,两个轨迹分别用网络提取特征为一个向量,两个向量相加再用一个分类器得到关联值。排除明显错误之后,匈牙利算法求解即可。
思考:需要比较该模块的性能影响

GSI

该模块的设计目的是解决检测丢失问题。由于遮挡等原因出现时,检测结果丢失,为了不影响后续追踪效果,往往用方法补上这个检测结果。
常用方法:线性插值(简单但效果差),插值加其它模块(KF等)
本文提出一种高斯过程回归的插值算法。
思考:相较于卡尔曼滤波,这种方法引入了一个随机模型(曲线拟合),后续的预测也可以从这入手修改,把KF换了