MOT:多目标跟踪总结与思考

2021-07-19 14:51:10 浏览数 (1)

Task

多目标跟踪(MOT)是一种常见的计算机视觉任务,任务要求检测到连续视频帧中的目标,并为每一个目标分配一个track id,这个id在视频序列中具有唯一性。 多目标跟踪任务在带有时序性质的任务中扮演着重要的角色,因为它为检测的结果建立了时序上的关联,比如动作识别任务,比如车辆的movement判断等等,都需要以多目标跟踪为基础。

所以多目标跟踪的任务性质决定:

  • MOT需要和目标检测强关联,同时检测器的性能很大程度上影响了MOT的性能
  • MOT是检测的下游任务,需要以检测器作为基础

虽然现在MOT的算法非常多,同时衍生出各种各样的形式,它们不见得清晰的体现着先检测再跟踪匹配的上下游关系,但是由任务性质决定着,多目标跟踪器总会做目标检测。

Benchmark

  • MOT challenge
  • TAO
  • BDD100K
  • Waymo
  • AICity
  • AOT

Methodology

一个多目标跟踪器总是可以拆解为三个部分:

  • detection:检测目标在图像中的位置与类别
  • motion:预测当前帧的目标在目标帧的位置
  • matching:匹配当前帧和目标帧的多个目标

检测总是多目标跟踪器中不可代替的,无论他以哪种形式存在,抛开检测的部分,我们可以把多目标跟踪器分为五个类型:

  • no motion,weak matching
  • weak motion,weak matching
  • weak motion,strong matching
  • strong motion,weak matching
  • strong motion,strong matching

no motion也就是没有使用任何的运动估计方法,weak motion一般可以指卡尔曼滤波,strong motion一般采用光流,SOT等利用图像信息进行运动估计,weak matching指简单的使用匈牙利算法直接进行匹配,而不是用其他逻辑,strong matching指在匈牙利匹配的基础上增加很多其他策略,比如reid的特征,甚至是可以训练的匈牙利算法。 上述内容中描述的weak与strong的概念,指的是方法对于这部分的侧重,而不反应性能好坏,所以并不是说strong motion,strong matching的方法,性能就是最优的。

no motion,weak matching

没有任何运动估计,且匹配策略非常简单的多目标跟踪方法,其实是大部分人都可以直接想到的,就是用IOU计算二部图的权重,用匈牙利算法去匹配。 比较有代表性的paper是: High-Speed Tracking-by-Detection Without Using Image Information

weak motion,weak matching

后续一些方法将卡尔曼滤波引入到MOT任务中,其中比较著名的一篇就是,SORT:SIMPLE ONLINE AND REALTIME TRACKING,SORT为多目标跟踪方法奠定了比较完善的基础,它使用卡尔曼滤波器建模一个目标的运动状态,x,y,w,h的变化率等等,经过若干次迭代学习,这个状态模型可以估计出当前帧的目标在下一帧的位置。 而匹配的二部图,也是预测位置与当前检测位置的距离矩阵,不在是前一帧的位置。

weak motion,strong matching

再次发展的多目标跟踪算法中,继续沿用的了卡尔曼滤波的运动估计,但是优化了匹配的过程,最著名的改进就是DeepSort:Simple online and realtime tracking with a deep association metric ,将reid特征进入到匹配中,用以匹配的二部图矩阵也不仅仅只有iou距离矩阵,还有特征的距离矩阵。DeepSort也是工业界中使用最为广泛的一种方法,它的结构是最为简单清晰的,各个模块组合使用,却可以发挥不错的效果。 而过去一段时间比较流行的fairmot,JDE等算法,其实本质上没有脱离DeepSort的结构,只是把特征提取和检测整合到一起使用,依然是卡尔曼滤波的运动估计和reid为主的匹配。 fairmot:A Simple Baseline for Multi-Object Tracking JDE:Towards Real-Time Multi-Object Tracking 除此之外,在JDE,fairmot的基础上,QDTrack:Quasi-Dense Similarity Learning for Multiple Object Tracking提出除了利用检测到目标进行匹配之外,还可以利用更多全局的信息,比如检测器的区域建议结果。

strong motion,weak matching

想要不使用卡尔曼滤波预测前一帧在目标帧中的位置,还可以有很多其它的方法,比如SOT的引入,光流法,RPN重新回归位置,甚至是网络直接输出offset等等,我们将这类的方法归结为strong motion,而weak matching是因为,为了凸显运动估计的优越性,这些paper都会强调,只是使用简单的匈牙利匹配就可以达到很好的性能。 由于其结构的多样性和新颖程度,这类的方法也是多目标跟踪中比较多的。 tracktor :Tracking without bells and whistles将当前帧的检测结果作为区域建议,回归下一帧的位置,完成运动估计。 CenterTrack:Tracking Objects as Points传入当前帧位置,当前帧图像与下一帧图像,直接end-to-end的输出offset,完成运动估计。 SiamMOT使用单目标跟踪器预测当前帧到下一帧的位置。SiamMOT: Siamese Multi-Object Tracking FFT:Multiple Object Tracking by Flowing and Fusing则使用两帧间的光流进行运动估计

strong motion,strong matching

最后一类则是运动估计与匹配过程都有侧重,它就是DeepMOT:How To Train Your Deep Multi-Object Tracker,其实paper更侧重于匹配的过程,提出end-to-end的多目标跟踪方法,而不是使用匈牙利进行匹配,因为匈牙利是不可微的,也就没办法参与训练。 但是为了做到end-to-end,DeepMOT同样使用了SOT进行运动估计,当然它的SOT引入的不如SiamMOT这个优雅。

References

  1. High-Speed Tracking-by-Detection Without Using Image Information
  2. SIMPLE ONLINE AND REALTIME TRACKING
  3. Simple online and realtime tracking with a deep association metric
  4. A Simple Baseline for Multi-Object Tracking
  5. Towards Real-Time Multi-Object Tracking
  6. Quasi-Dense Similarity Learning for Multiple Object Tracking
  7. Tracking without bells and whistles
  8. Tracking Objects as Points
  9. SiamMOT: Siamese Multi-Object Tracking
  10. Multiple Object Tracking by Flowing and Fusing
  11. How To Train Your Deep Multi-Object Tracker

0 人点赞