多目标跟踪学习小结

1 介绍

多目标跟踪(MOT),因其具有很大的商业潜力,备受研究人员关注。MOT的跟踪对象可以为人,车,动物等等,MOT的任务就是分析视频以识别或跟踪对象是否属于同一类别,并为对象分配ID,给出他们的轨迹。

MOT需要同时跟踪多个目标,不同的目标之间的相互作用,遮挡,相似的外观,进出视野等都为MOT带来了很大的挑战

1.1 MOT分类

  1. 根据初始化方法的不同可以分为:基于检测跟踪(DBT)和无检测跟踪(DFT)。

    DBT:首先检测对象,然后将其连接成轨迹。这种策略通常也称为“检测跟踪”。给定一个序列、特定类型的目标检测或运动检测(基于背景建模),在每一帧中应用以获取目标假设,然后进行(顺序或批量)跟踪,将检测假设连接到轨迹中。需要注意两个问题:1)目标检测器是预先训练好的,所以适用在特定类型的目标上,如行人、车辆或人脸。2)DBT的性能在很大程度上取决于所使用的目标检测器的性能。

    DFT:需要在第一帧手动初始化固定数量的对象,然后在后续帧中本地化这些对象。

    DBT更流行,可以处理新对象和消失的对象。

多目标跟踪学习小结
多目标跟踪学习小结

  1. 根据处理当前帧时的方法可以分为:在线跟踪和离线跟踪。

    在线跟踪也称为顺序跟踪,对图像序列进行逐级处理。在线跟踪方法只依赖当前帧以及过去帧的信息,并没有用到未来帧的信息。

    离线跟踪方法利用一批帧来处理数据,需要提前获得所有帧的观测值,并联合分析以估计最终输出。离线跟踪方法使用了过去和未来的信息。

多目标跟踪学习小结

多目标跟踪学习小结

现在主流的研究方法都是基于目标检测标记处检测框,然后去处理数据关联问题,这实际上说,该研究分为两个阶段,一个是检测,一个是跟踪,由于深度学习的兴起,计算机算力不断增加,涌现出很多优秀的算法;也有学者提出联合两个阶段的研究方法,这种研究方法大大减少了MOT算法运行的总时间

1.2 MOT的构成

一般来说,MOT有四个阶段:

  • 目标检测阶段

通过对每个输入帧进行分析,利用边界框来识别属于目标类的对象

  • 特征提取或者运动预测阶段

一个或多个特征提取算法分析检测和轨迹提取外观、运动或交互特征。运动预测器预测每个跟踪目标的下一个位置。

  • 计算亲和力阶段

特征和运动的预测计算相似性或者距离得分(检测对或者轨迹对)

  • 数据关联阶段

将检测与属于同一目标的tracklets关联起来,将识别同一目标的检测赋给相同的ID

现在已经知道,MOT的主要目的就是从一系列的视频分析中给出类别的的判断和轨迹。那么需要考虑两个问题:1)如何度量同一帧中的对象的相似度?2)如何根据不同帧之间对象的相似度恢复身份信息?第一个问题涉及外观、运动、交互、排斥和遮挡的建模。第二个是推理问题。

1.2.1 外观

外观模型包括两个部分:视觉表示和统计测量。视觉表示使用某些特征来描述一个对象的视觉特征,这些特征可以基于单个线索,也可以基于多个线索。统计测量是计算不同观测值之间的相似性。

  • 视觉表示用不同种类的特征描述一个对象,如光流;协方差矩阵;点特征;基于梯度特征(HOG);深度;颜色特征。通常,颜色直方图是一种很好的相似性度量方法,但是它忽略了目标区域的空间布局。HOG等基于梯度的特征可以描述物体的形状,并且对光照变化等特定的变换具有鲁棒性,但它们不能很好地处理遮挡和形变。区域协方差矩阵特征考虑的信息越多,鲁棒性越强,但这种优势是以计算量较多为代价的。深度特征使亲和力的计算更加精确,但它们需要对同一风景的多个视图和/或额外的算法来获得深度测量。

  • 统计测量计算两个观测值之间的亲和力,可以用一个或者多个线索。利用单个线索对外观进行建模,可以将距离转化为相似度,也可以直接对亲和力进行运算。如在颜色直方图中,使用Bhattacharyya距离计算两个颜色直方图之间的距离,将距离转化为相似度。

    不同种类的线索可以相互补充,使外观模型更加稳健。五种多线索的外观模型:Boosting, Concatenating, Summation, Product, and Cascading。

    Boosting:通过一种基于增强的算法,从特征池中自动选择一部分特征增强。

    Concatenating:不同类型的特征可以被连接起来进行计算。

    Summation:从不同的特征中获取关联值,并用权重来平衡这些值。

    Product:将值相乘,得到集成的亲和力。应用此策略应做独立性假设。

    Cascading:使用各种类型视觉表示的级联方式,要么缩小搜索空间,要么以粗到细的方式建模外观。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PE1Wzzbf-1595857419560)(C:\Users\Mr.Li\Desktop\自己写的综述.assets\image-20200718085012188.png)]

1.2.2 运动

运动模型捕捉物体的动态行为。它估计目标在未来帧中的潜在位置,从而减少搜索空间。运动模型有线性运动模型和非线性运动模型。

  • 线性运动模型基于一个假设:匀速。一般基于三种方法建立模型

    • 速度平滑:通过使连续帧中物体的速度值平滑变化来建模。
    • 位置平滑:直接导致观测位置和估计位置之间的差异。
    • 加速度平滑:除了考虑位置和速度平滑性,还考虑了加速度。
  • 非线性运动模型,有一些线性运动模型无法处理的情况。为此,提出了非线性运动模型,以提高亲和力

多目标跟踪学习小结

1.2.3 遮挡处理

对遮挡的处理可以说是MOT任务最具挑战性的工作,他也是造成ID切换和轨迹破碎的主要原因。当前处理遮挡的办法有:

  • 部分到整体。这个策略基于一个目标的一部分总是可见的假设,这样可以利用可见部分来推断整体的状态。
  • 假设和测试。该策略通过假设建议并根据手头的观察结果对建议进行测试,从而避开了来自阻塞的挑战。顾名思义,该策略由假设和测试两个步骤组成。
  • 缓冲和恢复。该策略在遮挡发生时缓冲观察,并记住遮挡前的对象状态。当遮挡结束时,根据缓冲的观察和遮挡前存储的状态恢复对象状态。

除上述三种策略以外,还有其他的一些策略。

1.2.4 推理问题

  • 概率推理

基于概率推理的方法通常将对象的状态表示为具有不确定性的分布。跟踪算法的目标是在已有观测的基础上,利用各种概率推理方法估计目标状态的概率分布。这种方法通常只需要现有的观测,即过去和现在的观测,因此特别适用于在线跟踪任务。由于只利用已有的观测值进行估计,自然地在对象的状态序列中强加了马尔可夫性假设。这个假设包括两个方面,一是当前状态仅仅依赖于以前的状态,二是对一个对象的观察只与该对象的状态有关。

这些基于概率的模型包括:卡尔曼滤波、扩展卡尔曼滤波、粒子滤波。

  • 确定性最优化

与概率推理方法相反,基于确定性优化的方法旨在找到最大的后验(MAP)解决MOT。为此,推断数据关联、目标状态或两者同时进行的任务通常被转换为一个优化问题。该框架内的方法更适合于离线跟踪任务,因为需要预先提供来自所有帧或至少一个时间窗口的观察结果。给定来自所有帧的观察(通常是检测假设),这些类型的方法努力将属于同一对象的观察全局关联到一个轨迹中。关键问题是如何找到最优关联。

方法有:二分图匹配、动态规划、最大流最小成本网络、条件随机场、最大权独立集(MWIS)。

1.2.4 小结

上述处理办法多种多样,但目的都是为了更好地做数据关联,降低任务中的IDSWs,生成准确的轨迹。在实践中,与概率方法相比,确定性优化或能量最小化更普遍地被使用。虽然概率方法为问题提供了更直观和完整的解决方案,但它们通常难以推断。

1.3 MOT的评价指标与数据集

1.3.1 MOT评价指标

多目标跟踪学习小结
多目标跟踪学习小结

一些指标的计算方法

MOTA=1(Σt(FNt+FPt+IDSWt))/(ΣtGTt)MOTA=1-(Σ_t (FN_t+FP_t+IDSW_t ))/(Σ_t GT_t )

•其中,FN为False Negative,FP为False Positive,IDSW为ID Switch,GT为Ground Truth 物体的数量。MOTA考虑了tracking中所有帧中对象匹配错误,主要是FN,FP,ID Switch。MOTA给出了一个非常直观的衡量跟踪器在检测物体和保持轨迹时的性能,与物体位置的估计精度无关。

MOTP=(Σ(t,i)(t,i))/(ΣtCt)MOTP=(Σ_(t,i) ⅆ_(t,i))/(Σ_t C_t )

•其中,d为检测目标i和给它分配的ground truth之间在所有帧中的平均度量距离,在这里是使用边界框的overlap rate来进行度量(在这里MOTP是越大越好,但对于使用欧氏距离进行度量的就是MOTP越小越好,这主要取决于度量距离d的定义方式);而c为在当前帧匹配成功的数目。MOTP主要量化检测器的定位精度,几乎不包含与跟踪器实际性能相关的信息。

1.3.2 MOT数据集

  • MOTChallenge:最常用的数据集,主要是行人跟踪,并且提供公有检测,MOTA是最重要的指标,当然还有其他的指标。它的数据集提供比较全面,可以提供更多的数据训练模型。
    • MOT15:第一个MOTChallenge数据集,2D,它包含一系列22个视频(11个训练视频和11个测试视频),从旧数据集收集,具有各种特征(固定和移动的摄像机,不同的环境和光照条件)。等等)因此模型需要更好地推广以获得良好的结果。总共包含11283个不同分辨率的帧,1221个不同身份,101345个框。所提供的检测结果是使用ACF检测器获得的
    • MOT16/17:ground truth是从头开始创建的,因此它在整个数据集中是一致的。视频也更具挑战性,因为他们有更高的行人密度。集合*有14个视频(7个用于训练,7个用于测试),使用DPM v5进行公开检测。与其他模型相比,该模型在检测数据集上的行人时获得了更好的性能。数据集包括11235帧,1342个身份和292733个盒子。MOT17数据集包含与MOT16相同的视频。但是有更准确的地面真相和每段视频的三组检测结果:一个来自Faster R-CNN,一个来自DPM,另一个来自规模依赖池检测器(SDP)。
    • MOT19:包含8个视频(4个训练视频,4个测试视频),行人密度极高,在最拥挤的视频中平均每帧有245个行人。数据集包含13410帧,6869条轨迹和总共2259143个盒子,远远超过以前的数据集。
  • KITTI:允许跟踪人和车辆。该数据集是在一个城市里开车时收集的,并于2012年发布。它由21个训练视频和29个测试视频组成,总共约19000帧(32分钟)。包括使用DPM和RegionLets探测器]获得的检测结果,以及立体声和激光信息
  • 其他一些不太常用的数据集
详细解读

•数据集有训练集和测试集,分别放在train和test文件夹中,共有14个视频(7个用于训练,7个用于测试),使用DPM进行公开检测。该模型在检测数据集上的行人时获得了更好的性能。数据集包括11235帧,1342个ID和292733个边界框。

•Train里面的数据比test里面多了grounding truth,具体文件形式为:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vx6K0yJu-1595857419574)(C:\Users\Mr.Li\Desktop\自己写的综述.assets\image-20200727214213305.png)]

•Det目录下的det。txt文件每行如下:

• 1,-1,97,545,79,239,3.1667,-1,-1,-1

•每行10个数字,第一个代表第几帧,第二个代表轨迹编号(在这个文件里总是为-1),后四个为边界框左上角坐标及长宽,然后是置信度,以及3D表示的x,y,z

gt文件夹中的gt.txt内容格式如下: 1,1,1363,569,103,241,1,1,0.86014

•第一个值代表第几帧,第二个值为目标运动轨迹的ID号,第三个到第六个值的同上,第七个值为目标轨迹是否进入考虑范围内的标志,0表示忽略,1表示active。第八个值为该轨迹对应的目标种类(种类见下面的表格中的label-ID对应情况),第九个值为box的visibility ratio,表示目标运动时被其他目标box包含/覆盖或者目标之间box边缘裁剪情况。

•seqinfo.ini文件介绍该视频的基本信息,如帧数,分辨率等。

2 近期读过论文

  • 两篇综述

    • Multiple Object Tracking: A Literature Review(2017)

    这一篇论文是对传统意义上的跟踪算法的一个综述,更多阐释的是what,how,以及why的问题,对初步认识这个研究方向有很好的的引导作用

    • Deep learning in video multi-object tracking: A survey(2019)

    除基本的框架介绍外,这篇文章更多的笔墨在深度学习,包括深度学习在检测,特征提取,运动识别以及相似性计算和数据关联等各个方面的应用,较为全面,但对于不了解各个网络的情况下,如走马观花,炫目但不知颜色

  • SORT和Deep-SORT

    • SIMPLE ONLINE AND REALTIME TRACKING(2016)
    • Simple online and realtime tracking with a deep association metric(2017)
  • 联合处理范式

    • A Unified Object Motion and Affinity Model for Online Multi-Object Tracking(2020)

    UMA模型,利用 SOT 实现表观特征和运动信息的获取,进而实现在线的匹配关联。

    • Towards Real-Time Multi-Object Tracking(2019)

    JDE核心思想是一种联合检测和嵌入向量的模型,即Joint Detection and Embedding model

    允许在共享模型中学习目标检测和外观特征的MOT系统

    • RetinaTrack: Online Single Stage Joint Detection and Tracking(2020)【车辆】

    提出JDE模型,整合detection model和embedding model为一个模型。

  • 不用追踪器的追踪

    • Tracking without bells and whistles(2019)

    有一些物体检测算法中包含通过 regression 的方式进行 边界框refinement 的模块。作者提出使用这种 regressor 来进行 MOT

  • 任务扩展的跟踪

    • Mots: Multi-object tracking and segmentation(2019)

    将目标跟踪扩展到像素级别的跟踪,通常数据集会给定边界框,作者认为不够精细,提出用分割掩码扩展bbox级别的半自动标注方法,并改进了度量指标,纳入每个目标的分割掩码进行评估。提出使用TrackR-CNN作为解决所有MOTS问题的baseline方法。

  • 将SOT集成到MOT中

  • Online Multi-Object Tracking with Instance-Aware Tracker and Dynamic Model Refreshment(2019)

提出了一个实例感知跟踪器来集成SOT技术来实现对目标模型内部和之间的感知编码,会考虑来自所有目标模型的响应映射,并专门分配空间位置以优化总体精度。

通过卷积神经网络学习的动态模型更新策略,有助于消除初始化噪声,适应目标尺寸和外观的变化

  • 构建一个图网络

    • Graph Networks for Multiple Object Tracking(2020)

      构建一个动态的图网络进行跟踪,新颖之处是一个可以考虑全局变量的动态更新的图神经网络

  • 结合检测与跟踪结果选择最佳候选项,处理不可靠检测

    • REAL-TIME MULTIPLE PEOPLE TRACKING WITH DEEPLY LEARNED CANDIDATE SELECTION AND PERSON RE-IDENTIFICATION(2018)

首先使用统一的评分函数来衡量所有的候选项,融合了一个有鉴别力训练的对象分类器(Real-Time Object Classification)和一个设计良好的跟踪器置信度(Tracklet Confidence ), 以制定评分函数。

然后非最大抑制 (nms) 随后与估计的分数一起执行。在获得没有冗余的候选项后, 我们使用外观表示和空间信息, 将现有轨道与所选候选项分层关联。

(1)利用深部神经网络来解决不可靠的检测和类别内的遮挡问题

(2)将检测和跟踪结果结合起来, 并基于深层神经网络选择最佳候选项,来处理在线跟踪中的不可靠检测问题。

(3)提出了一种分层数据关联策略, 该策略利用空间信息和深入学习的人员重新识别 (reid) 特征。

  • 成本流网络方法

    • MULTI-OBJECT TRACKING BY VIRTUAL NODES ADDED MIN-COST NETWORK FLOW(2017)

      提出了一种虚拟缺失检测和Oc- clusion模型(VMOM)。VMOM生成虚拟节点,代表遮挡和缺失检测。指出轨迹的规则节点与虚拟节点一起用于建立成本流网络

      提出了一种反嵌入迭代最短路径算法,有效地解决了新的网络流优化问题。

  • 基于多类分类和聚类的多目标跟踪算法

    • A Classification and Clustering Method for Tracking Multiple Objects(2018)

      提出了一个联合分类方法来跟踪每一个对象作为一个类

      首先,采用一种离线的方法来生成tracklet,并使用tracklet关联框架对它们进行分类和聚类

      其次,为了确定每个tracklet簇的身份,将其构造为一个带有贝叶斯约束的多类分类问题,并使用高斯模式类算法进行求解