Learning a Proposal Classifier for Multiple Object Tracking(学习用于多目标跟踪的建议分类器)
项目开源地址:LPC_MOT
多目标跟踪(MOT)的最新趋势是利用深度学习来提高跟踪性能。然而,以端到端方式解决数据关联问题并非易事。在本文中,我们提出了一种新的基于提议的可学习框架,将MOT建模为提议生成、提议评分和亲和图上的轨迹推理范式。该框架类似于两阶段目标检测器Faster RCNN,可以以数据驱动的方式解决MOT问题。对于建议生成,我们提出了一种迭代图聚类方法,以减少计算成本,同时保持生成建议的质量。对于提案打分,我们部署了一个可训练的图卷积网络(GCN)来学习生成的提案的结构模式,并根据估计的质量分数对它们进行排名。在轨迹推理方面,采用简单的去重叠策略生成跟踪输出,同时满足不能将检测分配给多个轨迹的约束。我们的实验证明,在两个公共基准测试中,所提出的方法在MOTA和IDF1中都取得了明显的性能改进
介绍
视频中多目标跟踪是许多应用领域中的一个重要问题。特别是,在监控、商业分析、机器人和自动驾驶领域,估计人类的位置和动作是人们非常感兴趣的领域。准确而自动地感知他们的位置,以及与他人或环境的互动,可以帮助识别潜在的非法活动,了解客户与零售空间的互动,规划机器人或自动车辆的路径。
多目标跟踪(MOT)的最终目标是在不受他人干扰的情况下,将每个人的轨迹估计为一个完整的轨迹。为了设计和实现鲁棒性和准确性的MOT算法,过去在这一领域做了大量的研究。然而,正如各种公共基准的最新结果所报告的那样,这个问题仍然没有解决。MOT的关键挑战主要是由于遮挡和场景杂波,就像在任何计算机视觉问题。考虑两个人(图1中的黄色和紫色盒子)在一个空间社区中一起行走的情况。在某一时刻,两个人都能被摄像头看到,最近的物体检测算法可以很容易地检测到他们。然而,当两个人沿着相机轴对齐时,其中一个被另一个完全遮挡,然后当其中一个经过另一个时,两者都变得可见。由于光照、阴影、相似的衣服等各种原因,两个目标之间的视觉外观可能会有细微的差异,因此在不受污染的情况下准确估计轨迹(通常称为身份转移)仍然是关键的挑战。在更拥挤的场景中,这种遮挡可能发生在多个人群中,这给任何MOT算法带来了很大的麻烦。此外,MOT问题的解自然有一个指数级大的搜索空间1,这使得我们无法使用复杂的机制
传统的方法侧重于通过使用各种启发式、手工定义的机制来处理遮挡来解决问题。多假设跟踪是MOT最早的成功算法之一。多假设跟踪处理遮挡的一个关键策略是通过保持多个假设的活动来延迟数据关联决策,直到数据关联歧义得到解决。基于网络流的方法由于其计算效率高和最优性好,近年来已成为MOT的标准方法。在这个框架中,数据关联问题被建模为一个图,其中每一个节点表示一个检测,每个边缘表示节点之间可能的连接。然后,通过连接非连续节点对来处理遮挡。多假设跟踪和基于网络流的方法都需要为不同的场景手工设计合适的跨间隙亲和。然而,枚举所有可能的具有挑战性的情况并为每个情况实现确定性逻辑是不可行的。
多假设追踪 : 基于检测的跟踪方法是MOT领域的实际框架,它需要解决在每个时间戳给定检测的数据关联问题。假设空间的大小与探测次数成指数关系
提出了一种简单但非常有效的方法,以数据驱动的方式解决MOT问题。在本文中,作者受目标检测和人脸聚类技术最新进展的启发,作者提出用两个关键模块来设计MOT算法:
- 方案生成
- 基于图卷积网络的评分制度
具体流程如下图所示:
1.首先给定一组帧(已经检测的)作为输入数据
2. 将图构造成数据关联问题的模型。图中的节点表示检测/轨迹,边缘表示节点之间可能的连接。不同颜色的节点代表不同的对象。类似于两阶段更快的目标检测器RCNN,我们的方法采用了一个基于提议的框架。基于亲和图生成多个提议(即候选对象轨迹)。
3.使用可训练的GCN评估生成的提案的质量分数
4.采用一种简单的去重叠策略进行轨迹推理并得到最终的跟踪输出。
本文最重要的三个工作:
1.提出了一个新的可学习框架,将MOT作为建议生成、建议评分和轨迹推理管道。在这个管道中,我们可以为每个模块使用现成的算法
2.提出了一种迭代图聚类策略来生成建议。在保证生成的建议质量的同时,大大降低了计算成本
3.使用可训练的GCN进行提案评分。通过直接优化整个提案得分而不是两两匹配代价,GCN可以在提案中加入高阶信息,从而做出更准确的预测
相关工作
大多数最先进的MOT工作遵循检测跟踪范式,将MOT任务分为两个子任务:第一,逐帧获取目标检测;第二,将探测集连接到轨道上。第一个子任务通常用对象检测器来处理,对于在线应用程序,后者可以逐帧完成,对于离线场景,则可以批处理完成。对于可以离线完成的视频分析任务,批处理方法是首选,因为它们可以合并过去和未来的帧来执行更准确的关联,对遮挡更有鲁棒性。批量建模数据关联的常用方法是使用图,其中每个节点表示一个检测,每个边表示节点之间可能的连接。然后,数据关联可以转换为一个图划分任务,即寻找最佳活动边集来预测图的轨迹划分。具体来说,批处理方法所使用的优化方法不同,包括网络流、广义最大多团、线性规划、最大权独立集、条件随机场、k最短路径、基于超图的优化等。综上所述,MOT的研究趋势已经从试图为关联问题寻找更好的优化算法转向关注深度学习在亲和计算中的应用。
现有的深度学习MOT方法大多专注于改进亲和模型,因为深度神经网络能够学习强大的视觉和运动学特征,从而将跟踪的目标与背景和其他类似目标区分开来。Leal Taixé等人采用孪生卷积神经网络(CNN)从RGB图像和光流图中学习外观特征。Amir等人使用LSTM对观察序列中的长期相关性进行编码。Zhu等人提出了同时具有空间和时间注意机制的双重匹配注意网络,以提高跟踪性能,特别是在身份保持度量方面,Xu等人应用时空关系网络结合各种线索,如外观、位置和拓扑。最近,Xu证实了学习性再识别(ReID)特征对MOT的重要性。所有上述方法都独立于关联过程学习成对的亲和性,因此仍然需要一个经典的优化求解器来获得最终的轨迹。
最近,一些工作将优化求解器融入到学习中。Chu等人提出了一种端到端的模型,名为FAMNet,用于在单个深度网络中改进特征表示、亲和力模型和多维分配。Xu等人提出了一种可微分的深度匈牙利网(DHN)来近似匈牙利匹配算法,并提供了最优预测到地面真相分配的软近似。Schulter等人设计了一个双层优化框架,该框架将平滑网络流问题的优化框定为成对关联代价的可微函数。Brasó等人将不可学习的数据关联问题建模为可微边分类任务。在该框架中,采用无向图对数据关联问题进行建模。然后,利用消息传递网络在图域进行特征学习。然后,学习边缘分类器将图中的边缘分为活动边和非活动边。最后,通过对图中的连通分量进行分组,有效地获得跟踪输出。然而,这种管道通常不能保证流量守恒约束。最终的跟踪性能可能对满足的流量守恒约束的百分比很敏感。类似地,我们的方法也用无向图建模数据关联问题。然而,我们的方法遵循一种新的基于提案的可学习MOT框架,类似于两阶段目标检测器Faster RCNN,即提案生成、提案评分和提案剪枝。
方法
给定一批视频帧并进行相应的检测: (这里k是所有帧的检测总数),每个检测用:
其中O表示包围框的原始像素,P表示它的2D图像坐标,T表示其时间戳。
轨迹被定义为一组时间顺序的检测:其中ni是形成轨迹i的探测次数。MOT的目标是为每个检测分配一个轨道ID,形成一组m个对象的轨迹T={T1, T2, T3… Tm}。
框架概述
如上图所示,作者所提框架包含四个主要的阶段:
(1)数据预处理:
为了降低提案生成的模糊性和计算复杂度,在连续帧中链接检测D,生成一组碎片T={T1,···,Tn}。这些碎片T作为后续模块的基本单元。
(2)Proposal生成:
如上图b部分所示,采用一个图
来构建轨迹数据集 T,其中图中的一个子集Pi={Vi}就是一个Proposal.受Learning to cluster faces on an affinity graph此文的启示,本文提出了一种迭代图聚类策略。通过模拟自底向上聚类过程,它可以在提案质量和计算成本之间提供良好的折衷。
(3)Proposal评分
对于过于完整的Proposal集P={Pi},我们需要计算它们的质量分数并对它们进行排序,以便选择最能代表真实轨道的提案子集。
理想情况下,质量分数可以定义为准确率和召回率的组合:
(4)轨迹推断
与目标检测中的非最大值抑制类似,需要一种轨迹推断策略来生成最终的跟踪输出T∗ 与排名的建议。此步骤是为了遵守跟踪约束,例如没有为多个轨迹指定轨迹。为了降低计算量,作者采用了一种复杂度为O(n)的简单去重叠算法。
数据预处理
作者使用tracklets T={T1,…,Tn }作为图构建的基础单元,n表示tracklets的数目,远少于检测数目k 。首先使用CNN对于每个检测di提取相应的ReID特征ai。然后基于外貌时间和位置信息这三个亲密度计算两个检测或者检测和tracklets之间的总体亲密度。最终,通过基于亲密度使用匈牙利算法连接检测产生tracklets。tracklets的纯度直接影响后续的推理实验。这里作者使用一个双向阈值策略,对于高亲密相关的使用高的阈值θ1使用低阈值θ2避免关联存在相似亲密度的竞争对手。
迭代proposal生成
提出了一种迭代的集群策略以逐渐增加建议。具分为两部分:Affinity Graph Construction 亲和图构造和分组Proposal。
proposal建议生成的可视化。在每次迭代中,只有满足选通阈值的一小部分边(红色实线)可以激活。迭代i中生成的每个簇将在迭代i+1中分组为一个顶点。为了保持簇的纯度,在最初的几次迭代中设置了严格的选通阈值。随着迭代次数的增加,这些阈值将逐渐放宽以增加提案。
Affinity Graph Construction 亲和图
每次迭代一个i,构建一个亲和图G建模所有的顶点V={V1,V2…Vn}之间的相识度,顶点(Vi,Vj)之间的边的亲密度得分定位为基于时空和外貌相似度的平均得分,具体就是;
分组Proposal
Proposal生成的基本思想是使用连接的组件来查找集群。为了在早期迭代中保持生成的簇的高纯度,我们将每个簇的最大大小限制在阈值Smax以下。在此阶段,目标对象的顶点可能会过度分割为多个簇。迭代中生成的簇用作下一次迭代的输入顶点。可以在这些簇之上构建一个新的图,从而生成更大的簇。最终的提案集包括每个迭代中的所有集群,因此提供了一个过于完整和多样化的提案集p={Pi}。
纯度分类网络
在本节中,设计纯度分类网络来估计生成的提议Pi的精度得分prec{Pi},具体来说就是给定一个带有Ni顶点的提议Pi,使用GCN将与其顶点和子图关联矩阵相关的特征作为输入,并预测Pi为纯的概率。如同所示,该模块由两个主要部分构成:
-
第一部分:特征编码,由于外观特征和时空特征都是重要的MOT线索,对于外观特征,可以利用CNN直接从每个检测的RGB数据中提取特征嵌入,然后对所有检测到的外观特征提取平均值,得到相应的外观特征。对于时空特征,选择使用一种编码表示,该表示包括每对时间相邻的轨迹编码和它们的相对位置,相对框大小以及时间距离。对于proposal将其顶点按照对应的起始时间戳升序排列,然后,对于每对时间相邻轨迹vi和vi+1,vi的结束时间戳和vi+1的开始时间戳分别表示为tei和tsi+1.这些时间戳中的边界框坐标由左上角图像坐标、宽度和高度参数化,即(xi,yi,wi,hi)和(xi+1,yi+1,wi+1,hi+1)。我们计算顶点vi的时空特征率:
如果 i>0 那么 sti=(1,0,0,0,0)。 有了外观特征 ai 和时空特征 sti,我们将它们连接起来形成每个顶点 vi 的特征编码fi = concat (ai,sti)。
-
第二部分:设计GCN,如上所述,我们已经获得了与Pi中的顶点相关的特征(记为F0(Pi))。对于Pi的亲和性矩阵(记为A(Pi)),采用全连通图,计算每对顶点之间的亲和性,如图3(A)所示。GCN网络由层组成,每层的计算可以表示为
其中
为对角矩阵,FI(Pi)表示第一层的特征嵌入。Wl 表示变换矩阵,σ 是非线性激活函数(在我们的实现中为 ReLU)。 在顶层特征嵌入 FL(Pi) 中,最大池化应用于 Pito 中的所有顶点以提供整体摘要。最后,利用全连接层将Pi划分为纯提议和非纯提议。如公式9所示,对于每一个GCN层,它实际上做了三件事:
1)计算每个顶点及其相邻顶点特征的加权平均;
2)用Wl变换特征;
3) 将变换后的特征输入非线性激活函数。 通过这个公式,纯度网络可以学习到提案 Pi 的内部一致性。
轨迹推理
根据纯度推断结果,我们可以通过公式1获得所有提议的质量分数。 采用一种简单的去重叠算法来保证每个tracklet被分配一个唯一的track ID。 首先,我们按质量分数的降序对提案进行排名。 然后,我们依次为排名列表中的提案中的顶点分配轨道 ID,并通过删除在前面的顶点中看到的顶点来修改每个提案。 详细算法在附录 A.2 的算法 3 中描述。
实验
所有的实验都是在多目标跟踪基准 MOTChallenge 上完成的,它由几个具有频繁遮挡和拥挤场景的具有挑战性的行人跟踪序列组成。 我们选择两个单独的跟踪基准,即 MOT17 [39] 和 MOT20 [17]。 这两个基准测试包括具有挑战性的视频序列,在不受约束的环境中具有不同的视角、大小、对象数量、相机运动、照明和帧速率。 为了确保与其他方法的公平比较,我们使用 MOTChallenge 提供的公共检测,并通过首先运行 [5] 对其进行预处理。 该策略广泛用于已发表的方法 [8,36]。 对于性能评估,我们使用广泛接受的 MOT 指标 [6,55,47],包括多目标跟踪精度 (MOTA)、ID F1 分数 (IDF1)、主要跟踪目标 (MT)、主要丢失目标 (ML)、 False Positives (FP), False Negatives (FN), IDswitches (IDs) 等。 在这些指标中,MOTA 和 IDF1 是最重要的,因为它们量化了 MOT 的两个主要方面,即对象覆盖率和身份 保存。
实现细节
ReID模型:对于用于提取ReID特征的CNN网络,我们采用了ResNet50的一种变体ResNet50-IBN,它用实例批norm (instance-batch-norm, IBN)层代替批norm层。在全局平均池化层之后,增加了批规范层和分类器层。采用三元损失和ID损失对模型权值进行优化。对于消融研究,我们使用两个公开数据集训练的ResNet50IBN模型:ImageNet和Market1501。而在最终的基准评估中,我们在MOT17和MOT20中添加了训练序列,对ResNet50IBN模型进行微调。注意,在基准测试中使用训练序列对测试序列的ReID模型进行微调是MOT方法中的一种常见做法。
参数设置:在亲和图构造中,σt和σp分别被经验地设为40和100。在生成建议时,设置最大迭代次数I=10,设置每个节点的最大邻居数K=3,设置最大聚类大小smax=2,设置聚类阈值步长∆=0.05。在轨迹推断中,权重参数设为1,C=200。
GCN训练:我们在实验中使用具有 L=4 个隐藏层的 GCN。 GCN 模型使用 Adam 优化器进行端到端训练,其中权重衰减项设置为 10−4,β1 和 β2 分别设置为 0.9 和 0.999。 批量大小设置为 2048。我们总共训练 100 次迭代,学习率为 10-3。 对于数据增强,我们随机删除检测以模拟漏检。 对于消融研究,采用留一法交叉验证策略来评估 GCN 模型。
后置处理:我们沿缺失的帧执行简单的双线性插值以填补轨迹中的空白。
消融实验
在本小节中,我们的目标是评估框架中每个模块的性能。我们用mo17数据集的训练序列进行所有实验。
Proposal 产生:为了评价提案生成的性能,我们选择oracle纯度网络进行提案纯度分类,即通过与ground-truth数据的比较来判断提案是否纯。对于基线,我们采用MHT算法[29],去除n扫描剪枝步骤。为了减少搜索空间,采用简单的门控策略,将每个顶点的最大链接数限制在20以内。对比结果汇总于表1。正如预期的那样,我们的迭代提案生成方法的时间成本远远小于基于mht的方法。同时,我们的方法可以获得与MOTA和IDF1相当的分数。这证明了它能够减少计算成本,同时保证生成的建议的质量。
最大迭代数的影响:提议生成中有四个参数,即 I、K、smax 和 ∆。 实验结果表明跟踪性能对 K、smax 和 ∆ 不敏感。 详细结果见附录 B。直观地,增加最大迭代数允许生成更多的建议,并提高生成的建议在长期遮挡下包含良好轨迹的可能性。因此,人们期望更高的erivalues会产生更好的性能。我们在图4中测试了这一假设,方法是在数目从1增加到10的情况下进行提案生成。正如预期的那样,我们看到MOTA和IDF1指标都有明显的上升趋势。此外,可以观察到两个指标的性能提升主要发生在将i从1增加到2时,这表明大多数遮挡都是短期的。我们还观察到MOTA和IDF1指标的上升趋势在7次迭代时停滞不前。在选择适当的迭代次数时,需要在性能和计算成本之间进行权衡。因此,我们在最终配置中使用ei = 10。
纯度分类网络
我们基于gcn的纯度分类网络接收每个顶点的两种主要特征流:
(i)来自ReID模型的外观特征.
(ii)来自方程8的时空特征。
我们通过组合上述两组特征的实验来测试它们的有效性。结果汇总于表2。它可以得出:
(i)的外观特性似乎在身份保护发挥更重要的作用,因此有更高的IDF1和太措施,
(ii)的时空特性可以减少FP和IDs的数量,和(3)结合这两个流的特性可以提高整体性能。
不同损失函数的影响:我们进行了一个实验来研究不同损失函数在模型训练中的影响。 表3分别列出了使用二元交叉熵损失(BCELoss)和均方误差损失(MSELoss)的详细定量比较结果。 使用 BCELoss 显示 0.6 IDF1 度量的增益和 ID 的少量减少。 因此,我们在最终配置中使用 BCELoss。
不同网络的影响:之前有很多使用深度神经网络的作品,例如 Temporal Convolutional Network 、Attention LongShort Term Memory、ALSTM 全卷积网络对观察序列进行时间推理。 表 4 展示了使用这些神经网络的结果。 需要注意的是,表4中的oracle性能是通过使用ground-truth数据进行纯度分类得到的。 通过将 GCN 与 Oracle 进行比较,我们可以看到 GCN 获得了更好的 MT 和 ML 度量,但比 Oracle 更差的 MOTA 和 IDF1 度量。 原因可能是基于 GCN 的提议纯度分类中的误报,这会产生一些不纯的轨迹,从而减少 IDF1 度量。 此外,不纯的轨迹会在后期处理中导致相当多的 FP,从而减少 MOTA 度量。 通过将 GCN 与其他神经网络进行比较,很明显 GCN 在大多数指标上都取得了更好的性能,尤其是将 IDF1 指标提高了 1.2 个百分点。 性能提升归因于其以消息传递方式学习订单信息以衡量每个提案的纯度的能力。 它验证了 GCN 更适合解决提案分类问题
轨迹推理
迭代贪心策略是MOT中应用最为广泛的一种推理方法。具体来说,迭代执行以下步骤:首先,评估所有现有提案的质量分数;其次,收集质量分数最高的提案,并为提案内的顶点分配唯一的track ID;第三,通过删除前面的顶点来修改剩下的建议。因此,迭代贪婪策略的计算复杂度为O(N2)。与迭代贪婪策略相比,简单的去重叠算法只估计一次质量分数。因此,它可以将计算复杂度降低到O(N)。对比结果汇总于表5。可以看出,简单的去重叠算法在MOTA和IDF1指标上的性能都比迭代贪婪策略略好。原因可能是随着迭代次数的增加,每个提案中的节点数量会减少。因此,纯度网络的分类精度可能会降低。
评价基准
我们在表6和表7中分别报告了我们的方法对mo17和mo20的定量结果,并将其与在mochallenge基准上正式发布的方法进行了比较。如表6和表7所示,我们的方法获得了最先进的结果,特别是在mo17和mo20上提高了1.2个百分点和3.4个百分点的IDF1测量。结果表明,该方法在身份保持方面具有较强的性能。我们将这种性能的提高归因于我们基于建议的可学习框架。首先,我们的建议生成模块生成了一组过完备的建议,提高了它在遮挡等具有挑战性的场景下的抗干扰能力。其次,我们基于gcn的纯度网络直接优化整个提议得分,而不是两两匹配成本,它考虑了高阶信息,进行全局信息预测。我们还在附录C中提供了更多的与其他方法在mo16基准上的比较结果。
在MOTA评分方面,我们的方法只比MPNTrack好一点点。需要注意的是,MOTA测量的是目标覆盖范围,而过于强调检测而不是关联[37]。我们使用与MPNTrack[8]相同的检测和后处理策略(简单双线性插值)。那么,达到类似的MOTA结果是符合预期的。IDF1比MOTA更适合用于评估,因为它侧重于测量关联精度而不是检测精度。我们还在附录D中提供了更多的定性结果。
结论
在本文中,我们提出了一个新的基于提议的MOT可学习框架。对于提案生成,我们提出了一种迭代图聚类策略,在提案质量和计算代价之间取得了良好的平衡。对于提案评分,部署了基于gcn的纯度网络来捕获每个提案中的高阶信息,从而提高了遮挡等挑战场景下的抗干扰能力。我们的实验证明,我们的方法实现了明显的性能改进,与以前的先进水平。在未来的工作中,我们计划使我们的框架具有端到端可培训性,特别是在提案生成任务方面。