多目标追踪之Sort与DeepSort

DeepSort-----具有深度关联指标的简单在线实时跟踪 

摘要

翻译

简单在线实时跟踪 (SORT) 是一种实用的多对象跟踪方法,重点关注简单、有效的算法。 在本文中,我们整合外观信息来提高排序的性能。 由于这种扩展,我们能够通过更长的遮挡时间来跟踪对象,从而有效地减少身份切换的数量。 本着原始框架的精神,我们将大部分计算复杂性放入离线预训练阶段,在该阶段我们在大规模人员重新识别数据集上学习深度关联度量。 在在线应用过程中,我们使用视觉外观空间中的最近邻查询建立测量与跟踪关联。 实验评估表明,我们的扩展将身份切换数量减少了 45%,在高帧速率下实现了整体竞争性能。 

精读 

 1.整合外观信息来提高排序性能。

 2.将计算复杂性放在离线预训练阶段。离线预训练阶段在大规模的人员id数据集上学习深度关联的特征。在在线过程中,对外观特征使用最近邻查询来关联id。

问题

1..整合外观信息来提高排序性能。

引言

翻译

由于对象检测的最新进展,检测跟踪已成为多对象跟踪的领先范例。 在这种范例中,对象轨迹通常出现在一次处理整个视频批次的全局优化问题中。 例如,流网络公式[1,2,3]和概率图模型[4,5,6,7]已成为此类流行的框架。 然而,由于批处理,这些方法不适用于每个时间步都必须提供目标身份的在线场景。 更传统的方法是多重假设跟踪(MHT)[8]和联合概率数据关联过滤器(JPDAF)[9]。 这些方法逐帧执行数据关联。 在 JPDAF 中,通过根据关联可能性对各个测量值进行加权来生成单状态假设。 在 MHT 中,所有可能的假设都会被跟踪,但必须应用剪枝方案来实现计算的易处理性。 最近在检测跟踪场景中重新审视了这两种方法 [10, 11],并显示出有希望的结果。 然而,这些方法的性能伴随着计算和实现复杂性的增加。 

简单在线实时跟踪(SORT)[12]是更简单的框架,使用匈牙利方法和测量边界框重叠的关联度量在图像空间中执行卡尔曼滤波和逐帧数据关联。 这种简单的方法可以在高帧速率下实现良好的性能。 在 MOT 挑战数据集 [13] 上,使用最先进的人体检测器 [14] 的 SORT 在标准检测上的平均排名高于 MHT。 这不仅强调了物体检测器性能对整体跟踪结果的影响,而且从从业者的角度来看也是一个重要的见解。 

在跟踪精度和准确度方面实现整体良好性能的同时,SORT 返回相对较高数量的身份切换。 这是因为所采用的关联度量仅在状态估计不确定性较低时才准确。 因此,SORT 在通过遮挡进行跟踪方面存在缺陷,因为遮挡通常出现在前视摄像头场景中。 我们通过将关联度量替换为结合了运动和外观信息的更明智的度量来解决这个问题。 特别是,我们应用了经过训练的卷积神经网络(CNN),可以在大规模行人重新识别数据集上区分行人。 通过集成该网络,我们提高了针对遗漏和遮挡的鲁棒性,同时保持系统易于实施、高效且适用于在线场景。 我们的代码和预训练的 CNN 模型已公开,以促进研究实验和实际应用开发。 

精读

1. 检测跟踪成为多对象跟踪的一个主要方法,在检测跟踪的范式中,对象轨迹通常通过全局优化来确定。全局优化方法能提供高精度的目标轨迹,但它们适用于批处理场景,不能实时应用于每一帧。MHT和JPDAF逐帧处理数据关联,能够实时更新目标身份,但它们的计算量较大,且随着算法复杂性的增加。

 2.sort使用匈牙利方法和测量边界框重叠的关联度量在图像空间中执行卡尔曼滤波和逐帧数据关联,效果更好。

3.sort在跟踪精度和准确度表现好,但也返回了较高的身份切换,我们通过将关联度量替换为结合了运动和外观信息的更明智的度量来解决这个问题。

使用深度关联指标排序

2.1. 轨迹处理和状态估计

翻译

我们采用传统的单一假设跟踪方法,具有递归卡尔曼滤波和逐帧数据关联。

轨迹处理和卡尔曼滤波框架与[12]中的原始公式基本相同。 我们假设一个非常普遍的跟踪场景,其中相机未校准并且我们没有可用的自我运动信息。 虽然这些情况对过滤框架提出了挑战,但它是最近的多个对象跟踪基准测试中考虑的最常见的设置[15]。 因此,我们的跟踪场景是在八维状态空间(u,v,γ,h,˙x,˙y,˙γ,˙h)上定义的,其中包含边界框中心位置(u,v),纵横比γ 、高度 h 以及它们各自在图像坐标中的速度。 我们使用具有等速运动和线性观察模型的标准卡尔曼滤波器,其中我们将边界坐标(u,v,γ,h)作为对象状态的直接观察。

对于每个轨道 k,我们计算自上次成功测量关联 ak 以来的帧数。 该计数器在卡尔曼滤波器预测期间递增,并在轨迹与测量关联时重置为 0。 超过预定义最大寿命 Amax 的轨迹被视为已离开场景并从轨迹集中删除。 对于无法与现有轨迹关联的每个检测,都会启动新的轨迹假设。 这些新轨道在前三帧中被归类为暂定轨道。 在此期间,我们期望每个时间步骤都有成功的测量关联。 前三帧内未成功关联到测量的轨迹将被删除。 

精读

1.跟踪场景在八维空间定义,包含边界框中心位置(u,v),纵横比γ 、高度 h 以及它们各自在图像坐标中的速度。使用卡尔曼滤波器进行观察。

2.轨迹的生命周期管理: 通过计算自上次成功测量关联以来的帧数,系统能够判断目标是否仍然在场。如果一个目标的轨迹在多帧内无法关联,则认为它已经离开场景,进而删除该轨迹。

新轨迹的启动与验证: 对于每个无法与现有轨迹关联的检测,系统启动一个新轨迹假设,并将其标记为暂定轨道。在前三帧内,这些轨迹必须与实际目标的检测成功关联才能被确认。如果未能成功关联,则这些轨迹会被删除。 

问题 

1.举个例子,更直观。

假设目标在帧 t被成功检测并关联,系统会记录这个时间点。然后,在后续的每一帧 t+1,t+2… 中,帧数计数器都会增加。如果目标在帧 t+3 没有被检测到并成功关联,那么计数器就会等于 3,表示目标已经失去跟踪。

如果帧数计数器超过了某个预设的最大值(比如 Amax),那么系统就会认为该目标已经离开场景,不再尝试继续跟踪它,并从轨迹集中删除该目标。

 2.2. 分配问题

翻译

解决预测卡尔曼状态和新到达的测量之间的关联的传统方法是构建可以使用匈牙利算法解决的分配问题。 在这个问题的表述中,我们通过组合两个适当的指标来整合运动和外观信息。 为了合并运动信息,我们使用预测卡尔曼状态和新到达的测量值之间的(平方)马哈拉诺比斯距离:

其中,我们用 (yi, Si) 表示第 i 个轨迹分布到测量空间的投影,用 dj 表示第 j 个边界框检测。 马哈拉诺比斯距离通过测量检测距离平均轨道位置的标准偏差来考虑状态估计不确定性。此外,使用此度量,可以通过在从逆 χ2 分布计算出的 95% 置信区间对马哈拉诺比斯距离进行阈值化,从而排除不太可能的关联。我们用一个指标来表示这个决定。

如果第 i 个轨迹和第 j 个检测之间的关联是可接受的,则评估结果为 1。 对于我们的四维测量空间,相应的马哈拉诺比斯阈值是 t(1) = 9.4877。

虽然当运动不确定性较低时,马哈拉诺比斯距离是一个合适的关联度量,但在我们的图像空间问题公式中,从卡尔曼滤波框架获得的预测状态分布仅提供了对象位置的粗略估计。特别是,未考虑的相机运动可能会在图像平面中引入快速位移,使得马哈拉诺比斯距离成为通过遮挡进行跟踪的相当不知情的度量。因此,我们将第二个指标集成到分配问题中。对于每个边界框检测 dj,我们计算一个外观描述符 rj,其中 ‖rj‖ = 1。此外,我们为每个轨迹保留最后一个 Lk = 100 个相关外观描述符的图库Rk = {r(i) k }Lk k=1,每个轨道 k 的最后 Lk = 100 个相关外观描述符。 然后,我们的第二个度量测量外观空间中第 i 个轨迹和第 j 个检测之间的最小余弦距离。

我们在单独的训练数据集上找到了该指标的合适阈值。 在实践中,我们应用预先训练的 CNN 来计算边界框外观描述符。 该网络的架构在 2.4 节中描述。 结合起来,这两个指标通过服务于分配问题的不同方面来相互补充。 一方面,马氏距离提供了有关基于运动的可能对象位置的信息,这对于短期预测特别有用。 另一方面,余弦距离考虑了外观信息,当运动的辨别力较差时,这些信息对于在长期遮挡后恢复身份特别有用。 为了构建关联问题,我们使用加权和将两个指标结合起来 

如果关联位于两个指标的门控区域内,我们称该关联为可接受的:

每个指标对组合关联成本的影响可以通过超参数 λ 来控制。 在我们的实验中,我们发现当存在大量相机运动时,设置 λ = 0 是一个合理的选择。 在此设置中,关联成本项中仅使用外观信息。 然而,马哈拉诺比斯门仍然用于忽略基于卡尔曼滤波器推断的可能对象位置的不可行分配 

精读

结合运动信息和外观信息来解决卡尔曼滤波(Kalman Filter)状态预测与新到的测量值之间的关联问题。文章描述了如何通过建立一个分配问题,并使用匈牙利算法(Hungarian Algorithm)来解决这个问题。

首先,文章介绍了如何利用Mahalanobis距离来考虑运动信息。这个距离度量了目标预测位置与实际测量之间的差距,同时考虑了预测的状态的不确定性。Mahalanobis距离通常用于短期预测。如果该距离小于一定的阈值,则认为该关联是可接受的。

运动信息仅提供粗略的位置估计,当遮挡出现时,无法准确关联。其次目标的快速位移会导致位置估计误差较大。

然后 引入外观信息,对于每个检测框轨迹dj​,作者计算一个外观描述符 rj,并将这些描述符保存在一个大小为100的库中。为了计算每个边界框检测 dj​ 和轨迹i 的外观相似度,使用的是余弦距离度量。

那么作者将两者加权结合。位置信息对于短期关联非常重要,而外观信息在长期遮挡或者位置信息不准确时更为有效。

最终,关联是否成立取决于两个度量的二进制指示符是否都为1,即两者的阈值条件都满足:

问题

1.什么是运动信息和外观信息?

运动信息指的是关于目标运动状态的所有信息,通常与目标的位置信息、速度、加速度等有关。在目标跟踪中,运动信息主要用于推测目标在下一时刻的位置,并帮助判断目标是否与新的检测框匹配。外观信息指的是关于目标外观的视觉特征,通常与目标的颜色、形状、纹理、轮廓等有关。

2.解释  (yi, Si) 表示第 i 个轨迹分布到测量空间的投影?

yi​:这是第 i 个轨迹的预测位置,它是通过卡尔曼滤波得到的目标位置的估计。

Si​:这是与第 i个轨迹关联的协方差矩阵,它表示预测位置的不确定性。协方差矩阵的作用是描述目标位置的分布范围,即预测位置周围的可能性区域。协方差矩阵较大的地方表示目标位置的不确定性较大,较小的地方表示目标位置更为确定。

(dj​−yi​):是测量与预测位置之间的差异(即位置误差)。

在卡尔曼滤波器中,轨迹的状态是通过一系列的动态方程进行预测的,但这些状态一般是高维的。(yi,Si) 代表了将目标的状态估计从状态空间映射到测量空间后的结果。

3.什么是外观描述符? 

是一种用于表示目标或物体外观的特征向量。在目标跟踪、物体识别、图像匹配等任务中,外观描述符通常是通过图像处理算法提取的,它将一个目标的外观(例如颜色、纹理、形状等)转换为一个简洁的数字表示。 

4.为什么  ‖rj‖ = 1?

a. 消除长度的影响

当进行相似度比较时,向量的长度(即范数)本身并不总是重要的,尤其是在比较不同向量之间的方向性时。比如,你可能更关心两个向量的方向是否相似,而不是它们的长度。

b. 确保相似度计算的公平性

标准化外观描述符的长度可以确保在计算余弦相似度最小余弦距离时,只有方向的差异影响最终的相似度度量

c. 加速训练和优化

在深度学习中,标准化不仅能保证计算的公平性,还能有助于加速优化过程。当描述符的欧几里得范数保持一致时,训练过程中的梯度更新更加稳定。

计算余弦距离更简单

2.3. 匹配级联 

翻译

我们不是解决全局分配问题中的测量与跟踪关联,而是引入解决一系列子问题的级联。 为了激发这种方法,请考虑以下情况:当物体被遮挡较长时间时,随后的卡尔曼滤波器预测会增加与物体位置相关的不确定性。 因此,概率质量在状态空间中扩散,并且观察可能性变得不那么峰值。 直观上,关联度量应该通过增加测量到跟踪的距离来解释概率质量的分布。 与直觉相反,当两个轨迹竞争相同的检测时,马哈拉诺比斯距离有利于更大的不确定性,因为它有效地减少了任何检测到预测轨迹平均值的标准偏差距离。 这是一种不受欢迎的行为,因为它可能导致轨道碎片增加和轨道不稳定。 因此,我们引入了一个匹配级联,优先考虑更频繁出现的对象,以对关联可能性中的概率分布概念进行编码。

清单 1 概述了我们的匹配算法。 作为输入,我们提供了一组轨迹 T 和检测 D 索引以及最大年龄 Amax。 在第 1 行和第 2 行中,我们计算关联成本矩阵和可接受的关联矩阵。 然后,我们迭代轨道年龄 n 以解决年龄增加的轨道的线性分配问题。 在第 6 行中,我们选择未与最后 n 帧中的检测关联的轨迹子集 Tn。 在第 7 行中,我们解决了 Tn 中的轨迹与不匹配的检测 U 之间的线性分配。

在第 8 行和第 9 行中,我们更新了匹配和不匹配的检测集,并在第 11 行完成后返回。请注意,此匹配级联优先考虑年龄较小的轨迹,即最近出现过的轨迹。 在最后的匹配阶段,我们按照原始 SORT 算法 [12] 中的建议,在年龄 n = 1 的一组未经确认和未匹配的轨迹上运行并集关联的交集。这有助于考虑突然的外观变化,例如,由于 静态场景几何体的部分遮挡,并提高针对错误初始化的鲁棒性。 

精读

我们不是解决全局分配问题中的测量与跟踪关联,而是引入解决一系列子问题的级联。

算法流程:

输入一个轨迹T和检测框D,以及最大年龄Amax

第 1 行和第 2 行计算关联成本矩阵和可接受的关联矩阵。

从第 6 行开始,算法通过增加轨道的年龄来处理轨道匹配问题。在每次迭代中,首先选择在前 n 帧内未被关联的轨迹子集 Tn​。

第 7 行中,算法将未匹配的轨迹与未匹配的检测 U 进行线性分配,更新匹配结果。

在n=1的处理上采用并集关联的交集

问题

1.为什么按轨迹年龄匹配?

年龄 n”说明该轨迹在最近n 帧中没有找到对应的检测。年龄较小的轨迹通常是最近出现的,匹配的可能性更大,优先处理它们可以减少误匹配。 

2.什么是并集关联的交集

并集关联:考虑所有未确认(unconfirmed)轨迹和所有未匹配的检测,将它们视为一个统一的集合进行关联。

交集:在这种情况下,可能是指使用严格的匹配条件(如更低的门限值或更强的约束),从这些潜在关联中提取出可能性最高的匹配对。

2.4. 深度外观描述符 

翻译

通过使用简单的最近邻查询而不需要额外的度量学习,我们的方法的成功应用需要在实际的在线跟踪应用之前对具有良好辨别力的特征嵌入进行离线训练。 为此,我们采用了一个在大规模行人重新识别数据集 [21] 上进行训练的 CNN,该数据集包含 1,261 名行人的超过 1,100,000 张图像,使其非常适合在人员跟踪环境中进行深度度量学习。 我们网络的 CNN 架构如表 1 所示。总之,我们采用了一个宽残差网络 [22],其中有两个卷积层,后面跟着六个残差块。 维度 128 的全局特征图在密集层 10 中计算。最终批次和 2 归一化将特征投影到单位超球面上,以与我们的余弦外观度量兼容。 该网络总共有 2,800,864 个参数,在 Nvidia GeForce GTX 1050 移动 GPU 上,一次前向传递 32 个边界框大约需要 30 毫秒。 因此,只要有现代 GPU 可用,该网络就非常适合在线跟踪。 虽然我们的训练过程的详细信息超出了本文的范围,但我们在 GitHub 存储库中提供了预训练模型tory 1 以及可用于生成特征的脚本。

精读
  1. 在线阶段使用最近邻查询,离线阶段需要训练网络使其能够提取具有良好辨别力的特征。
  2. 离线阶段训练集:1261名行人的110万张图像
  3. 网络结构:如图所示
  4. 只要有GPU可用,就可以进行在线跟踪。
问题

1.什么是最近邻查询 

  • 查询对象:通常是你希望找到最相似或最接近的点的对象。在二维空间中,这个对象可以是一个点,像素,或者是数据集中的一项。
  • 最近邻:在一个数据集中,最近邻是距离查询对象最近的数据点。距离度量可以是欧几里得距离、曼哈顿距离、余弦相似度等。
  • 距离度量:定义了两个对象间“相似度”的标准,

3. 实验

翻译

我们在 MOT16 基准 [15] 上评估跟踪器的性能。 该基准测试评估了七个具有挑战性的测试序列的跟踪性能,包括带有移动摄像头的前视图场景以及自上而下的监控设置。 作为跟踪器的输入,我们依赖于 Yu 等人提供的检测。 [16]。 他们在一系列公共和私人数据集上训练了 Faster RCNN,以提供出色的性能。 为了公平比较,我们对相同的检测重新运行 SORT。 使用 λ = 0 和 Amax = 30 帧对测试序列进行评估。 如[16]中所示,检测的阈值设置为置信度分数 0.3。 我们方法的其余参数是在基准测试提供的单独训练序列上找到的。 评估根据以下指标进行: 

多目标跟踪精度(MOTA):从误报、漏报和身份切换方面总结总体跟踪精度[23]。 • 多目标跟踪精度(MOTP):根据地面实况和报告位置之间的边界框重叠来总结总体跟踪精度[23]。 • 大多数跟踪(MT):在其生命周期的至少80% 内具有相同标签的地面实况轨道的百分比。 • 大部分丢失(ML):在其生命周期的最多20% 内被跟踪的地面实况轨迹的百分比。 • 身份转换(ID):所报告的地面实况跟踪身份更改的次数。 • 碎片(FM):轨道因丢失检测而中断的次数。 

我们的评估结果如表 2 所示。我们的调整成功地减少了身份切换的数量。 与 SORT 相比,ID 开关从 1423 个减少到 781 个。减少了大约 45%。 同时,由于通过遮挡和遗漏来维护对象身份,轨道碎片略有增加。 我们还看到主要跟踪的对象数量显着增加,而主要丢失的对象数量减少。 总的来说,由于外观信息的整合,我们成功地通过较长的遮挡保持了身份。 这也可以通过我们在补充材料中提供的跟踪输出的定性分析来看出。 我们的跟踪器的示例输出如图 1 所示。我们的方法也是其他在线跟踪框架的强大竞争对手。 特别是,我们的方法在所有在线方法中返回最少数量的身份切换,同时保持有竞争力的 MOTA 分数、跟踪碎片和漏报。 报告的跟踪准确性主要受到大量误报的影响。 考虑到它们对 MOTA 分数的总体影响,对检测应用更大的置信度阈值可能会大幅提高我们算法的报告性能。 然而,对跟踪输出的目视检查表明,这些误报主要是由静态场景几何形状下的零星检测器响应产生的。 由于我们允许的最大轨道寿命相对较大,因此这些轨道更常见地连接到对象轨迹。 同时,我们没有观察到轨道在误报之间频繁跳跃。 相反,跟踪器通常会在报告的对象位置生成相对稳定的静止轨迹。 我们的实现以大约 20 Hz 的速度运行,大约一半的时间花在特征生成上。 因此,只要有现代 GPU,系统就能保持计算效率并实时运行。 

精读

表头指标解析:

MOTA (Multi-Object Tracking Accuracy):跟踪的整体准确性

MOTP:测量跟踪框的精度。

MT (Mostly Tracked):表示大部分时间被正确跟踪的对象占比。

ML (Mostly Lost):表示大部分时间未被跟踪到的对象占比。

ID (Identity Switches):身份切换错误次数。

FM (Fragmentations):表示轨迹的中断次数。

问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值