OC-Sort

  • 常规追踪器基于卡尔曼滤波(KF)和多目标追踪(MOT)方法假设物体线性移动。这种常规方法在短期遮挡是可以接受的,但在长时间的遮挡会导致运动的线性估计非常不准确。并且先验状态估计进行后验更新会导致遮挡期间误差积累。
  • OC-SORT对遮挡期间的噪声积累进行适当处理,基本的KF仍能进行最先进的跟踪性能。
  • 与依赖线性状态估计(估计中心的方法)不同,使用了物体的观测值(通过物体检测器的测量)来计算遮挡期间的虚拟轨迹,修正遮挡会期间滤波器参数的误差累积。
  • 这允许在更多的时间步长上纠正遮挡期间的误差,基于此方法观测的SORT(OC-SORT)。
  • 保持了简单、在线、实时的特点,在遮挡和非线性运动期间提高了鲁棒性。
  • 在给定线程的检测输入的情况下,OC-SORT在单个CPU上以700+FPS的速度运行。
  • 在MOT17、MOT20、KITTI、head tracking和DanceTrack上取得了先进的表现

GitHub - noahcao/OC_SORT

Introduction

  1. 指出了线性运动中,sort所使用的KF的局限性。
    1. 高帧率视频的连续帧之间,物体位移的噪声量级可能与实际物体位移相当,从而导致KF估计物体速度存在显著差异。(帧率高,所以运动更线性,但也放大了突变对于估计的干扰)
    2. 当没有观测值可用于KF时,KF状态估计噪声会随时间累积。噪声累积后即使重新关联,轨迹仍会丢失。
    3. 随着现代检测器的发展,物体状态检测器通常比滤波器通过固定的状态转移函数沿时间步长传播的状态估计更具有更低的方差。sort的设计是通过状态估计而非观来延长物体的轨迹。
  2. OC-SORT的创新点
    1. 设计了一个模块,利用物体状态观测来减少在跟踪丢失期间累计的误差。——观测的重新更新(ORU)
    2. 提出了一种观测方式,将轨迹方向的一致性融入到关联的代价矩阵中。——基于观测的动量(OCM)
  1. 运动模型
    • 多目标检测常使用基于贝叶斯的运动模型,通过最大化后验估计来预测下一个状态。最经典的运动模型之一的KF是一个递归的贝叶斯滤波器,它遵循经典的预测-更新循环。KF假设真实状态是一个未观测的卡尔曼滤波器,测量值是一个隐藏马尔可夫模型中的观测值。线性运动假设限制了KF,后续的处理非线性的KF变体仍依赖于KF所假设的高斯先验,并需要假设运动模式。
    • 另一方面,粒子滤波器通过基于采样的后验估计来解决非线性运动问题,但需要指数级的计算量。
    • 因此,这些KF的变体和粒子滤波器在MOT中很少被采用,最常用的仍然基于KF
  2. 多目标追踪
    • 作为一个经典的计算机视觉任务,视觉多目标跟踪传统上从概率角度进行处理,例如联合概率关联。
    • 现代视频目标跟踪通常建立在现代目标检测器的基础上。SORT采用KF进行基于运动的多目标跟踪,使用来自深度检测器的观测值。DeepSORT进一步引入了深度视觉特征用于目标关联,依托于SORT框架。
    • 自此之后,基于重识别的目标关联变得流行起来,但在场景拥挤且物体用初略方式表示或物体外观不易区分时,效果不佳。
    • 最近,transformer被引入到MOT中,用于时间信息和目标轨迹中学习深度表示。然而,在准确性和时间效率方面,他们的表现与最先进的基于检测的跟踪方法仍然有显著差距

Rethink the Limitations of SORT

  • KF是一个用于动态系统的线性估计器,系统在时间域中被离散化。KF只需要前一个时间步长的状态估计和当前的测量值,就可以估计下一个时间步长的目标状态。

  • 滤波器维护两个变量,即后验状态估计x和后验估计协方差矩阵P。在目标跟踪任务中,我们使用状态转移模型F、观测模型H、过程噪声Q和观测噪声R来描述KF过程。在每个时间步t,给定观测 zt,KF按照预测和更新阶段交替进行:

image-20240925143449548