多目标跟踪:文献综述

news2024/9/20 7:46:41

文章目录

  • 摘要
  • 1、简介
    • 1.1、与其他相关综述的区别
    • 1.2、贡献
    • 1.3、综述的结构
    • 1.4. 外延
  • 2、 MOT问题
    • 2.1、问题公式化
    • 2.2、MOT的分类
      • 2.2.1、初始化方法
      • 2.2.2、处理方式
      • 2.2.3、输出类型
      • 2.2.4. 讨论
  • 3、MOT的组成
    • 3.1、外观模型
      • 3.1.1、视觉表征
      • 3.1.2. 统计测量
    • 3.2、运动模型
      • 3.2.1. 线性运动模型
      • 3.2.2、非线性运动模型
    • 3.3、交互模型
      • 3.3.1、社会力模型
      • 3.3.2. 人群运动模式模型
    • 3.4、排斥模型
      • 3.4.1、检测级的排斥模型
      • 3.4.2、轨迹级排斥模型
    • 3.5、阻塞处理
      • 3.5.1、Part-to-whole
      • 3.5.2、Hypothesize-and-test
      • 3.5.3、Buffer-and-recover
      • 3.5.4、其他
    • 3.6、推理
      • 3.6.1、概率推理
      • 3.6.2、确定性优化
      • 3.6.3、讨论
    • 3.7、总结
  • 4、MOT评估
    • 4.1、指标
      • 4.1.1、检测指标
      • 4.1.2、跟踪指标
    • 4.2、数据集
    • 4.3、公开算法
    • 4.4. 基准测试结果
  • 5、总结
    • 5.1、现有的问题
    • 5.2、未来的发展方向

摘要

多目标跟踪(MOT)由于其学术和商业潜力而受到越来越多的关注。虽然已经提出了不同的方法来解决这个问题,但由于突然的外观变化和严重的物体遮挡等因素,它仍然具有挑战性。在这项工作中,我们贡献了关于这个问题的第一个全面和最新的综述。我们检查了各个方面的最新进展,并为未来的研究提出了一些有趣的方向。据我们所知,在社区中还没有任何关于这个主题的广泛审查。我们努力对近几十年来这一问题的发展进行全面的回顾。本文的主要贡献有以下四个方面:1)讨论了MOT系统中的关键问题,包括MOT的制定、分类、关键原则和评价;2)我们不列举个别作品,而是从各个方面对现有的方法进行讨论,将每种方法分为不同的组,并对每组的原理、优缺点进行详细讨论;3)我们检查现有出版物的实验,并总结流行数据集上的结果,以提供定量和全面的比较。通过从不同角度对结果进行分析,验证了该领域的一些基本共识;4)我们讨论了MOT研究的一些问题,以及一些有趣的方向,这些方向将成为未来潜在的研究方向。

关键词:多目标跟踪,数据关联,调查

1、简介

多目标跟踪(MOT)或多目标跟踪(MTT)在计算机视觉中起着重要的作用。MOT的任务在很大程度上被划分为定位多个对象,保持它们的身份,并在给定输入视频的情况下产生它们各自的轨迹。例如,追踪的对象可以是街上的行人[1,2],路上的车辆[3,4],球场上的运动员[5,6,7],或一群动物(鸟[8],蝙蝠[9],蚂蚁[10],鱼[11,12,13],细胞[14,15],蜜蜂[16]等)。多个“对象”也可以被视为单个对象[17]的不同部分。在这篇综述中,我们主要关注行人跟踪的研究。这一规范的潜在原因有三个方面。首先,与我们环境中的其他常见物体相比,行人是典型的非刚性物体,这是研究MOT问题的理想例子。其次,行人视频在大量的实际应用中出现,这进一步带来了巨大的商业潜力。第三,根据本综述收集的所有数据,目前至少70%的MOT研究工作致力于行人。

多目标跟踪是计算机视觉中的一个中级任务,是诸如姿态估计[18]、动作识别[19]、行为分析[20]等高级任务的基础。它有许多实际应用,如视觉监控[21],人机交互[22]和虚拟现实[23]。这些实际需求引起了人们对这个主题的极大兴趣。单目标跟踪(SOT)主要侧重于设计复杂的外观模型和/或运动模型,以应对尺度变化、平面外旋转和照明变化等具有挑战性的因素,与之相比,多目标跟踪还需要解决两个任务:确定对象的数量(通常随时间变化)和保持它们的身份。除了SOT和MOT的共同挑战外,使MOT复杂化的其他关键问题包括:1)频繁遮挡,2)轨道的初始化和终止,3)相似的外观,以及4)多个物体之间的相互作用。为了处理所有这些问题,在过去的几十年里,人们提出了各种各样的解决方案。这些解决方案集中在一个MOT系统的不同方面,这使得MOT研究人员,特别是新手,很难全面了解这个问题。因此,在本工作中,我们对多目标跟踪问题的各个方面进行了综述。

1.1、与其他相关综述的区别

在这里插入图片描述

据我们所知,还没有任何关于多目标跟踪主题的全面文献综述。然而,还有一些其他关于多对象跟踪的评论,如表1所示。我们将这些调查分为四组,并强调与我们的差异如下:

  • 第一组[24,20,25,22,21]将跟踪作为一个单独的部分进行讨论,而这项工作具体讨论了MOT的各个方面。例如,对象跟踪被讨论为人群建模等高级任务过程中的一个步骤[24,20,25]。类似地,在[22]和[21]中,对象跟踪被视为行为识别[22]或视频监控[21]系统的一部分。
  • 第二组[26,27,28,29]致力于一般的视觉跟踪技术[26,27,28]或一些特殊问题,如视觉跟踪[29]中的外观模型。他们的审查范围比我们宽;相反,我们的系统更全面,专注于多目标跟踪。
  • 第三组[30,31]介绍并讨论了通用视觉跟踪[30]和特定多目标跟踪[31]的基准测试。他们的注意力放在实验研究上,而不是文献综述上。
  • 第四组[32]回顾了随着深度学习的兴起,目标检测的最新进展和发展。这个话题与我们的相关,但与我们的不同。目标检测通过在每一帧中定位潜在目标位置,为基于检测的目标跟踪提供观测数据,而MOT需要将这些观测数据跨多帧关联起来,形成目标轨迹。

1.2、贡献

我们为计算机视觉社区提供了关于MOT问题的第一个全面回顾,我们相信这有助于理解这个问题,它的主要挑战,陷阱和艺术的状态。本文的主要贡献总结如下:

  • 我们推导了MOT问题的统一公式,它整合了大多数现有的MOT方法(第2.1节),以及两种不同的MOT方法分类方法(第2.2节)。

  • 我们研究了MOT系统中涉及的不同关键组件,每个组件进一步分为不同的方面,并详细讨论了其原理、进步和缺点(第3节)。

  • 给出了不同方法在流行数据集上的实验结果,方便以后的实验比较。通过调查所提供的结果,揭示了一些有趣的观察和发现(第4节)。

  • 通过总结MOT综述,我们揭示了MOT研究中存在的问题。此外,还讨论了一些悬而未决的问题,以确定潜在的未来研究方向(第5节)。

请注意,这项工作主要致力于回顾关于多目标跟踪进展的最新文献。如前所述,我们还在现有出版物之外的公开数据集上展示了实验结果,以提供最先进的MOT方法的定量视图。对于多对象跟踪的标准化基准测试,我们建议读者参考Leal-Taix´e等人最近的工作MOTChallenge。[31]。

1.3、综述的结构

我们的目标是提供MOT任务中主要方面的概述。这些方面包括MOT的研究现状,建立一个系统需要考虑的所有细节问题,以及如何评估一个MOT系统。第2节描述了MOT问题,包括它的一般公式(第2.1节)和典型的分类方法(第2.2节)。第3节介绍了建模多目标跟踪所涉及的最常见组件,即外观模型(第3.1节)、运动模型(第3.2节)、交互模型(第3.3节)、排除模型(第3.4节)、遮挡处理(第3.5节)和推断方法(第3.6节)。此外,关于评估的问题,包括指标(第4.1节)、公共数据集(第4.2节)、公共代码(第4.3节)和基准测试结果(第4.4节)将在第4节中讨论。在这一部分之后,第5部分总结了社会上存在的问题和对未来MOT研究方向的兴趣问题。

1.4. 外延

在整个手稿,我们表示标量和矢量变量小写字母(例如。, x)和小写粗体字母(例如, x \mathbf{x} x)。我们使用粗体大写字母(例如:, X \mathbf{X} X)表示一个矩阵或一组向量。对于特定的函数或变量采用大写字母(如X)。表2列出了贯穿本文的符号。除了表中的符号外,可能还有一些符号用于特定的引用。由于这些符号不常用,因此不在表中列出,而是在上下文中进行定义。
在这里插入图片描述

2、 MOT问题

首先,我们尝试给出MOT的一般数学公式。然后根据不同的方面讨论其可能的分类。

2.1、问题公式化

在以往的著作中,MOT问题从不同的角度进行了不同的表述,这使得我们很难从高层次的角度来理解这个问题。在这里,我们提供了一个一般的公式,并认为现有的工作可以统一在这个公式下。据我们所知,此前还没有任何针对这一尝试的工作。
在这里插入图片描述

一般来说,多目标跟踪可以看作是一个多变量估计问题。给定一个图像序列,我们用 s t i \mathbf{s}_{t}^{i} sti表示第t帧中第i个物体的状态, S t = ( s t 1 , s t 2 , … , s t M t ) \mathbf{S}_{t}=\left(\mathbf{s}_{t}^{1}, \mathbf{s}_{t}^{2}, \ldots, \mathbf{s}_{t}^{M_{t}}\right) St=(st1,st2,,stMt)表示第t帧中所有Mt个对象的状态。我们用 s i s : i e i = { s i s i , … , s i e i } \mathbf{s}_{i_{s}: i_{e}}^{i}=\left\{\mathbf{s}_{i_{s}}^{i}, \ldots, \mathbf{s}_{i_{e}}^{i}\right\} sis:iei={sisi,,siei}表示第i个对象的顺序状态,其中 i s i_{s} is i e i_e ie分别是目标i存在的第一帧和最后一帧, S 1 : t = { S 1 , S 2 , … , S t } \mathbf{S}_{1: t}=\left\{\mathbf{S}_{1}, \mathbf{S}_{2}, \ldots, \mathbf{S}_{t}\right\} S1:t={S1,S2,,St}表示从第一帧到第t帧的所有对象的所有顺序状态。请注意,对象编号可能因帧而异。

相应地,遵循最常用的检测跟踪或基于检测的跟踪(DBT)范式,我们使用 o t i \mathbf{o}_{t}^{i} oti表示第t帧中第i个对象的收集观测值, O t = ( o t 1 , o t 2 , … , o t M t ) \mathbf{O}_{t}=\left(\mathbf{o}_{t}^{1}, \mathbf{o}_{t}^{2}, \ldots, \mathbf{o}_{t}^{M_{t}}\right) Ot=(ot1,ot2,,otMt)表示收集到的第t帧中所有 M t M_{t} Mt个对象的观测值, O 1 : t = { O 1 , O 2 , … , O t } \mathbf{O}_{1: t}=\left\{\mathbf{O}_{1}, \mathbf{O}_{2}, \ldots, \mathbf{O}_{t}\right\} O1:t={O1,O2,,Ot}表示从第一个帧到第t个帧所收集到的所有对象的顺序观测值。

多目标跟踪的目标是找到所有对象的“最优”顺序状态,通常可以通过对给定所有观测值的顺序状态的条件分布进行MAP (Maximum a posteriori)估计来建模:
S ^ 1 : t = arg ⁡ max ⁡ S 1 : t P ( S 1 : t ∣ O 1 : t ) . \widehat{\mathbf{S}}_{1: t}=\underset{\mathbf{S}_{1: t}}{\arg \max } P\left(\mathbf{S}_{1: t} \mid \mathbf{O}_{1: t}\right) . S 1:t=S1:targmaxP(S1:tO1:t).

不同的MOT算法,从以前的工作,现在可以认为是设计不同的方法来解决上述MAP问题,无论是从概率推断的角度[33,6,34,35,36,37,38,39]或从确定性优化的角度[40,41,42,43,44,45,46,47,48,49,50,17]。

基于概率推理的方法通常使用两步迭代过程来解决Eqn(1)中的MAP问题,如下所示:

Predict: P ( S t ∣ O 1 : t − 1 ) = ∫ P ( S t ∣ S t − 1 ) P ( S t − 1 ∣ O 1 : t − 1 ) d S t − 1 , P\left(\mathbf{S}_{t} \mid \mathbf{O}_{1: t-1}\right)=\int P\left(\mathbf{S}_{t} \mid \mathbf{S}_{t-1}\right) P\left(\mathbf{S}_{t-1} \mid \mathbf{O}_{1: t-1}\right) d \mathbf{S}_{t-1}, P(StO1:t1)=P(StSt1)P(St1O1:t1)dSt1,

Update: P ( S t ∣ O 1 : t ) ∝ P ( O t ∣ S t ) P ( S t ∣ O 1 : t − 1 ) . P\left(\mathbf{S}_{t} \mid \mathbf{O}_{1: t}\right) \propto P\left(\mathbf{O}_{t} \mid \mathbf{S}_{t}\right) P\left(\mathbf{S}_{t} \mid \mathbf{O}_{1: t-1}\right) . P(StO1:t)P(OtSt)P(StO1:t1).

这里 P ( S t ∣ S t − 1 ) P\left(\mathbf{S}_{t} \mid \mathbf{S}_{t-1}\right) P(StSt1) P ( O t ∣ S t ) P\left(\mathbf{O}_{t} \mid \mathbf{S}_{t}\right) P(OtSt)分别是动态模型和观测模型。

基于确定性优化的方法直接在一组可用观测 { O ^ 1 : t n } \left\{\hat{\mathbf{O}}_{1: t}^{n}\right\} {O^1:tn}上最大化似然函数 L ( O 1 : t ∣ S 1 : t ) L\left(\mathbf{O}_{1: t} \mid \mathbf{S}_{1: t}\right) L(O1:tS1:t)作为 P ( S 1 : t ∣ O 1 : t ) P\left(\mathbf{S}_{1: t} \mid \mathbf{O}_{1: t}\right) P(S1:tO1:t)的代表:

S ^ 1 : t = arg ⁡ max ⁡ S 1 : t P ( S 1 : t ∣ O 1 : t ) = arg ⁡ max ⁡ S 1 : t L ( O 1 : t ∣ S 1 : t ) = arg ⁡ max ⁡ S 1 : t ∏ n P ( O ^ 1 : t n ∣ S 1 : t ) , (2) \widehat{\mathbf{S}}_{1: t}=\underset{\mathbf{S}_{1: t}}{\arg \max } P\left(\mathbf{S}_{1: t} \mid \mathbf{O}_{1: t}\right)=\underset{\mathbf{S}_{1: t}}{\arg \max } L\left(\mathbf{O}_{1: t} \mid \mathbf{S}_{1: t}\right)=\underset{\mathbf{S}_{1: t}}{\arg \max } \prod_{n} P\left(\hat{\mathbf{O}}_{1: t}^{n} \mid \mathbf{S}_{1: t}\right), \tag{2} S 1:t=S1:targmaxP(S1:tO1:t)=S1:targmaxL(O1:tS1:t)=S1:targmaxnP(O^1:tnS1:t),(2)

或者反过来最小化能量函数 E ( S 1 : t ∣ O 1 : t ) E\left(\mathbf{S}_{1: t} \mid \mathbf{O}_{1: t}\right) E(S1:tO1:t)

S ^ 1 : t = arg ⁡ max ⁡ S 1 : t P ( S 1 : t ∣ O 1 : t ) = arg ⁡ max ⁡ S 1 : t exp ⁡ ( − E ( S 1 : t ∣ O 1 : t ) ) / Z = arg ⁡ min ⁡ S 1 : t E ( S 1 : t ∣ O 1 : t ) , (3) \widehat{\mathbf{S}}_{1: t}=\underset{\mathbf{S}_{1: t}}{\arg \max } P\left(\mathbf{S}_{1: t} \mid \mathbf{O}_{1: t}\right)=\underset{\mathbf{S}_{1: t}}{\arg \max } \exp \left(-E\left(\mathbf{S}_{1: t} \mid \mathbf{O}_{1: t}\right)\right) / Z=\underset{\mathbf{S}_{1: t}}{\arg \min } E\left(\mathbf{S}_{1: t} \mid \mathbf{O}_{1: t}\right), \tag{3} S 1:t=S1:targmaxP(S1:tO1:t)=S1:targmaxexp(E(S1:tO1:t))/Z=S1:targminE(S1:tO1:t),(3)

其中Z是一个归一化因子,以确保 P ( S 1 : t ∣ O 1 : t ) P\left(\mathbf{S}_{1: t} \mid \mathbf{O}_{1: t}\right) P(S1:tO1:t)是一个概率分布。

2.2、MOT的分类

用一个通用的标准很难将一种特定的MOT方法归类到一个不同的类别中。承认这一点,因此,以多个标准对MOT方法进行分组是可行的。下面我们尝试根据三个标准进行操作:a)初始化方法,b)处理模式,c)输出类型。我们选择这三个标准的原因是,这自然地遵循了处理任务的方式,即如何初始化任务,如何处理它以及获得什么类型的结果。我们认为,还可以合理地采用其他标准对各种MOT方法进行分类。然而,用所有可能的标准对不同的MOT方法进行分类超出了本文的范围。下面将列出上述每个标准及其对应的分类。

2.2.1、初始化方法

根据目标初始化方式的不同,大多数现有的MOT工作可以分为两组[51]:基于检测的跟踪(Detection-Based Tracking, DBT)和无检测跟踪(Detection-Free Tracking, DFT)。

检测跟踪。如图1(上)所示,首先检测对象,然后将其链接成轨迹。这种策略通常也称为检测跟踪。给定一个序列,在每一帧中进行特定类型的目标检测或运动检测(基于背景建模)[52,53],得到目标假设,然后进行(顺序或批量)跟踪,将检测假设链接成轨迹。有两个问题值得注意。首先,由于目标检测器是提前训练的,因此大部分DBT专注于特定类型的目标,如行人、车辆或人脸。其次,DBT的性能高度依赖于所采用的目标检测器的性能。

Detection-Free跟踪。如图1(下)所示,DFT[54, 55, 56, 57]在第一帧中需要手动初始化固定数量的对象,然后在后续帧中对这些对象进行定位。

DBT更受欢迎,因为可以发现新对象,并且自动终止正在消失的对象。DFT不能处理对象出现的情况。然而,它没有预先训练的目标检测器。表3列出了DBT和DFT之间的主要区别。
在这里插入图片描述

2.2.2、处理方式

MOT也可以分为在线跟踪和离线跟踪。不同的是在处理当前帧时是否利用来自未来帧的观察。在线跟踪方法,也称为因果跟踪方法,只依赖于当前帧之前可用的过去信息,而离线或批量跟踪方法使用对过去和未来的观察。

在线跟踪。在在线跟踪[54,58,55,56,59,60]中,图像序列是逐级处理的,因此在线跟踪又称顺序跟踪。图2(上图)展示了一个示例,其中有三个对象(不同的圆)a、b和c。绿色箭头表示过去的观察结果。结果由对象的位置和ID表示。基于最新的观察,轨迹在飞行中产生。

离线跟踪。离线跟踪[53,61,49,62,48,1,63,64,65,66]利用一批帧来处理数据。如图2(底部)所示,需要提前获取所有帧的观测值,并联合分析以估计最终输出。请注意,由于计算和内存的限制,不可能总是一次处理所有帧。另一种解决方案是将数据分割为更短的视频片段,并对每个批次按层次或顺序推断结果。表4列出了两种处理模式之间的差异。

2.2.3、输出类型

该准则根据输出的随机性将MOT方法分为确定性方法和概率方法。这两种方法之间的差异主要源于2.1节中所提到的优化方法。

随机跟踪。随机跟踪的输出结果随时间而变化。例如,在无检测跟踪的情况下,如果我们使用粒子滤波进行推理,边界盒结果是不同的。这种差异是由于加工过程中粒子产生的随机性造成的。即使在基于检测的跟踪中,一些研究也采用了最先进的单目标跟踪器来细化检测边界框。这种方法在不同的运行时间也会导致不同的跟踪结果。

确定的跟踪。在多次运行该方法时,确定性跟踪的输出是不变的。例如,在检测跟踪的情况下,匈牙利算法等数据关联方法会产生确定性的跟踪结果。确定性跟踪通常与确定性优化相关联,以获得最终输出。

2.2.4. 讨论

DBT与DFT的区别在于是否采用检测模型(DBT)。区分在线跟踪和离线跟踪的关键在于它们处理观察的方式。读者可能会质疑DFT是否与在线跟踪相同,因为DFT似乎总是按顺序处理观察结果。这在大多数情况下是正确的,尽管存在一些例外。无序跟踪[67]就是一个例子。它是DFT,同时以无秩序的方式处理观测。虽然它是单目标跟踪,但它也可以应用于MOT,因此DFT也可以应用于批处理模式。DBT和离线跟踪之间可能会出现另一种模糊性,因为DBT的tracklet或检测响应通常以批处理的方式关联。请注意,还有顺序DBT,它将先前获得的轨迹与新的检测响应进行关联[8,68,33]。

上述第2.2.1、2.2.2和2.2.3节中提出的分类是MOT方法的三种可能的分类方式,也可能有其他分类方式。值得注意的是,体育场景[6,5]、空中场景[69,46]、一般物体[68,70,71,8,72]等都有具体的解决方案,我们建议读者参考相关论文。

通过提供上面描述的这三个标准,可以方便地使用分类标签的组合来标记特定的方法。这将有助于人们更容易理解特定的方法。

3、MOT的组成

在本节中,我们将介绍MOT方法的主要组成部分。如上所述,MOT的目标是在单个帧中发现多个对象,并从给定序列中跨连续帧(即轨迹)恢复身份信息。在开发MOT方法时,应该考虑两个主要问题。一个是如何测量帧内物体之间的相似度,另一个是如何根据帧内物体之间的相似度来恢复身份信息。粗略地说,第一个问题涉及外观、运动、交互、排斥和遮挡的建模。第二个问题涉及推理问题。我们在下面回顾这两个项目的最新进展。
在这里插入图片描述

3.1、外观模型

外观是MOT中亲和性计算的重要线索。然而,与单目标跟踪不同的是,多目标跟踪方法主要通过建立复杂的外观模型来区分目标和背景,尽管外观建模可能是一个重要的核心部分,但大多数方法都没有将其作为核心部分。

从技术上讲,外观模型包括两个部分:视觉表示和统计测量。视觉表示通过基于单个线索或多个线索的特征来描述物体的视觉特征。另一方面,统计度量是计算不同观测值之间的相似性。更正式地说,两个观测值i和j之间的相似度可以写成:
S i j = F ( o i , o j ) , (4) S_{i j}=F\left(\mathbf{o}_{i}, \mathbf{o}_{j}\right), \tag{4} Sij=F(oi,oj),(4)

其中 o i \boldsymbol{o}_{i} oi o j \boldsymbol{o}_{j} oj是不同观测值的视觉表示, F ( ⋅ , ⋅ ) F(\cdot, \cdot) F()是衡量它们之间相似性的函数。接下来,首先讨论MOT中的视觉表示,然后分别描述统计测量。

3.1.1、视觉表征

视觉表征根据不同类型的特征来描述一个对象,如图3所示。我们将特征分为以下不同的类别。

局部特征。KLT是搜索“好”局部特征和跟踪的一个例子。SOT[77]和MOT均成功采用。获得易于跟踪的特征,我们可以使用它们来生成短轨迹[65,78],估计摄像机运动[66,79],运动聚类[71]等。如果将图像像素作为最优局部范围,光流也可以看作是局部特征。MOT的一组解决方案利用光流在数据关联之前将检测响应链接到短轨迹[80,81],因为它是相关的。
在这里插入图片描述

区域特征。与局部特征相比,区域特征是从更大的范围(如边界框)中提取的。我们将它们分为三种类型:a)零阶类型,b)一阶类型和c)最多二阶类型。这里的order是指计算表示时差异的顺序。例如,不比较像素的零阶均值,而一阶均值只计算一次像素之间的差异值。

  • 零级。这是使用最广泛的MOT表示。颜色直方图[65,75,81,76,36,84]和原始像素模板[85]是这种类型的两个典型例子。
  • 一阶。通常使用基于梯度的表示,如HOG[81, 63, 34, 19, 86]和水平集公式[75]。
  • 最多二阶类型。计算到二阶差异的区域协方差矩阵[87,88]属于该集合。它在[64,63,54]被采用。

其他的。除了局部和区域特征,还有一些其他类型的表示。以深度为例,它通常用于完善检测假设[75,89,90,91,92]。使用概率占用图(POM)[93.44]来估计一个对象在特定网格单元中发生的可能性。另一个例子是步态特征,它对个人来说是独一无二的[65]。DCNN[94]扮演着类似于[95]中的词袋(BoW)的码本角色。ColorNames描述符在[96]中用于外观表示。文献[97,98]采用卷积神经网络(CNN)的深度特征进行视觉表示。文献[99]首次在MOT中引入点云特征进行特征融合。

讨论。颜色直方图是一种常用的相似性度量方法,但它忽略了目标区域的空间分布情况。局部特征是有效的,但对遮挡和离面旋转等问题很敏感。基于梯度的特征(如HOG)可以描述物体的形状,并对某些变换(如光照变化)具有鲁棒性,但它们不能很好地处理遮挡和变形。区域协方差矩阵特征考虑了更多的信息,因此具有更强的鲁棒性,但这是以增加计算量为代价的。深度特征使亲和性的计算更加准确,但它们需要同一风景的多个视图和/或额外的算法[100]来获得深度测量。

3.1.2. 统计测量

这一步与上一节密切相关。统计度量以视觉表示为基础,计算两个观测值之间的亲和度。虽然有些方法只依赖于一种线索,但其他方法则基于多种线索。

单一的线索。利用单线索进行外观建模,要么将距离转化为相似度,要么直接计算相似度。例如,通常采用归一化互相关(Normalized Cross Correlation, NCC)来计算两个对应点之间的亲和度,这是基于上文提到的raw像素模板的表示[85,73,101,2]。在颜色直方图中,巴氏距离 B ( ⋅ , ⋅ ) B(\cdot, \cdot) B(,)用于计算两个颜色直方图 c i \mathbf{c}_{i} ci c j \mathbf{c}_{j} cj之间的距离。将距离转化为相似度S,如 S ( T i , T j ) = exp ⁡ ( − B ( c i , c j ) ) S\left(\mathbf{T}_{i}, \mathbf{T}_{j}\right)= \exp \left(-B\left(\mathbf{c}_{i}, \mathbf{c}_{j}\right)\right) S(Ti,Tj)=exp(B(ci,cj))[38, 65, 66, 102, 61, 33]或将距离拟合到像[40]这样的高斯分布。将相异性转化为似然性也应用于协方差矩阵的表示[64]。[103]使用了神经网络深度特征之间的余弦相似性。除了这些典型模型外,本文还采用了基于点特征表示[35]的词袋模型[104]。

多个线索。不同类型的线索可以相互补充,使外观模型更具鲁棒性。然而,如何融合来自多个线索的信息并不是一件容易的事情。为此,本文根据五种融合策略总结了基于多线索的外观模型:Boosting、拼接、求和、乘积和级联(见表5)。
在这里插入图片描述

  • Boosting。Boosting策略通常通过基于Boosting的算法从特征池中顺序选择一部分特征。例如,在[63]、[51]和[42]中,分别使用AdaBoost、RealBoost和HybridBoost算法从颜色直方图、HOG和协方差矩阵描述子中选择最具代表性的特征来区分同一目标的轨迹对和不同目标的轨迹对。

  • 连接。不同类型的特征可以连接起来进行计算。在[48]中,将颜色、HOG和光流结合起来进行外观建模。

  • 求和。该策略从不同的特征中获取亲和度值,并使用权重[75,105,106]来平衡这些值。

  • 乘积。与上述策略不同,数值相乘以产生综合亲和度[35,53,107,108]。注意,在应用该策略时,通常会做独立性假设。

  • 级联。这是一种使用各种类型视觉表示的级联方式,要么缩小搜索空间[92],要么以从粗到细的方式建模外观[81]。

3.2、运动模型

运动模型捕捉对象的动态行为。它估计目标在未来帧中的潜在位置,从而缩小搜索空间。在大多数情况下,物体被假设在现实世界中,因此在图像空间中平滑移动(突变运动除外)。下面我们将讨论线性运动模型和非线性运动模型。

3.2.1. 线性运动模型

这是目前最流行的模型[109,110,34]。该模型采用匀速假设[34]。基于这个假设,有三种不同的方法来构建模型。

  • 速度平滑性是指物体在连续帧中的速度值平滑变化。在[47]中,它被实现为一个成本项,
    C d y n = ∑ t = 1 N − 2 ∑ i = 1 M ∥ v i t − v i t + 1 ∥ 2 (5) C_{d y n}=\sum_{t=1}^{N-2} \sum_{i=1}^{M}\left\|\mathbf{v}_{i}^{t}-\mathbf{v}_{i}^{t+1}\right\|^{2} \tag{5} Cdyn=t=1N2i=1M vitvit+1 2(5)
    其中对N帧和M个轨迹/对象进行求和。

  • 位置平滑性直接导致观测位置和估计位置之间的差异。以[33]为例。考虑到 t i \mathbf{t}_{i} ti的尾部和 t j \mathbf{t}_{j} tj的头部之间存在一个时间间隔 Δ t \Delta t Δt,以观测到的位置为中心,将轨迹的估计位置拟合成一个高斯分布来描述轨迹的平滑性。在估计阶段,同时考虑了前向运动和后向运动。因此,考虑线性运动模型的亲和力为:
    P m ( T i , T j ) = N ( p i tail  + v i F Δ t ; p j head  , Σ j B ) ∗ N ( p j head  + v i B Δ t ; p i tail  , Σ i F ) (6) P_{m}\left(\mathbf{T}_{i}, \mathbf{T}_{j}\right)=\mathcal{N}\left(\mathbf{p}_{i}^{\text {tail }}+\mathbf{v}_{i}^{F} \Delta t ; \mathbf{p}_{j}^{\text {head }}, \Sigma_{j}^{B}\right) * \mathcal{N}\left(\mathbf{p}_{j}^{\text {head }}+\mathbf{v}_{i}^{B} \Delta t ; \mathbf{p}_{i}^{\text {tail }}, \Sigma_{i}^{F}\right) \tag{6} Pm(Ti,Tj)=N(pitail +viFΔt;pjhead ,ΣjB)N(pjhead +viBΔt;pitail ,ΣiF)(6)
    其中"F"和"B"表示向前和向后。Yang等[62]采用了类似的策略。观测位置和估计位置之间的位移 ∆ p ∆p p拟合为中心为零的高斯分布。这种策略的其他例子是[63,111,1,61,7,62]。

  • 加速度平滑。除了考虑位置和速度的平滑性外,还考虑了加速度[111]。给定观测轨迹 { s ^ k } \left\{\hat{\mathbf{s}}_{k}\right\} {s^k},状态 { o k } \left\{\mathbf{o}_{k}\right\} {ok}在时刻k运动的概率分布建模为:
    P ( { s ^ k } ∣ { o k } ) = ∏ k N ( x k − x ^ k ; 0 , Σ p ) ∏ k N ( v k ; 0 , Σ v ) ∏ k N ( a k ; 0 , Σ a ) , P\left(\left\{\hat{\mathbf{s}}_{k}\right\} \mid\left\{\mathbf{o}_{k}\right\}\right)=\prod_{k} \mathcal{N}\left(\mathbf{x}_{k}-\hat{\mathbf{x}}_{k} ; \mathbf{0}, \Sigma_{p}\right) \prod_{k} \mathcal{N}\left(\mathbf{v}_{k} ; \mathbf{0}, \Sigma_{\mathbf{v}}\right) \prod_{k} \mathcal{N}\left(\mathbf{a}_{k} ; \mathbf{0}, \Sigma_{\mathbf{a}}\right), P({s^k}{ok})=kN(xkx^k;0,Σp)kN(vk;0,Σv)kN(ak;0,Σa),
    其中 v k \mathbf{v}_{k} vk是速度, a k \mathbf{a}_{k} ak是加速度, N \mathcal{N} N是零均值高斯分布。

3.2.2、非线性运动模型

在这里插入图片描述

线性运动模型通常用于解释物体的动力学。然而,也有一些情况是线性运动模型无法处理的。为此,提出了非线性运动模型,以产生更精确的轨迹之间的运动亲和力。例如Yang et al.[49]采用非线性运动模型来处理目标可能自由运动的情况。给定图4(a)中属于同一目标的两个tracklet T 1 \mathbf{T}_{1} T1 T 2 \mathbf{T}_{2} T2,线性运动模型[62]将它们连接起来的概率较低。或者,采用非线性运动模型,小波T1尾部与小波T2头部之间的间隙可以用小波 T 0 ∈ S \mathbf{T}_{0} \in \mathcal{S} T0S来合理解释,其中S为支撑小波的集合。如图4(b)所示,T0匹配T1的尾部和T2的头部。然后根据T0估计到桥接T1和T2的真实路径,计算T1和T2之间的亲和度,方法类似3.2.1。

3.3、交互模型

交互模型,也称为相互运动模型,捕捉一个对象对其他对象的影响。在人群场景[84]中,一个物体会受到来自其他主体和物体的一些“力”。例如,当一个行人走在街上,他会调整他的速度,方向和目的地,以避免与他人碰撞。另一个例子是,当一群人穿过街道时,他们每个人都跟着其他人,同时引导其他人。事实上,这是两种典型的交互模型的例子,即社会力模型[112]和人群运动模式模型[113]。

3.3.1、社会力模型

社会力模型也被称为群体模型。在这些模型中,每个对象都被认为依赖于其他对象和环境因素。这种类型的信息可以缓解拥挤场景中的性能下降。在社会力模型中,目标被认为是基于对其他物体和环境的观察来决定其速度、加速度和目的地的代理。更具体地说,在社会力模型中,目标行为基于个体力和群体力两个方面进行建模。
个人的力量。对于一组多个物体中的每个个体,考虑两种类型的力:

  • 忠诚,这意味着一个人不应该改变他想要的目的地
  • 恒定,这意味着一个人不应该突然改变他的动量,包括速度和方向

团体的力量。对于整个群,考虑三种类型的力:

  • 吸引力,这意味着作为一个团队一起移动的个体应该保持亲密
  • 排斥力,这意味着作为一个群体一起移动的个体应该与其他人保持一定的距离,以使所有成员都感到舒适。
  • 一致性,这意味着作为一个群体一起移动的个体应该以相似的速度移动

现有的大多数论文对具有社会力量的对象之间的相互作用进行了建模,通常最小化了能量目标,包括反映个人力量和群体力量的术语。表6列出了社区中采用社会力模型进行交互建模的示例论文。而[114]是将社会力量明确地建模为能量项的一个例外。在本研究中,社会力被编码为所谓的社会特征进行进一步处理。
在这里插入图片描述

3.3.2. 人群运动模式模型

受人群仿真文献[24]的启发,引入运动模式来缓解人群中跟踪单个物体的困难。一般来说,这类模型通常应用于目标密度相当高的过度拥挤场景。在这种高度拥挤的场景中,物体通常都很小,外观和个人运动等线索都是模糊的。在这种情况下,人群的运动是一个相对可靠的问题线索。

大致有两种运动模式,结构化的和非结构化的。结构化运动模式表现为集体的时空结构,非结构化运动模式表现为多种运动形态。一般来说,运动模式通过各种方法学习(包括ND张量投票[78],隐马尔可夫模型[38,117],相关主题模型[80],有时考虑场景结构[73]),并作为先验知识来辅助目标跟踪。

3.4、排斥模型

排斥是在寻找解决MOT的方法时,为了避免物理碰撞规定的约束,这种约束在现实中也是成立的比如两个不同的目标不能同时出现在同一个物理位置中。对于给定的多个检测响应(responses)和多个trajectory假设,通常存在两个约束,第一个是检测层面的排斥(detection-level exclusion)[105],例如在同一帧中两个不同的检测响应不能被分配给同一个目标,第二个是轨迹层面的排斥(trajectory-level exclusion),例如两条轨迹不能无限逼近彼此。

3.4.1、检测级的排斥模型

采用不同的方法对检测级排除进行建模。基本上,有“软”和“硬”两种模式。

“soft” modeling。检测级别的排斥是“软”建模,通过最小化成本项来惩罚违规情况。例如,在[118]中,如果两个同时的探测响应被分配相同的轨迹标签,并且它们彼此距离足够远,则定义了惩罚。

为了建排斥模型,需要构造一个特殊的排斥图来捕获约束[119]。给定所有的检测响应,他们定义了一个图,其中节点表示检测响应。每个节点(一个检测)只连接到与节点本身同时存在的节点(其他检测)。在构造此图后,将标签分配最大化地排除 w . r . t w.r.t w.r.t.,以鼓励连接的节点具有不同的标签,如 Tr ⁡ ( Y L Y ) \operatorname{Tr}(\mathbf{Y L Y}) Tr(YLY),其中L为拉普拉斯矩阵, Y = ( y 1 , … , y ∣ V ∣ ) \mathbf{Y}=\left(\mathbf{y}_{1}, \ldots, \mathbf{y}_{|V|}\right) Y=(y1,,yV)是图中所有|V|节点的标签赋值, Tr ⁡ ( ⋅ ) \operatorname{Tr}(\cdot) Tr()是矩阵的迹范数。

“hard” modeling。通过应用显式约束实现了检测级排斥的“硬”建模。例如,为了对检测级排斥进行建模,引入了所谓的cannot链接,以模拟如果两个tracklet在时间跨度上有重叠,则它们不能被分配到同一聚类,即属于同一轨迹[120]。在[121]中进行了非负离散化,将检测设置为不重叠的组,以遵守互斥约束。

3.4.2、轨迹级排斥模型

通常,轨迹级别的排斥是通过惩罚两个接近的检测假设具有不同的轨迹标签的情况来建模的。这将抑制一个轨迹标签。例如,[122]中的惩罚项与两个不同轨迹标签的探测响应之间的距离成反比。如果两个检测响应太接近,将导致相当大的代价,在极限情况下,是无穷大的代价。在[50]中采用了类似的思想。[118]中轨迹级排斥的惩罚与两个轨迹之间的时空重叠成正比。两条轨迹越近,惩罚越高。还有一种特殊情况[45],在这种情况下,排除被建模为基于网络流的算法中所谓“冲突”边的额外约束。

3.5、阻塞处理

闭塞可能是MOT中最关键的挑战。这是ID切换或轨迹碎片的主要原因。为了解决闭塞问题,人们提出了各种各样的策略。

3.5.1、Part-to-whole

这种策略是建立在遮挡发生时物体的一部分仍然可见的假设上的。这个假设在大多数情况下都成立。基于这一假设,采用该策略的方法观察并利用可见部分来推断整个对象的状态。

流行的方法是将一个整体对象(如边界框)划分为几个部分,并基于各个部分计算亲和力。如果发生咬合,咬合部位的亲缘性应该较低。跟踪器会意识到这一点,并只采用未排除的部分进行估计。具体来说,零件是通过将物体均匀地划分为网格[54],或将多个零件像人一样拟合到特定种类的物体中,如[51]中的15个不重叠的零件,以及[81,124]中DPM检测器[123]检测到的零件。

基于这些单独的部分,被遮挡部分的观测被忽略。例如,在[54]中构造了部分外观模型。利用重构误差来判断哪些部分被遮挡,哪些部分被遮挡。对整体对象的外观模型进行选择性更新,只更新未包含的部分。这是忽略被遮挡部分的“硬”方式,而[51]中有“软”方式。其中,两个轨迹j和k的亲和度计算为 ∑ i w i F ( f j i , f k i ) \sum_{i} w_{i} F\left(\mathbf{f}_{j}^{i}, \mathbf{f}_{k}^{i}\right) iwiF(fji,fki),其中f是特征,I是零件的索引。权重是根据各部分的遮挡关系来学习的。在[81]中,通过人体部件关联来恢复部件轨迹,进而辅助整个物体轨迹的恢复。

3.5.2、Hypothesize-and-test

这一策略通过假设建议和根据手头的观察来测试建议来避开遮挡的挑战。顾名思义,该策略由假设和测试两步组成。

假设。Zhang等[40]基于可遮挡观测值对生成遮挡假设,观测值对接近且尺度相似。假设 o i o_i oi o j o_j oj遮挡,对应的遮挡假设为 o ~ i j = ( p j , s i , f i , t j ) \widetilde{\mathbf{o}}_{i}^{j}=\left(\mathbf{p}_{j}, s_{i}, \mathbf{f}_{i}, t_{j}\right) o ij=(pj,si,fi,tj),其中 p j p_j pj T j T_j Tj o j o_j oj的位置和时间戳, s i s_i si f i f_i fi o i o_i oi的大小和外观特征。这种方法将咬合视为干扰,而在其他工作中[127,126],咬合模式被用于协助检测咬合情况。更具体地说,通过综合组合两个具有不同遮挡水平和模式的物体,生成不同的检测假设(见图5)。
在这里插入图片描述

测试。当这些假设准备就绪时,将用于MOT。让我们回顾一下上面描述的两种方法。在[40]中,将假设观测值与原始观测值一起作为成本流框架的输入,并进行MAP以获得最优解。在[127]和[126]中,基于检测假设训练了多人检测器。该探测器大大降低了遮挡情况下的检测难度。

3.5.3、Buffer-and-recover

这种策略在遮挡发生时缓冲观察结果,并在遮挡之前记住物体的状态。当遮挡结束时,根据缓冲的观察和遮挡前存储的状态恢复对象状态。

Mitzel等人[75]在遮挡发生时保持一个轨迹活跃达15帧,并通过遮挡外推位置来生长休眠轨迹。如果对象再次出现,则再次触发跟踪,并保持身份。在[36]中遵循了这个想法。当跟踪状态由于遮挡而变得模糊时,观测模式被激活[128]。一旦获得足够的观察结果,就会产生假说来解释观察结果。这也可以被视为“缓冲-恢复”策略。

3.5.4、其他

上面描述的策略可能不包括社区中探索的所有策略。例如,Andriyenko等人[129]将目标表示为图像空间中的高斯分布,并明确地将所有目标之间的成对遮挡比建模为可微能量函数的一部分。一般来说,明确地分离或分类各种遮挡建模方法是不简单的,在某些情况下,多种策略被组合使用。

3.6、推理

3.6.1、概率推理

基于概率推断的方法通常将对象的状态表示为具有不确定性的分布。跟踪算法的目标是在已有观测数据的基础上,通过多种概率推理方法估计目标状态的概率分布。这种方法通常只需要现有的,即过去和现在的观测,因此它们特别适合于在线跟踪任务。由于只利用现有的观测数据进行估计,很自然地在物体的状态序列中加入了马尔可夫性质的假设。这个假设包括两个方面,回顾2.1节的公式。

首先,当前对象状态仅依赖于之前的状态。此外,如果施加一阶马尔可夫性质,它只取决于最后一个状态,可以形式化为 P ( S t ∣ S 1 : t − 1 ) = P ( S t ∣ S t − 1 ) P\left(\mathbf{S}_{t} \mid \mathbf{S}_{1: t-1}\right)=P\left(\mathbf{S}_{t} \mid \mathbf{S}_{t-1}\right) P(StS1:t1)=P(StSt1)

第二,对一个物体的观察只与它与这一观察相对应的状态有关。换句话说,观测值是条件独立的: P ( O 1 : t ∣ S 1 : t ) = ∏ i = 1 t P ( O i ∣ S i ) P\left(\mathbf{O}_{1: t} \mid \mathbf{S}_{1: t}\right)= \prod_{i=1}^{t} P\left(\mathbf{O}_{i} \mid \mathbf{S}_{i}\right) P(O1:tS1:t)=i=1tP(OiSi)

这两个方面分别与动态模型和观测模型有关。动态模型对应跟踪策略,观测模型提供对目标状态的观测测量。预测步骤是根据之前的所有观察估计当前状态。更具体地说,通过动态模型在最后一个物体状态的空间中积分,估计当前状态的后验概率分布。更新步骤是根据观测模型下获得的测量值更新状态的后验概率分布。

根据该方程,可以通过迭代执行预测和更新步骤来估计物体的状态。然而,在实践中,如果不简化假设,就无法表示对象状态分布,因此没有解析解
计算状态分布的积分。此外,对于多个对象,状态集的维数非常大,这使得积分更加困难,需要推导出近似解。

各种概率推断模型已应用于多目标跟踪[38,130,107,131],如卡尔曼滤波器[37,39]、扩展卡尔曼滤波器[36]和粒子滤波器[132,133,134,54,105,34,35]。

卡尔曼滤波器。在线性系统和高斯分布目标状态的情况下,卡尔曼滤波器[39]被证明是最优估计量。已在[37]中应用。

扩展卡尔曼滤波器。为了包括非线性情况,扩展卡尔曼滤波器是一种可能的解决方案。它用泰勒展开逼近非线性系统[36]。

粒子滤波。基于蒙特卡洛采样的模型在跟踪中也变得流行起来,特别是在引入粒子滤波器之后[132,133,134,54,105,34,35,10]。该策略通过一组加权粒子对底层分布进行建模,从而允许放弃对分布本身的任何假设[105,34,35,38]。

3.6.2、确定性优化

与概率推理方法不同,基于确定性优化的方法旨在找到MOT的最大后验解。为此,推断数据关联、目标状态或两者的任务通常被视为优化问题。该框架内的方法更适合于离线跟踪任务,因为需要提前获得来自所有帧或至少一个时间窗口的观测值。给定来自所有帧的观测(通常是检测假设),这些类型的方法努力将属于同一个物体的观测全局关联到一个轨迹中。关键问题是如何找到最优的关联。下面详细介绍了一些流行的和经过充分研究的方法。

二分图匹配。通过将MOT问题建模为二分图匹配,两组不相交的图节点可以是在线跟踪中的已有轨迹和新检测,也可以是离线跟踪中的两组轨迹。节点之间的权重被建模为轨迹和检测之间的亲和力。然后采用贪婪二分分配算法[124,34,136]或最优匈牙利算法[61,69,137,33,41]来确定两个集合中节点之间的匹配。

动态规划。采用扩展动态规划[138]、线性规划[139,140,141]、二次布尔规划[142]、k最短路径[44,19]、集覆盖[143]和子图多切[144,145,146]、最大多团[147]来解决检测或轨迹之间的关联问题。

最小成本最大流量网络流量。网络流是一个有向图,其中每条边都有一定的容量。对于MOT,图中的节点是检测响应或轨迹。流被建模为连接两个节点的指示器。为了满足流量平衡的要求,在图中增加一个源节点和一个汇聚节点,对应于轨迹的起点和终点。在图中,一条轨迹对应一条流动路径。从源节点过渡到汇聚节点的总流量等于轨迹数,过渡成本为所有关联假设的负对数似然值。请注意,全局最优解可以在多项式时间内获得,例如使用push-relabel算法。这个模型非常受欢迎,并被广泛采用[40,19,101,45,43,148,149,150,151]。

条件随机场。本文采用条件随机场模型处理[62,1,118,152]中的MOT问题。定义一个图G = (V,E)其中V是节点的集合,E是边的集合,低级的tracklet作为图的输入。图中的每个节点都表示观测值[118]或一对tracklet[62],并预测一个标签来指示观测值属于哪条轨迹或是否连接这些tracklet。

MWIS。最大权重独立集(MWIS)是一个有属性图的非相邻节点的最重子集。与上面描述的CRF模型一样,属性图中的节点表示连续帧中的tracklet对,节点的权重表示tracklet对的亲和度,如果两个tracklet共享相同的检测,则边缘连通。根据该图,数据关联被建模为MWIS问题[109,48]。

3.6.3、讨论

在实践中,与概率方法相比,确定性优化或能量最小化更受欢迎。虽然概率方法为问题提供了更直观和完整的解决方案,但它们通常很难推断。相反,能量最小化可以在合理的时间内获得“足够好”的解。

3.7、总结

如上所述,我们已经介绍并回顾了MOT系统的不同组件。需要注意的是,并非所有现有的MOT方法都具有所有组件。例如,在一些研究中,交互作用没有建模。有些模型仅在特定情况下是必要的,例如在极其拥挤的场景下的人群运动模式。在一些现有的作品中,遮挡并没有被特别处理。一般来说,外观、运动和推断在大多数方法中都是必需的。让我们以最简单的情况为例,即使用单个跟踪器单独跟踪每个对象。在本例中,交互、排斥和遮挡不涉及。但是外观和运动模型仍然是推理模型所必需的。

同样值得注意的是,这些分量彼此不是正交的。它们通常可以组合和集成以获得令人满意的性能。例如,交互被建模为几个术语以及关于外观、运动和排除建模的术语,并使用确定性技术对结果目标进行优化[85]。在[153]中,将外观、运动和位置特征等四种特征连接起来,用两层网络计算轨迹let-object相似度。在[154]中,通过亲和子网络融合外观和运动特征,以获得更强大的辨别能力。

4、MOT评估

对于给定的MOT方法,需要量化的指标和数据集来评估其性能。这很重要,有两个原因。一方面,测量不同部件和参数对系统整体性能的影响是设计最佳系统的必要条件;另一方面,希望能与其他方法进行直接比较。我们将在本节中看到,MOT的性能评估并不简单。

MOT方法的评估指标[155]至关重要,因为它们提供了一种公平定量比较的手段。本节简要回顾了不同的MOT评价指标。由于许多多目标跟踪方法采用基于检测的跟踪策略,因此通常在测量跟踪性能的同时测量检测性能。因此,在MOT方法中采用了目标检测的指标。基于此,MOT指标可以大致分为两类,分别评价检测和跟踪,如表7所示。
在这里插入图片描述

4.1、指标

4.1.1、检测指标

将检测指标进一步分组为两个子集。一套测量准确率,另一套测量精度。

准确率。将常用的查全率、查准率以及每帧平均虚警率(FAF)作为MOT度量[1]。Choi等人[66]使用每张图像的假阳性(FPPI)来评估MOT中的检测性能。文献[156]提出了一种综合指标,称为多目标检测精度(MODA),它考虑了误报和漏检的相对数量。

精度。多目标检测精度(MODP)度量度量预测检测和真实检测之间的对齐质量[156]。

4.1.2、跟踪指标

根据跟踪指标的不同属性,将跟踪指标分为4个子集。

准确率。这种指标可以衡量算法跟踪目标的准确率。ID开关的度量(IDs)[85]统计了MOT算法在对象之间切换的次数。多目标跟踪精度(multi - Object Tracking Accuracy, MOTA)指标[157]将误报率、漏报率和错配率结合到一个数字中,为整体跟踪性能提供了一个比较合理的数量。尽管有一些缺点和批评,这是迄今为止最广泛接受的评价措施。

精度。三个指标,多目标跟踪精度(MOTP)[157],跟踪距离误差(TDE)[38]和OSPA[158]属于这个子集。它们描述了通过边界框重叠和/或距离来测量跟踪对象的精确程度。具体来说,[158]中还额外考虑了基数误差和标签误差。

完整性。完整性指标表示跟踪真实轨迹的完整程度。多跟踪(MT)、部分跟踪(PT)、多丢失(ML)和碎片(FM)数量[42]属于该集合。

鲁棒性。为了评估MOT算法从遮挡中恢复的能力,在[53]中引入了从短期遮挡中恢复(RS)和从长期遮挡中恢复(RL)的指标。

4.2、数据集

为了与现有的各种方法进行比较,并确定MOT的最新进展,使用公开的数据集对所提出的方法进行了评估。表8给出了文献中使用的最流行的数据集。
在这里插入图片描述

这些数据集在MOT的发展过程中发挥了重要作用。然而,它们存在一些问题。首先,MOT的数据集规模相对较小,如在线目标跟踪基准测试[30]和VOT challenge[159]中使用的序列,这推动了SOT的快速发展和标准化评估。其次,目前的数据集主要针对行人。这可以归因于近年来行人检测取得了巨大的成功。然而,近年来,多类别检测取得了令人振奋的进展。基于多类别目标检测模块,多类别多目标跟踪是可行的。因此,是时候转向MOT的多类对象数据集了。

4.3、公开算法

我们查阅了相关文献,并在表9中列出了相关源代码公开的算法,以便于进一步比较。
在这里插入图片描述

与SOT相比,公共项目似乎并不多。不可否认,最近SOT的进步比MOT大。一个原因可能是,许多研究人员已经公开了他们的代码。我们在这里鼓励研究人员发布代码,以便将来其他人的研究方便。

4.4. 基准测试结果

在这里插入图片描述

我们列出了上述数据集上的公开结果,以便对不同方法进行直接比较,为以后的比较提供方便。由于篇幅限制,我们仅在表10中给出了最常用的PETS2009-S2L1序列的结果。其他数据集的结果出现在补充材料中。请注意,这种在同一数据集上的直接比较可能不公平,原因如下:

  • 不同的方法。例如,一些论文属于离线方法,而另一些属于在线方法。由于2.2.2节所述的差异,直接比较它们是不公平的,因为前者可以获得更多的信息。
  • 不同的检测假设。不同的方法采用不同的检测器来获得检测假设。基于不同检测假设的方法会输出不同的结果,更不用说不同的方法了。
  • 一些方法聚合来自多个视图的观察结果,而另一些方法利用来自单个视图的信息。这使得它们之间很难进行直接比较。
  • 一些方法利用了场景结构和行人数量等先验信息,并与未使用这些信息的方法进行了直接的定量比较。

严格地说,为了做出直接和公平的比较,人们需要修复所有其他组件,同时改变正在考虑的组件。例如,采用不同的数据关联模型而其他部分保持一致,可以直接比较不同数据关联方法的性能。这是最近的多目标跟踪基准的主要目标,如KITTI[182]和MOTChallenge[31,183],它们特别关注多目标跟踪的集中评估。对于不同MOT解决方案的深入实验比较,请参阅各自的基准。尽管存在上述问题,但由于以下原因,仍然值得列出同一数据集或序列上的所有公开结果。

  • 通过将所有已发表的结果汇编到一张表中,至少可以在同一数据集上直观地比较不同方法的性能,为以后的工作提供了方便。
  • 虽然这种个别方法之间的特殊比较可能不公平,但不同类型的方法之间的近似比较,如离线和在线方法之间的比较,可以告诉我们这些类型的方法在公共数据集上的表现如何。
  • 此外,通过比较不同年份方法的性能,我们可以观察到MOT的研究是如何随着时间推移而发展的。

我们描述了MOTA、MOTP、IDS、Precision、Recall、MT、PT、ML、FM和F1指标的结果。同时,对结果进行在线和离线标注。请注意:1)存在缺失条目,因为我们既没有从原始论文中找到对应的值,也没有从引用它的其他论文中找到对应的值;2)在某些情况下,一个唯一的论文可能会有不同的结果(例如,原始论文的结果与另一个与之比较的论文的结果)。这种差异可能是因为采用了不同的配置(例如不同的检测假设)。在这种情况下,我们引用最常被引用的一个。

该文在PETS2009-S2L1数据集上对离线方法和在线方法进行了对比实验。我们选择了2012年及之后发表的论文中的结果,对每种方法的每个指标取平均值,并将平均值报告在表11中。正如所料,在大多数指标上,离线方法的性能通常优于在线方法。这是由于离线方法使用全局时间信息进行估计。
在这里插入图片描述

此外,我们分析了PETS2009-S2L1数据集随时间变化的评估结果。具体来说,我们在图6中绘制了从2009年到2015年每年方法的度量值。随着时间的推移,性能的提高也就不足为奇了。我们怀疑,更好的模型和目标检测的进展[184,185,186,187,188,189,190,191]等因素都有助于所取得的进展。还应该注意的是,研究界随着时间的推移关注特定数据集,某些方法可能是该数据集的“过拟合”,而不是解决问题的一般进展。
在这里插入图片描述

5、总结

描述了视频中多目标跟踪(MOT)任务的相关方法和问题。作为近10年来的第一次全面文献综述,给出了统一的问题表述和现有方法的分类方式,描述了当前最先进的多目标优化方法中的关键组成部分,并讨论了包括评估指标、公开数据集、开源实现和基准测试结果在内的多目标优化算法评估。尽管在过去的几十年里,MOT研究取得了很大的进展,但目前仍存在一些问题和许多开放问题有待研究。

5.1、现有的问题

我们讨论了数据集(第4.2节)和公开算法(第4.3节)存在的问题。除了这些问题,还有一些值得注意的问题:

MOT研究中的一个主要问题是,MOT方法的性能在很大程度上依赖于目标检测器。例如,广泛使用的基于检测的跟踪范式是建立在目标检测器之上的,它提供检测假设来驱动跟踪过程。在修复其他组件的同时,给定不同的检测假设集,相同的方法将产生性能差异显著的跟踪结果。在社区中,该方法有时没有对检测模块进行描述。这使得与其他方法进行比较是不可行的。已建立的基准,如KITTI和MOTChallenge,试图缓解这个问题,也正在朝着更有原则和统一的检测和跟踪评估(cf。MOT17)。

另一个麻烦是,在开发MOT解决方案时,如果算法太复杂,会有很多参数。这导致了调整方法的困难。同时,其他人也难以实现该方法并重现结果。

有些方法在特定的视频序列中表现良好。然而,当应用于其他情况时,它们可能不会产生令人满意的结果。原因是多方面的。摄像机视角的差异,或者摄像机的状态(移动与静止)可能会导致这个问题。这也可能是由于MOT方法使用的目标检测器是在特定的视频中训练的,在其他视频序列中泛化性不佳。

这些问题都制约着MOT研究的进一步发展及其在实际系统中的应用。最近,有人试图解决其中的一些问题。, MOT基准[183]提供了大量带注释的测试视频序列、统一的检测假设、标准的评估工具等。这很有可能推动MOT技术的进一步研究和发展。

5.2、未来的发展方向

尽管对MOT问题的研究已经进行了几十年,但仍然存在着大量的研究机会。文中指出了一些比较普遍的问题,并提出了可能的研究方向。

MOT与视频适配。如上所述,目前大多数MOT方法都需要一个离线训练的目标检测器。由于目标检测器没有针对给定视频进行训练,因此出现了特定视频的检测结果不是最优的问题。这通常会限制多目标跟踪的性能。为了提高MOT的性能,需要定制目标检测器。Shu等人提出的一种解决方案[192]通过逐步细化通用行人检测器,使通用行人检测器适应特定视频。这是提高MOT方法预处理阶段的一个重要方向。

多摄像头下的MOT。很明显,MOT将从多摄像机设置中受益[193,194]。多摄像头有两种配置。第一种是多个摄像机记录相同的场景,即多个视图。然而,在这种设置中,一个关键问题是如何融合来自多个摄像机的信息。第二种是每个摄像机记录不同的场景,即非重叠的多摄像机网络。在这种情况下,跨多个摄像机的数据关联就成为了一个重识别问题。

多3D目标跟踪。目前大多数跟踪方法都是针对二维(即图像平面)上的多目标跟踪,即使在多摄像机的情况下也是如此。3D跟踪[195]可以为高级计算机视觉任务提供更准确的位置、大小估计和有效的遮挡处理,可能更有用。然而,3D跟踪需要相机校准,或者必须克服其他挑战来估计相机姿态和场景布局。同时,3D模型设计是2D MOT所不能解决的另一个问题。

MOT与场景理解。之前的研究[37,196,197]已经对过度拥挤的场景进行了分析,例如高峰时段的地铁车站和公共场所的示威活动。在这种情况下,大多数目标都是小的和/或大部分被遮挡的,因此很难跟踪。场景理解的分析结果可以提供场景的上下文信息和场景结构,如果能更好地融入到MOT算法中,将对跟踪问题有很大帮助。

MOT与深度学习。基于深度学习的模型已经成为一种非常强大的框架,可以处理不同类型的视觉问题,包括图像分类[198],目标检测[186,187,188],以及更相关的单目标跟踪[184]。对于MOT问题,深度学习模型为目标检测提供的强观测模型可以显著提升跟踪性能[199,200]。使用深度神经网络[201,202,203,204]来制定和建模目标关联问题需要更多的研究工作,尽管最近首次尝试将顺序神经网络用于在线MOT。注意力机制[205]、LSTM[114,97]等模块也被研究人员用于解决MOT问题。

MOT与其他计算机视觉任务。虽然多目标跟踪也服务于其他高级计算机视觉任务,但由于多目标跟踪与其他一些计算机视觉任务是相互受益的,因此联合解决多目标跟踪问题是一种趋势。可能的组合包括对象分割[206,207,208,209],再识别[210,194,211],人体姿态估计[18,212,213,214,215]和动作识别[19]。

除了上述未来方向外,由于目前的多目标跟踪研究主要集中在监控场景中的多人跟踪,因此将当前多目标跟踪研究扩展到其他类型的目标(如车辆、动物等)和场景(如交通场景、航拍照片等)也是非常好的研究方向。不同场景下不同类型目标的跟踪问题设置和难度与监控场景下多人跟踪问题设置和难度存在较大差异。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/197194.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

安装httprunner manager遇到的坑

安装httprunner manager参考博客:https://www.cnblogs.com/MrqiuS/p/12944481.html安装mysqlclient报错Collecting mysqlclient1.3.12Downloading https://mirrors.aliyun.com/pypi/packages/6f/86/bad31f1c1bb0cc99e88ca2adb7cb5c71f7a6540c1bb001480513de76a931/m…

maven利用springboot的配置文件进行多个环境的打包

在Spring Boot中多环境配置文件名需要满足application-{profiles.active}.properties的格式,其中{profiles.active}对应你的环境标识,可以随意命名,但要与pom文件中环境标识一样。至于哪个具体的配置文件会被加载,需要在applicati…

Docker系列 01

前言 学完这篇文章,你会知道Docker是什么?解决了什么问题以及如何安装Docker。在后续的系列文章中,我们会陆续介绍Docker的常用命令、镜像原理、Dockerfile以及网络管理等,让你对Docker有较为系统的认知,持续关注吧。 …

多继承的运用

//在封装一个领导类(Leader):包括受保护成员:岗位、工资,完成其相关函数及show//由以上两个类共同把派生出学生干部类:引入私有成员:管辖人数,完成其相关函数以及show函数//在主程序中&#xff…

一刷代码随想录——动态规划

1.理论基础如果某一问题有很多重叠子问题,使用动态规划是最有效的。所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的。对于动态规划问题,我将拆解…

24考研——高等数学的基础概念定理(一)——第一章|函数、极限、连续

今天考试,考定理,我是真没想到这些定理,脑袋瓜子嗡嗡的,害,废话少说,直接开干 文章目录一、基础概念定理1.1 收敛数列的性质(唯一性、有界性、保号性、数列与子列关系)1.2 函数极限的…

一款语文老师写的word办公神级插件

没错,正如题所说,这是一款语文老师开发的word办公神级插件----不坑盒子,小编体验了一下还真是太强大了!双击exe文件,选择任意安装目录即可开始安装如果你的电脑缺少运行库,软件会自动帮你下载安装好安装完成…

QT模块化编程 pro pri 子工程 使用

如果工程过大时,就需要分子模块,Qt 也给我们提供了一种方式 Pri; 这里我们来看看Pri在项目中的使用,项目使用实际上也是很有主要可以模块清晰化,能提高程序的可扩展性。 网上这种写的很多,但少有写明白的&…

EGFR靶点药物研发进展-销售数据-上市药品前景分析

根据世界卫生组织的最新报告,与世界上其他癌症相比,肺癌导致的死亡率最高。非小细胞肺癌 (NSCLC) 约占肺癌病例总数的 85%。大量的风险因素归因于肺癌的发展,表皮生长因子受体 (EGFR) 是最常见的突变驱动基因之一,通过调节 PI3K/A…

Sentinel之授权规则与规则持久化

一、上集回顾上级文章地址:【SpringCloud】Sentinel 之隔离与降级_面向架构编程的博客-CSDN博客我们先来回顾一下Sentinel控制台上面的功能:所以,本章节就来研究 "授权规则"这一功能模块。二、授权规则授权规则可以对请求方来源做判…

XV6实验(2020)

XV6实验记录(2020) 环境搭建 参考连接 Lab guidance (mit.edu) 6.S081 / Fall 2020 (mit.edu) xv6 book中文版 Lab1:Xv6 and Unix utilities 实现几个unix实用工具,熟悉xv6的开发环境以及系统调用 Boot xv6 就是准备环境,克隆仓库,编…

代码随想录算法训练营第五十三天|● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和 动态规划

一、1143.最长公共子序列 题目: 给定两个字符串 text1 和 text2,返回这两个字符串的最长公共子序列的长度。 一个字符串的 子序列 是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不…

Android 自定义控件

文章目录Canvas 画布类 画布背景 点 线 矩形 椭圆 圆 弧形 路径 字符 对画布裁剪及变形Paint 画笔类 常用方法 图形线条相关 字符相关 Path设置样式如果是一个自定义控件,则需要派生自 Vie…

【Vue】模板语法——内置指令

指令(Directives)是 vue 为开发者提供的模板语法,用于辅助开发者渲染页面的基本结构。vue 中的指令按照不同的用途可以分为如下几大类:① 内容渲染指令:v-text、v-html② 属性绑定指令:v-bind③ 事件绑定指…

<Java EE 进阶> 3.Spring简单的读和取

目录 1.存储Bean对象 (1)准备工作:配置扫描路径 (2)添加注解存储Bean对象 ① 类注解 ② 方法注解Bean 在String中更简单的存储和读取对象的核心是使用注解 1.存储Bean对象 (1)准备工作&am…

Linux内核的安装与加载

目录 一、tftp加载Linux内核和roootfs 二、 EMMC加载Linux内核和rootfs 三、tftp加载Linux内核nfs挂在根文件系统 四、EMMC加载uboot 一、tftp加载Linux内核和roootfs 这个就是Linux内核,它很轻量级只有2.949MB所以在嵌入式领域很受欢迎。 上面那个就是设备树文…

初识 Python 科学计算库之 NumPy(创建多维数组对象)

文章目录参考描述NumPy特点获取导入多维数组对象np.array()np.asarray()范围随机概览np.random.randn()np.random.normal()np.random.choice()np.random.random()np.random.randint()np.random.shuffle()np.random.seed()数列等差数列等比数列填充np.zeros()np.zeros_like()np.…

Spotify Q4用户增长再超预期,但为何还是赚不到钱?

2022年,美联储接连7次暴力加息,科技行业整体低迷,从Meta、Google再到亚马逊,大型科技公司接连宣告裁员过冬。 寒气已经传递到了更广阔的地方。1月下旬,瑞典音乐流媒体巨头Spotify宣布将裁员6%。 音乐流媒体的生意变得…

Python自动化测试实战篇(1)读取xlsx中账户密码,unittest框架实现通过requests接口post登录网站请求,JSON判断登录是否成功

Python接口项目实战篇(1)读取xlsx中账户密码,unittest框架实现通过requests接口post登录网站请求,JSON判断登录是否成功实现功能描述1.首先获取到接口谷歌浏览器中获取接口信息fiddler里面抓取接口信息2.创建一个xlsx文档3.导入我…

【C++】继承详解

目录继承的概念及定义继承的概念继承的定义定义格式继承关系和访问限定符继承基类成员访问方式的变化基类和派生类对象的赋值转换继承中的作用域派生类的默认成员函数继承和友元继承与静态成员复杂的菱形继承及菱形的虚拟继承菱形继承的概念虚拟继承**虚拟继承的原理**&#xf…