多目标跟踪算法可以分类两类:在线法和全局(批处理)方法。在线方法逐帧处理,适应大多数实际应用的需求;而全局方法考虑整个时间范围内的所有检测,具有更高的数据关联精度。在求解时,以往的工作会着眼于特征度量或关联模型。

NMOT 不片面追求高精度,而是从实际出发:

  • 设计一种精确的亲和性度量以关联检测;
  • 实现高效且准确的(近似)在线多目标跟踪算法。

首先,NMOT 引入了一种新颖的聚合局部流描述符(Aggregated Local Flow Descriptor, ALFD),该算法使用长期兴趣点轨迹(long term interest point trajectories, IPT)来编码两个时间帧中检测框之间的相对运动模式。尽管每个单独的 IPT 可能有错误,但它们共同提供了强大的信息来比较两个检测。通过一个学习模型,作者观察到 ALFD 提供了强大的亲和力度量,从而为关联算法提供了可靠的线索。

多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法


图 1. 边界框距离和外观相似度是多目标跟踪文献中常用的亲和性度量。但是,在拥挤的现实场景中,它们通常难以成功区分相邻或相似的目标。然而,光流轨迹提供了更可靠的方法来比较跨时间的不同检测。尽管个别轨迹可能不准确(多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_02 线),但它们共同提供了强大的信息来衡量亲和性。NMOT 提出了一种新颖的聚合局部流描述符,该描述符在多目标跟踪问题中可靠地利用了光流。该图最好用彩色显示。

其次,文章提出了一种近似在线多目标跟踪(Near-Online Multi-Target Tracking, NOMT)算法。将跟踪问题描述为时间窗口中目标与检测之间的数据关联,在每一帧重复执行。NMOT 通过将 ALFD 度量、目标动力学、外观相似性和长期轨迹正则化在内的多个线索集成到模型中来实现鲁棒性。并且 NMOT 能够实时运行(多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_03 FPS )。 在每个时间帧 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_04 中, NMOT 求解目标与大小为 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_05 的时间窗口 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_06

多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_07

图 2. NMOT 算法使用时间窗口 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_05 在每个时间帧 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_04 处解决全局关联问题。实心圆表示关联的目标,虚线圆表示未观察到的检测,虚线表示在时间窗口之前的最终目标关联,实线表示在当前时间范围内进行的(活动)关联。由于观测量有限,跟踪算法可能会在 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_10 处产生错误关联。然而一旦在 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_11 处提供了更多的观察结果,算法便能够修复 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_10 所产生的错误。此外,NMOT 方法能动态识别新目标(多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_13

Data Association Models

给定长度为 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_14 的视频序列 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_15 和一组检测假设 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_16,其中 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_17 由帧号 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_18、边界框 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_19 以及分数 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_20 参数化,多目标跟踪试图找到一个连贯的目标集合(关联)多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_21,其中每个目标 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_22 由一组出现期间的检测索引表示(例如,多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_23); 即 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_24

  • 在线算法[5, 7, 10, 20, 27]的构想是寻找现有目标与当前时间帧中检测之间的关联:多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_25
  • 全局算法常将跟踪表述为网络流问题,以直接从检测假设中获得目标[KSP, 28, MCF],即 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_26;或采用迭代算法,逐步完善目标关联[2, 18, OLDAM, OM+APP],即 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_27,其中 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_28
  • NMOT 提出了一个新的框架来填补在线算法和全局算法之间的空白:在每个时间帧 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_29多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_30,其中 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_31

NMOT 算法的表现与在线算法类似,因为它在每个时间帧中输出关联。关键的区别在于,一旦有了更多的观察结果,过去所做的任何决定都可能会发生变化。使用新提出的全局关联算法可以解决每个时间窗口中的关联问题。所提方法还使人联想到迭代全局算法,因为迭代地增加轨迹(每帧一次迭代)时考虑到多个帧,从而可以提高关联精度。

Aggregated Local Flow Descriptor

给定兴趣点轨迹[31],ALFD 在时间距离(多目标跟踪TBD 多目标跟踪算法轻量化_描述符_32)内对两个边界框之间的相对运动模式进行编码。ALFD 的主要直觉是,如果两个框属于同一目标,那么我们将在框的相对位置观察到许多支持 IPT。为了使其对检测中的细微定位误差、目标方向变化以及 IPT 中的异常值(误差)具有鲁棒性,NMOT 使用空间直方图构建 ALFD。 一旦获得了 ALFD,NMOT 将使用学习到的模型参数 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_33 和 ALFD 的线性乘积来度量两个检测之间的亲和力,即 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_34

Interest Point Trajectories

NMOT 使用局部兴趣点检测器[4, FAST]和光流算法[4, 11]获得兴趣点轨迹。该算法旨在结合各种众所周知的计算机视觉技术来生成一组长而准确的点轨迹:

  • 给定图像 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_35NMOT 运行 FAST 兴趣点检测器[4, FAST]来识别要跟踪的“好点”。
  • 为了避免冗余点,算法计算新检测到的兴趣点与现有 IPT 之间的距离,并使新点与现有 IPT 保持足够的距离(多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_36
  • 对于 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_37 中的所有 IPT,使用[4, 11]计算前向(多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_38)和反向(多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_39)光流。反向流的起点由向前流的终点给出。终止在两者之间有较大分歧(多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_40

ALFD Design

首先定义讨论 ALFD 的必要符号。多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_41 表示具有唯一 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_42 的 IPT,该 IPT 在存在期间由像素位置 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_43 参数化 。多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_44 表示帧 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_04 处的像素位置。如果 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_46 不在帧 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_04 中(终止或未启动),则返回 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_48

首先通过汇总位于 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_17 框内且在帧 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_50 仍存在的 IPT 信息,来定义单向 ALFD 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_51,即从 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_17多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_53。形式上,将 IPT 集定义为
多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_54

对于每个 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_55,通过
多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_56
计算每个 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_46多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_18 的相对位置 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_59。类似地计算 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_60。请注意,多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_61 被限制在 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_62 之间,但是 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_60 未受限制,因为 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_46 可以位于 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_53

给定 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_61多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_60,计算相应的空间网格 bin 索引,如图 3所示,并累积计数构建描述符。ALFD 为 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_61 定义了 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_69 网格,为 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_60 定义了 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_71 网格,其中最后的 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_72 区间对应检测之外的区域。第一个外区间定义检测的邻域(多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_73),第二个外区间表示其他更远的区域。

多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_74


图 3. 单向 ALFD 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_51 的示意图。顶部图中将检测结果显示为彩色边框(多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_76, 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_77多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_78)。一对具有连接线的圆圈表示 IPT,它们同时存在于 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_04多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_80 帧中,并且位于 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_04 帧的 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_76 内部。图中绘制了准确的(多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_83)、离群值(多目标跟踪TBD 多目标跟踪算法轻量化_描述符_84)和错误的(多目标跟踪TBD 多目标跟踪算法轻量化_描述符_85)IPT。底部图中显示了两个单向 ALFD 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_86 示例,分别为 (多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_76, 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_77) 和 (多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_76, 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_78)。多目标跟踪TBD 多目标跟踪算法轻量化_描述符_85 网格(多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_92)表示 IPT 在 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_04 帧中相对于 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_76 的位置。每个 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_85 区域中的 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_96多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_83 网格显示 IPT 在 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_98 帧中相对于相应框的位置(多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_99 个外部区域)。网格中 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_85 盒子表示在相同的相对位置中观察到的 IPT。凭直觉,在网格中观察到的 IPT 越多,两次检测属于同一目标的可能性就越大。相反,外部区域将为错误匹配提供更多的支持。为了避免混乱,插图使用 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_101 网格显示。在实践中使用的是 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_102

通过一对单向 ALFD,将 ALFD 定义为
多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_103

其中 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_104 是正规化子。 正规化子 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_105

多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_106
其中 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_107 是 IPT 的计数,而 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_108 是常数。多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_108 确保当有更多支持 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_110 时,ALFD 的 L1范数增加并且收敛到 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_111 。实际中令 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_112

Learning the Model Weights

作者使用加权投票方式从训练数据集中学习模型参数 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_33。给定一组检测 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_114

  • 首先将 GT 目标 id 分配给每个检测。对于每个检测 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_115,测量其与 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_116 帧中所有 GT 框的重叠。如果最佳重叠 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_117 大于$ 0.5 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_118id_i$);否则,将分配 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_119
  • 从所有正检测( 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_120)的检测中收集一组检测 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_121。对于每一对,按如下方式计算边距 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_122
    多目标跟踪TBD 多目标跟踪算法轻量化_描述符_123
    直观地,如果两次检测均来自同一目标,则 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_122 应为正值;如果 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_115多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_126 来自不同的目标,则 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_122应为负值。幅度由定位精度加权。
  • 给定所有的对和边距,学习模型 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_128 如下:
    多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_129
    在所有 ALFD 模式上计算带符号的加权平均值,其中权重由目标和检测之间的重叠确定。直观地讲,检测之间的 ALFD 模式若与 GT 很好地匹配,则对模型参数的贡献更大。

加权投票方法的优点是 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_33 中的每个元素都以 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_131 为界,从而 ALFD 度量 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_132 也在 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_131 区间,因为 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_134。图 4显示了使用上述方法学习的两个模型。可以采用其他学习算法,例如 LIBSVM

多目标跟踪TBD 多目标跟踪算法轻量化_描述符_135


图 4. 两个学习到的模型权重 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_136多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_137 的可视化。在明亮的(白色)区域中具有较高的 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_138

Properties

本节讨论 ALFD 相似性度量 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_132

  • 首先,与外观或空间度量不同,ALFD通过 IPT 隐式利用 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_140多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_141 时段所有图像中的信息。由于使用相邻像素信息计算光流,因此 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_142 会随着感受野的增加而对所有支持图像信息进行编码。
  • 其次,由于 ALFD 设计的集体性,它可以在任意时间长度内提供强大的亲和力度量。与外观或空间度量相比有明显的好处,特别是在较长的时间距离上(有关分析,请参见实验5.1节)。
  • 第三,它通常适用于任意场景(静态或移动摄像机)以及任意目标类型(人或汽车)。
  • ALFD 的一个缺点是当发生遮挡时会变得不可靠。当目标发生遮挡时,起始于目标的 IPT 倾向于粘附在遮挡者上。它促使作者结合在5.1节中讨论的目标动力学信息。

Near Online Multi-target Tracking (NOMT)

算法采用近似在线多目标跟踪框架,在每个时间帧中更新并输出目标 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_143,同时考虑到时间窗口 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_06 中的输入。NMOT 通过假设生成和选择方案来实现。为了便于讨论,这里定义干净目标 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_145,不包含 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_146

给定 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_147 中的一组检测和干净目标 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_148,为每个目标 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_149 以及新进入目标生成多个目标假设多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_150 ,其中 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_48(空假设)表示目标的终止,每个 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_152 表示 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_147 中与目标关联的一组候选检测(4.3节)。 每个 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_152 可能包含 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_155多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_05 个检测(每帧可能有 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_155多目标跟踪TBD 多目标跟踪算法轻量化_描述符_111

给定所有现有和新目标的假设集,该算法使用图模型(4.3节)为所有目标(每个目标一个)找到最一致的一组假设(MAP)。作为关键特性,NMOT 能够修正在先前时间帧中产生的任何关联错误(对于时间窗口 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_159

Model Representation

在详细介绍每个步骤之前,先讨论基础模型表示。将该模型表述为一个能量最小化框架:
多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_160
其中 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_161 是整数状态向量,指示为相应目标选择了哪个假设,多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_162 是所有假设的集合 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_163,而 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_164 是一组选定假设 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_165。解决优化问题时,可以通过使用选定的假设 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_166多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_148 进行扩展来唯一标识更新的目标 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_143。 后文隐去 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_169多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_170,以避免方程式混乱。能量定义如下:
多目标跟踪TBD 多目标跟踪算法轻量化_描述符_171
其中 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_172 编码单个目标的运动、外观和 ALFD 度量一致性,而 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_173 表示不同目标之间的排他关系(例如,没有两个目标共享同一检测)。如有新进目标的假设,则将相应目标定义为一个空集 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_174

Single Target Consistency

该势函数度量假设 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_175 与目标 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_176

多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_177

多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_178 使用 ALFD 相似性度量和目标动态特性(5.1节)编码每个检测 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_17 在目标假设 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_180

多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_181 使用 ALFD 度量 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_180(5.2节)内检测之间的成对兼容性(假设的自我一致性)。

最后,多目标跟踪TBD 多目标跟踪算法轻量化_描述符_183

Mutual Exclusion

该势函数避免选择两个在图像平面上具有较大重叠(排斥力)的目标以及检测的重复分配。
NMOT 没有像匈牙利算法中那样使用“硬”排除约束,而是使用“软”代价函数来提高灵活性并简化计算。如果单目标一致性足够强,则可以克服软惩罚成本。同样,这种表述使得有可能重新使用在第4.3节中讨论的流行图推理算法。势能可以写成如下:
多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_184

其中 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_185 在时间点 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_186 给出假设 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_187 的相关检测(如果没有,返回 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_48),多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_189 ,并且 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_190 是一个指标函数。式中前者惩罚假设之间有太多重叠,而后者则惩罚检测的重复分配。实验中使用 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_191多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_192(足够大以避免重复分配)。

Hypothesis Generation

在实际中 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_162 的空间很大,因此无法对上述目标函数进行直接优化。 为了应对这一挑战,NMOT 首先针对每个目标分别提出了一组候选假设 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_194(图 5 (b)),然后使用 CRF 推理算法找到一个相干解(coherent solution, MAP)。

多目标跟踪TBD 多目标跟踪算法轻量化_描述符_195


图 5. NMOT 算法的示意图。(a)给定一组现有目标 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_196 和检测 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_170,(b)使用小轨迹 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_198 生成一组候选假设 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_162。使用假设构建 CRF 模型,(c)使用推理算法选择最一致的解 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_161,并且(d)通过用解 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_166 扩展先前的目标 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_196 来获得输出目标 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_203。 详情见正文。

由于所有后续步骤都取决于生成的假设,因此拥有一套全面的目标假设至关重要。 NMOT 使用 tracklets 生成现有目标和新目标的假设。注意,由于独立生成每个目标的假设集,因此可以并行执行以下步骤。

Tracklet Generation

对于所有确定的检测(多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_204),使用 ALFD 指标 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_205

  • 从某个检测轨迹多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_206 开始,通过贪心算法添加最佳匹配检测 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_207 来增加轨迹,使得 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_208,其中 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_209多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_210 中不包括 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_211
  • 如果最佳 ALFD 度量低于 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_212多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_211 已满(检测到 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_214
  • 此外,从 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_215 中的每个 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_216 中提取剩余检测,以获得额外的轨迹(即 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_217)。
  • 由于可以有相同的小轨迹,因此在输出集合 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_218

Hypotheses for Existing Targets

由轨迹集合 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_219 为每个现有目标 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_220 生成一组目标假设 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_221。为了避免不必要的大量假设,这里采用门控策略:

  • 对于每个目标 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_222,使用具有多项式函数的最小二乘算法24获得目标预测器。实验中根据数据集改变多项式的阶数(MOT 为 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_223,KITTI 为 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_224)。
  • 如果在 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_225 的任意帧中,预测和 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_211 中的检测重叠(IoU)大于某个阈值,则将 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_211 设置为 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_228。在实践中,算法设置保守的阈值 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_229
  • 忽略太旧的目标(在 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_230 中没有相关的检测)以减少不必要的计算负担。作者使用 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_231

New Target Hypotheses

由于新目标可以在任何时间、任何位置进入场景,因此需要自动识别新目标。可以通过将集合 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_219 中的任意小轨迹视为潜在的新目标来自然地识别新目标。我们对轨迹使用非最大抑制,以避免重复的新目标。对于每个 tracklet 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_233,只需添加一个空目标 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_234多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_235,并将关联的假设设置为多目标跟踪TBD 多目标跟踪算法轻量化_描述符_236

Inference with Dynamic Graphical Model

一旦有了所有新目标和现有目标的全部假设,就可以将问题表示为无向图模型的推理问题,其中一个节点代表目标,状态是假设索引,如图 5© 所示。 这个问题的主要挑战是:

  • 图模型表示可能存在循环;
  • 图的结构取决于每种情况下的假设。

为了有效地得到精确解,NMOT 首先对图的结构进行动态分析,并在结构分析的基础上应用适当的推理算法。

在给定图模型的情况下,使用连接组件分析17找到独立的子图(在图5(c)中用虚线框显示),并对每个子图并行执行独立的推理算法:

  • 如果一个子图由多个节点组成,则使用结点树算法[21, libDAI]来获得对应子图的解。
  • 否则,为目标选择最优假设。

找到状态 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_161 后,可以通过用 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_164 扩充 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_148 来唯一地标识新的目标集: 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_240。 此过程使我们可以调整 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_241多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_242

Model Details

本节将讨论公式3中描述的势函数的详细信息。

Unary potential

如前几节所述,NMOT 使用 ALFD 指标作为比较检测结果的主要关联度量。假设中每次检测的一元势函数可通过以下方法测量:

多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_243

其中 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_244 是一组预定义的邻帧距离,而 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_245 给出 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_176多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_18 帧的关联检测 。尽管可以定义任意大集合 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_244,但在建模长期亲和度量时,为了计算效率,作者选择 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_249

尽管 ALFD 度量在大多数情况下都提供了非常强大的信息,但仍有少许失败情况,包括遮挡、错误的 IPT 等。为补足此类情况,作者设计了一个附加的目标动力学(TD)特性 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_250。同样使用在4.2节中讨论的多项式最小二乘预测器,作者将特征定义如下:

多目标跟踪TBD 多目标跟踪算法轻量化_描述符_251

其中 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_252 是一个衰减因子(多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_253),它折算了长期预测,多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_254 表示 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_176 的最后一个关联帧 ,多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_256 代表在4.1节中讨论的 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_257,而 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_258

使用这两个度量,NMOT 将一元势函数 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_259

多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_260

其中 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_20 表示 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_17 的检测分数。多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_263 运算符使算法能够在大多数情况下使用 ALFD 度量,但仅当 TD 度量非常有把握时(预测和检测之间的重叠超过 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_264)才使用它。如果 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_176 为空,则势函数变为 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_266

Pairwise potential

二元势函数 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_267 仅由 ALFD 度量定义。与一元势函数相似,在 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_175 中定义检测之间的成对关系,
多目标跟踪TBD 多目标跟踪算法轻量化_描述符_269

它度量假设 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_175

High-order potential

NMOT 采用高阶势函数来调整目标关联过程,使其具有物理可行性和外观相似性。

  • 首先,受[2, GMCP]的启发,NMOT 通过惩罚呈现突然运动的假设来实现物理可行性。
  • 其次,类似于[GMCP],NMOT 编码了 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_222多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_272

直觉由以下势函数编码:
多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_273

其中 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_274 是标量参数,多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_275 测量两个框中 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_276 的平方距离之和,且由 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_258多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_241 期间的平均高度正则,而 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_279

NMOT 使用 LAB 颜色直方图的金字塔,其中第一层是整个方框,第二层是 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_280 的网格。直方图仅使用 A 通道和B 通道,每个通道具有 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_281 个区间(结果 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_282 区间)。实际中使用 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_283

Experimental Evaluation

为了评估所提出的算法,作者使用 KITTI 目标跟踪基准和 MOTChallenge 数据集。

KITTI 跟踪基准由大约多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_284帧(多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_285 分钟)组成。该数据集由 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_286 段训练和 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_287 段测试视频序列组成,这些视频序列是使用安装在车辆顶部的摄像头在行驶中录制的。每个视频序列的帧数从 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_288多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_289 帧不等,其中目标对象数量不定(汽车、行人和骑自行车的人)。这些视频以 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_290

  • 场景拥挤(遮挡和杂乱)
  • 相机不稳定
  • 目标对象出现在任意位置,大小不一

在监视摄像机的多目标跟踪中采用的许多常规假设(技术)在这种情况下不适用(例如固定的进(出)位置、背景减除等)。

MOTChallenge 共计 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_291 帧(多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_292 分钟),FPS 不统一。数据集由 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_293 段训练和 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_293

评估采用了 CLEAR MOT 跟踪指标。为了与其他方法进行公平比较,作者使用了两个数据集提供的参考目标检测。

ALFD Analysis

首先对所提 ALFD 相似性指标进行去除分析。从训练集中选择两个序列,即 KITTI0001MOTChallengePETS09-S2L1进行分析。给定所有检测和真实标注,首先找到检测和注释之间的标签关联。对于每个检测,如果重叠大于 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_264,则分配真实 id。作者在 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_296 帧距离(多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_297)中收集所有可能的检测对,以获得正负对。以两检测平均高度归一化后的底部中心之间的L2距离(NDist2)以及两者的颜色直方图之间的交叉核(HistIK)作为亲和力度量基线。图 6 和 Table 1. 显示了每个亲和力度量的 ROC 曲线和 AUC。可以观察到,无论摄像机配置和物体类型如何,ALFD 亲和力度量在所有时间范围内均表现最佳。随着时间距离的增加,其他指标如预期的那样很快变得不可靠,而 ALFD 指标仍然可以提供强有力的线索来比较不同的检测结果。

多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_298

多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_299

KITTI Testing Benchmark Evaluation

Table 2. 总结了 NMOT 和其他最新算法在整个 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_300 段测试视频序列的评估准确性(比较也可在 http://www.cvlibs.net/datasets/kitti/eval_tracking.php 中获得,其中包括其他匿名提交)。作者还使用一元匹配函数和匈牙利算法实现了在线跟踪算法(HM)。设置任何代价大于 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_301

多目标跟踪TBD 多目标跟踪算法轻量化_描述符_302


在随后的评估中,作者设置时间窗口 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_303 并过滤掉只有一个检测或检测分数中值低于 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_155 的目标。使用卡尔曼滤波器从离散检测集 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_305

由于 KITTI 评估系统未提供骑车人类别的结果(由于缺乏足够的数据),因此作者报告汽车行人类别的准确性。作者还以更先进的检测结果(HM+ [32]和{NOMT+ [32])进行了实验。

MOT Challenge Evaluation

Table 3. 总结了 NMOT 和其他最新算法在 MOTChallenge 测试视频序列上的评估准确性(比较也可在 http://nyx.ethz.ch/view_results.php?chl=2 中获得)。该网站提供了一组使用[9]获得的参考检测。

多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_306


KITTI 实验相似, NMOT 比其他最新的方法有显著的优势。算法实现了最低的身份交换碎片,同时实现了最高的检测精度(最低的误报(FP)和漏报(FN))。反过来,与其他现有技术相比,NMOT 记录的 MOTA 最高,且领先幅度较大(多目标跟踪TBD 多目标跟踪算法轻量化_描述符_307)。 这两个实验表明,ALFD 度量和 NMOT 算法通常适用于任意应用场景。

Timing Analysis

为了解 NMOT 方法的及时性,作者通过计算检测时间(多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_308多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_17多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_18)与最后一个关联时间之间的差来测量延迟。最后一个关联时间定义为:

  • 如果在 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_37 时刻检测 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_312 新添加到目标 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_313 或替换 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_314 中的任何其他检测 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_315(例如 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_316),记录 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_37多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_312
  • 如果 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_312多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_314 中,则对 多目标跟踪TBD 多目标跟踪算法轻量化_多目标跟踪TBD_312

最后一个关联时间告诉我们,算法在何时首次将 多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_17 识别为 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_323 (目标 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_324 的最终轨迹输出)的一部分。KITTI 测试集的平均值和标准差分别为 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_325,搭配[32]多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_326 (没有延迟的比例为 多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_327多目标跟踪TBD 多目标跟踪算法轻量化_描述符_328),MOTChallenge 测试集的平均值和标准差分别为多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_329(没有延迟的占比为 多目标跟踪TBD 多目标跟踪算法轻量化_描述符_330)。这表明 NMOT 确实是一种近乎在线的方法。

NMOT 算法不仅不仅精度高,而且非常高效。利用并行计算,在16核的2.5GHz CPU 上可以实现实时效率(多目标跟踪TBD 多目标跟踪算法轻量化_目标跟踪_331)。Table 4. 总结了每个计算模块所花费的时间。

多目标跟踪TBD 多目标跟踪算法轻量化_跟踪算法_332

参考资料:

多目标跟踪方法 NOMT 学习与总结

基于层次关联的鲁棒多目标跟踪

Machine learning for high-speed corner detection

MOT 评价指标-“Evaluating Multiple Object Tracking Performance, the CLEAR MOT Metrics”

Multi-Target Multi-Camera Tracking (MTMC Tracking)评价指标

Course 8 An Introduction to theAn Introduction to theKalman FilterKalman Filter

Belief Propagation 解决计算机视觉问题

Histogram intersection(直方图交叉核,Pyramid Match Kernel)

histogram(直方图)里的bin是什么意思呢?