Multiple Object Tracking:多目标跟踪综述

先给出编辑markdown的教程,供日后参考:https://www.zybuluo.com/mdeditorhttps://www.zybuluo.com/codeep/note/163962



多目标跟踪综述


本文内容目录:

摘要

本篇博客是多目标跟踪最综合、最新的资讯,尽可能提供最全面的介绍。内容主要包括以下三条:1)多目标跟踪的介绍2)多目标跟踪的算法知识3)有的公开实验与结果对比

1. 介绍

多目标跟踪(Multiple Object Tracking or Multiple Target Tracking, MOT or MTT)是对视频中多个感兴趣目标同时定位与跟踪,维持轨迹,记录ID。作为计算机视觉中一项中级任务,多目标跟踪需要依赖高级任务来完成,如姿态估计,动作识别,行为分析等。它的应用可以是视频监控,人机交互,虚拟现实。与之相对的单目标跟踪(Single Object Tracking,SOT)主要是针对复杂的外观模型或运动模式,解决具有挑战性的尺度变化,旋转,光照变化等。MOT还多了两个任务:确定目标的数量(会随时间变化);维持目标ID。
需要考虑的MOT中存在的问题有:1)频繁遮挡;2)轨迹初始化与终止;3)相似的外观;4)多目标间的相互影响。

2. 算法知识

  • 2.1Formulation)
    通常,多目标跟踪可以认为是多变量估计问题,目的是找到所有目标 “最好的” 状态序列。一般是通过最大后验概率估计法求解得到。

    • -2.1.1 初始化方法
      根据如何初始化分为:Detection-Based Tracking(DBT) 和Detection-Free Tracking(DFT)。
      Multiple Object Tracking:多目标跟踪综述
      DBT:如图1上层所示,首先检测目标,然后链接到轨迹中。这种策略也通常被称为“tracking-by-detection”。给定一个序列,在每帧中进行特定类型的目标检测或运动检测(基于背景建模,得到目标假设, 然后进行顺序或批量跟踪,将检测假设连接到轨迹中。有两个问题值得注意:第一,由于提前训练目标检测器,DBT大部分关注特定的目标类型,如行人、车辆或人脸。第二,DBT的性能非常依赖于所采用的目标检测器的性能。
      DFT:如图1下层所示,DFT需要在第一帧手动初始化一定数量的目标,然后在后续帧定位这些物体。
      相对来说,DBT更受欢迎,因为它可以自动发现新目标、自动终止消失的目标。而DFT就不能处理新目标出现的情况,但它不需要提前训练目标探测器。表3列出了DBT和DFT之间的主要差异。
      Multiple Object Tracking:多目标跟踪综述

    • -2.1.2 处理模式
      MOT分为OnLine跟踪与OffLine跟踪,Online用到的帧是直到当前帧的前面帧信息,Offline则可以用到未来帧信息。
      Multiple Object Tracking:多目标跟踪综述
      Online跟踪:在online跟踪中,图像序列是一步步处理的因此该跟踪方式也称序列跟踪。如图2上层所示,a,b,c三个圈表示三个不同的目标,绿色箭头表示过去的观测目标,其结果由目标的位置和ID表示。
      Offline跟踪:Offline跟踪利用一组帧来处理数据。如图2下层所示,来自所有帧的观测目标需要提前获取,然后经分析计算组成最后的输出。注意到由于计算复杂度和内存限制,不总是一次性处理所有帧,而是考虑将数据分成几个短一点的视频,对于每组分层或顺序处理得到结果。表4列出了两类处理模式的不同。
      Multiple Object Tracking:多目标跟踪综述

    • -2.1.3 输出类型
      这个标准根据输出的随机性将MOT方法分成基于决策的和基于概率的。基于决策的跟踪输出无论运行多少次都是恒定的,而基于概率的跟踪每次运行都可能产生不同输出结果。

  • 2.2
    在设计MOT算法的时候有两个问题需要考虑:一个是怎样测量帧内目标的相似性,另一个是基于这个相似性怎样判断帧间目标是否相同。前者主要包括外观,运动,交叉,排斥和碰撞的建模问题,后者主要和数据关联有关。
    外观是计算相似度(affinity)的重要途径,从技术上可以将外观模型分为视觉表示统计测量,视觉表示基于单特征或多特征来描述一个目标,统计测量是计算不同目标间视觉表示的相似性。例如目标i和j间的相似性可以写成:S(i,j) = F(Oi, Oj),其中Oi与Oj是不同观测目标的视觉表示,F(·,·)是测量它们相似性的函数。

    • -2.2.1 视觉表示
      Local feature: 光流法,许多MOT方法在进行数据关联前都会利用光流法来生成短轨迹(tracklets),又由于光流法与运动息息相关,它也常用来对运动信息编码,还有一类特殊的应用是在拥挤场景中寻找人群运动规律,这是其他特征所不能做到的。
      Region feature:颜色直方图,HOG,区域协方差矩阵。
    • -2.2.2 统计测量
      单个特征;多个特征的结合。
  • 2.3
    一种比较流行的方法是:将全局目标(类似于一个Bounding box)分割成几个部分,然后对每个部分计算相似度,被遮挡了的相似度权重减小,没被遮挡的地方相似度权重增大。

  • 2.4
    概率预测方法通常将目标状态作为不确定的分布,而跟踪算法的目的是基于现有的观测目标,用多种概率学方法去估计那个概率分布。这类算法通常只需要过去或现在的观测目标,所以它也特别适合online跟踪。因为只有现存的观测目标才被用于估计。
    多种多样的概率预测模型被用在多目标跟踪中,例如卡尔曼滤波和粒子滤波等。
    卡尔曼滤波:适用于线性系统和服从高斯分布的目标状态。
    扩展卡尔曼滤波:通过泰勒展开估计,进一步适用于非线性系统。
    粒子滤波:基于蒙特卡罗采样的模型,用一组有权重的粒子来对分布建模,从而通过改变自己的分布得到任意的假设。

  • 2.5

    • -2.5.1 检测指标
      准确度(Accuracy):常用召回率和精度指标以及每帧平均误报率(False Alarms per Frame, FAF)作为MOT指标[1]。也使用False Positive Per Image(FPPI)评价检测性能。多目标检测的准确性(Multiple Object Detection Accuracy, MODA),一个全面的评估标准,将误检和漏检的相对数纳入考虑范围。
      精度(Precision):多目标检测精度(Multiple Object Detection Precision, MODP)测量的是检测目标和ground truths之间的误差。
    • -2.5.2 跟踪指标
      准确度(Accuracy):它度量算法跟踪目标的准确程度。多目标跟踪的准确性(MOTA)将false positive率、false negative率和错配(mismatch)率结合成一个单独的数,对整体的跟踪性给出一个比较合理评估。尽管仍有一些弊端,但这是目前最普及的MOT评估方法。
      精度(Precision):三个指标,多目标跟踪精度(MOTP),跟踪距离误差(TDE)和OSPA。它们描述了通过bounding box重叠和/或距离来测量目标跟踪的精确程度。
      完整性(Completeness):完整性度量指的是ground truth trajectories被跟踪的完整度。大多数跟踪(Mostly Tracked, MT)、部分跟踪(Partly Tracked, PT)、大部分丢失(Mostly Lost, ML)和分段(Fragmentation, FM)的数量属于这一组。
      鲁棒性(Robustness):通过从遮挡中恢复出来的能力来评估MOT算法的度量标准,从短期遮挡恢复(Recopver from Short-term occlusion, RS)和长期遮挡恢复(RL)。

3. 总结

即使已经研究了几十年的MOT问题,它仍然存在着许多发展的机会。

MOT with video adaptation:视频自适应,当前大多数MOT方法需要离线训练的目标检测器,然而这就有一个问题:对于特定视频的检测结果可能不适用于给定的视频,这常常限制了多目标跟踪的性能。所以需要重新定制目标检测器来提高性能,通过逐步细化通用行人检测器,使通用行人检测器适应特定的视频。这也是改进MOT方法预处理阶段的一个重要方向。

MOT under multiple cameras:多摄像机。多摄像头的配置有两类:第一个是多摄像头记录同一个场景,即多视角。然而,这个设置的关键问题是如何融合来自多个摄像机的信息。第二个是每个摄像机记录一个不同的场景,即一个不重叠的多摄像机网络。在这时,多摄像头间的数据关联就成为了一个再识别(reidentification)问题。

Multiple 3D object tracking:三维多目标跟踪,当前大多数方法都集中在2D下的多目标跟踪,即在图像平面上,包括多摄像头的情况。3D跟踪,可以提供更准确的位置,大小估计和高层计算机视觉对于遮挡的有效处理。然而,3D跟踪需要相机校准,或为了摄像头姿态估计和场景布局而需要克服其他困难。同时,三维模型设计是另一个需要考虑的问题。

MOT with scene understanding:场景理解,例如在高峰时期的地铁车站和公共场所的游行示威。在这种情况下,大多数目标是小的和/或被大面积遮挡的,因此很难进行跟踪。场景理解的分析结果可以提供上下文信息和场景结构,如果将其更好地融入到MOT算法中,将有助于跟踪问题的解决。

MOT with deep learning:深度学习,深度学习模型已成为处理各种视觉问题的非常强大的框架,包括图像分类,目标检测,单目标跟踪。对于MOT问题,深度学习模型提供的强大的目标检测模型可以显著提高跟踪性能。尽管最近已经开始尝试使用连续神经网络进行在线MOT,但关于使用深度神经网络来进行目标关联问题的formulation和建模仍需要投入更多的研究。

MOT with other computer vision tasks:其他计算机视觉任务,虽然多目标跟踪是服务于其他高层次的计算机视觉任务,但也存在这样的趋势:将一些彼此能优势互补的计算机视觉任务结合起来以解决MOT问题。可能的组合包括目标分割,行人再识别,行人姿态估计和动作识别。

除了以上的未来方向外,由于目前的MOT的研究主要集中在监控场景中跟踪多个行人,所以关于其他类型的扩展也是不错的研究方向,例如目标可以是汽车、动物等,场景可以是交通场景,航拍等。因为在不同情况下的不同类型的目标跟踪问题的设置和难度有可能是完全不同的。

4. 可学习的资源及代码

一个列举了MOT近些年文章的github资源

简单、在线的实时多目标视频跟踪github资源; 还有它的提升版

不同MOT跟踪算法的分类github资源

MOT数据集的介绍


本文参考:
https://blog.csdn.net/yuhq3/article/details/78742658
https://arxiv.org/abs/1409.7618