论文地址:https://arxiv.org/pdf/1703.07402.pdf
在网上看到一些论文翻译,很多句子和专业词汇翻译都有很大问题。所以, 整理不同版本的翻译,融合成一个版本,并进行适当的批注。
创新点:
1、加入Reid提取的外观特征,对目标进行深度关联度量,ID switch减少了45%;
2、匹配策略上同时考虑了运动信息和外观特征,外观特征由CNN提供。
Simple Online and Realtime Tracking(SORT)是一个非常简单、有效、实用的多目标跟踪算法。在SORT中,仅仅通过IOU来进行匹配虽然速度非常快,但是ID switch依然非常大。 本着原有框架的精神,我们将大量的计算复杂性放在一个离线的预训练阶段,该阶段我们在大规模的人重新识别数据集中学习深度关联度量。在线应用中,我们在视觉外观空间中使用最近邻查询建立测量到跟踪关联.实验评估表明,我们的扩展将身份切换次数减少了45%,实现了在高帧速率下的总体有竞争力的性能。
关键词—计算机视觉、多目标跟踪、数据关联
图1:在具有频繁遮挡的常见跟踪情况下,我们的方法在MOT挑战数据集上的示例输出[15]。
由于最近在目标检测方面的进展,通过检测来跟踪已经成为多目标跟踪的主导范式。在这个范例中,对象轨迹通常出现在全局优化问题中,该问题同时处理整个视频批次。例如,流网络公式[1,2,3]和概率图形模型[4,5,6,7]已成为这方面的流行框架。 但是,由于批处理,这些方法不适用于在每个时间步长必须有目标标识的在线场景中。更传统的方法是多假设跟踪(MHT)[8]和联合概率数据关联滤波器(JPDAF)[9]。这些方法在逐帧的基础上执行数据关联。在JPACC中,通过对各个度量的关联可能性进行加权来生成单状态假设。 在MHT中,会跟踪所有可能的假设,但必须将修剪方案应用于计算的可处理性。 两种方法最近都在“按检测跟踪”场景中进行了重新讨论[10,11],并显示出令人鼓舞的结果。 但是,这些方法的性能来自计算和实现复杂性的增加。
简单的在线和实时跟踪SORT[12]是一个更简单的框架,该框架使用匈牙利方法(具有度量边界框重叠的关联度量)执行图像空间中的卡尔曼滤波和逐帧数据关联。 这种简单的方法可以在高帧速率下获得令人满意的性能。 在MOT挑战数据集[13]上,采用先进的人员检测器[14]的SORT在标准检测上的平均得分高于MHT。这不仅突显了对象检测器性能对整体跟踪结果的影响, 而且从从业者的角度来看也是重要的见解。
尽管在跟踪精度和准确性方面总体上获得了良好的性能,但SORT返回了相对大量的IDswitch。 这是因为,采用的关联度量仅在状态估计不确定性较低时才是准确的。 因此,SORT在通过遮挡物进行跟踪方面存在缺陷,因为它们通常会出现在正面视图相机场景中。 我们通过将关联度量替换为结合了运动和外观信息的更全面的度量来克服此问题。 特别是,我们应用了经过训练的卷积神经网络(CNN),以区分大规模人员重新识别数据集上的行人。 通过此网络的集成,我们提高了针对遗漏和遮挡的鲁棒性,同时使系统易于实施,高效且适用于在线方案。 我们的代码和经过预先训练的CNN模型是公开可用的,以促进研究实验和实际应用开发。
我们采用传统的单假设跟踪方法,采用递归卡尔曼滤波和逐帧数据关联。在下一节中,我们将更详细地描述这个系统的核心组件。
跟踪处理和卡尔曼滤波框架与SORT[12]中的原始公式基本相同。 我们假设一个非常一般的跟踪场景,其中摄像机未校准,并且我们没有可用的自我运动信息。 虽然这些情况对滤波框架构成了挑战,但它是最近的多对象跟踪基准[15]中考虑的最常见设置。因此,我们的跟踪场景是定义在八维状态空间(u, v, γ, h, ẋ, ẏ, γ̇ , ḣ)包含边界框的中心位置u、 v,长宽比γ,高度h,和它们各自在图像坐标中的速度。我们用标准卡尔曼滤波器与匀速运动和线性观测模型,我们把边界坐标(u,v,γ,h)作为直接观察对象的状态。
对于每个轨迹k,我们计算自上一次成功的测量关联以来的帧数AK。 此计数器在卡尔曼滤波预测期间递增,一旦当轨迹与测量相关联就重置为0。 超过预先设定的max_age的轨迹被认为已经离开场景并从轨迹集中删除。 对新目标出现的判断则是:如果某次检测结果中的某个目标无法与已经存在的轨迹相关联,那么则认为可能出现了新目标。 这些新的轨迹在它们的前三帧被分类为unconfirmed。 在此期间,我们期望在每个时间步骤中都有一个成功的度量关联。 在前三帧中未成功与测量关联的轨迹将被删除。
即,丢失判别:每个轨迹K,预测器与检测结果未匹配的帧数即为AK,一旦当轨迹与测量相关联就重置为0,超过预先设定的max_age的轨迹被认为已经离开场景并从轨迹集中删除。
新目标判别:某次检测结果中的某个目标未与已存在的任何轨迹关联,则认为有可能出现新目标。潜在的新轨迹在前3帧被认为是unconfirmed,在此期间每帧都能成功关联则确定为新轨迹,若未能全部成功关联,则删除。
传统的解决预测Kalman状态与新到量之间关联的方法是建立一个可以用匈牙利算法求解的分配问题。 在这个问题的表述中,我们通过结合两个适当的指标来整合运动信息和外观信息。
为了合并运动信息,我们使用预测的卡尔曼状态与新到达的测量值之间的(平方)马氏距离:
其中,我们用(yi,Si)表示第 i 个跟踪器到度量空间的预测,用dj表示第j个检测框。马氏距离通过测量检测到的距离平均轨迹位置有多少个标准差将状态估计的不确定性考虑在内。此外,利用这一度量,可以通过在95%置信区间上从逆χ2分布中计算出的Mahalanobis距离来排除不可能的关联。我们用一个指标来表示这个决定:
如果第i个轨迹和第j个检测之间的关联是允许的,则评估结果为1。 对于我们的四维测量空间(w,v,r,h),相应的Mahalanobis threshold 为t(1) = 9.4877。
当运动不确定性较低时,马氏距离是一种合适的关联度量,但在我们的图像空间问题公式中,从卡尔曼滤波框架获得的预测状态分布仅提供了对象位置的粗略估计。尤其是,无法解释的摄像机运动可能会在图像平面中引入快速位移,从而使马氏距离成为用于跟踪遮挡的相当不明智的度量。因此,我们将第二个指标集成到分配问题中。
当运动不确定性较低时,马氏距离是合适的关联度量,但在我们的图像空间问题公式中,从卡尔曼滤波框架获得的预测状态分布仅提供了物体位置的粗略估计。 特别是,无法解释的相机运动会在图像平面中引入快速位移,从而使马氏距离成为用于跟踪遮挡的相当不准确的度量。 因此,我们将第二个指标集成到分配问题中。 对于每个边界框检测dj,我们计算|| rj || = 1的外观描述符rj。此外,对于每个轨道k,我们保留最后Lk = 100个相关外观描述符的集合{Rk}。 然后,我们的第二个度量测量外观空间中第i条轨道和第j条检测之间的最小余弦距离:
同样,我们引入一个二进制变量来指示根据该度量标准是否允许关联:
我们在单独的训练数据集上为此指标找到了合适的阈值。在实践中,我们应用预训练的CNN来计算边界框外观描述符(box appearance descriptors)。该网络的体系结构在3.4节中描述。
通过结合使用分配问题的不同方面,两个指标可以相互补充。一方面,马氏距离基于运动提供有关可能的物体位置的信息,这对于短期预测特别有用。另一方面,当运动的判别力较弱时,余弦距离会考虑外观信息,这些信息对于长时间遮挡后恢复身份特别有用。为了建立关联问题,我们使用加权总和将两个指标结合起来:
如果它在两个指标的门控区域之内,我们称其为可接受的关联:
可以通过超参数λ来控制每个指标对合并成本的影响。在我们的实验过程中,我们发现当摄像机运动较大时,将λ=0是合理的选择。在此设置中,关联损失项中仅使用外观信息。然而,基于由卡尔曼滤波器推断出的可能的物体位置,马氏距离仍然被用来忽略不可行的分配。
为了解决全局分配问题中的测量与跟踪关联,我们引入了一个级联来解决一系列子问题。为了激发这种方法,请考虑以下情况:当物体被长时间遮挡时,后续的卡尔曼滤波器预测会增加与物体位置相关的不确定性,因此,概率质量在状态空间中扩散,观察似然性变得不那么尖锐。直观地,关联度量应通过增加测量到跟踪器的距离来考虑概率质量的这种扩展。违反直觉的是,当两个跟踪器竞争同一检测框时,马氏距离会带来较大的不确定性,因为它有效地减小了任何检测的标准偏差与投影轨道均值之间的距离,这是不希望有的行为,因为它可能导致轨道碎片增加和不稳定的轨道。因此,我们引入了一个级联匹配,该级联将优先级更高的常见对象编码为关联可能性中的概率散布概念。
Listing1:匹配级联
上表概述了我们的匹配算法。作为输入,我们提供跟踪框T和检测框D的集合以及max_age。在第1行和第2行中,我们计算了关联成本矩阵(公式5)和可允许关联的矩阵(公式6),然后对轨迹寿命n进行迭代,以解决随着年龄增长的轨迹的线性分配问题。在第6行中,我们选择在最近n帧中未与检测框相关联的跟踪框Tn的子集。在第7行中,我们解决了Tn中的跟踪框与不匹配的检测框U之间的线性分配。在第8行和第9行中,我们更新了匹配项M和未匹配的检测框集合U,并在第11行中完成后返回。请注意,此匹配级联将优先考虑年龄较小的跟踪器,即最近匹配成功的跟踪器。
在最后的匹配阶段,我们对agen = 1的一组未经确认和不匹配的轨迹进行了原始SORT算法[12]中提议的联合之上的相交运算。这有助于解决突然出现的外观变化,例如由于具有静态场景几何形状的部分遮挡,并提高了针对错误初始化的鲁棒性。
注:
如果一条轨迹被遮挡了一段较长的时间,那么在kalman滤波器的不断预测中就会导致概率弥散。那么假设现在有两条轨迹竞争同一个detection,那么那条遮挡时间长的往往得到马氏距离更小,使detection倾向于匹配给丢失时间更长的轨迹,但是直观上,该detection应该匹配给时间上最近的轨迹。导致这种现象的原因正是由于kalman滤波器连续预测没法更新导致的概率弥散。这么理解吧,假设本来协方差矩阵是一个正态分布,那么连续的预测不更新就会导致这个正态分布的方差越来越大,那么离均值欧氏距离远的点可能和之前分布中离得较近的点获得同样的马氏距离值。
所以文中才引入了级联匹配的策略让'more frequently seen objects'匹配的优先级更高(将遮挡时间按等级分层,遮挡时间越小的匹配等级更高,即更容易被匹配)。这样每次匹配的时候考虑的都是遮挡时间相同的轨迹,就不存在上面说的问题了。
匹配的最后阶段还对unconfirmed和age=1的未匹配轨迹进行基于IoU的匹配。这可以缓解因为表观突变或者部分遮挡导致的较大变化。当然有好处就有坏处,这样做也有可能导致一些新产生的轨迹被连接到了一些旧的轨迹上。但这种情况较少。
通过使用简单的最近邻查询而不进行额外的度量学习,我们方法的成功应用要求在实际的在线跟踪应用之前,将具有良好区分性的功能嵌入脱机训练。为此,我们采用了经过大规模行人重新识别数据集[21]训练的CNN,该数据集包含1,261位行人的1,100,000多张图像,使其非常适合在行人跟踪环境中进行深度度量学习。
表1:CNN体系结构概述。最后的batch and l2 normalization 将特征投影到超球面上
表1给出了我们网络的CNN体系结构。总之,我们使用了一个宽残差网络[22],该网络具有两个卷积层和六个残差块。维度128的全局特征图是在全链接层10中计算的。最后一批和l2归一化将特征投影到单位超球面上,以与我们的余弦外观度量兼容。该网络总共具有2,800,864个参数和一个32边界的正向传递Nvidia GeForce GTX 1050移动GPU上大约需要30毫秒。因此,只要有可用的现代GPU,此网络非常适合在线跟踪。 虽然我们的训练过程的详细信息不在本文讨论范围之内,但我们在GitHub存储库中提供了预先训练的模型以及可用于生成特性的脚本。
我们根据MOT16基准[15]评估跟踪器的性能。该基准评估了七个挑战性测试序列的跟踪性能,包括具有移动摄像机的前视场景以及自上而下的监视设置。作为对跟踪器的输入,我们依靠Yu等人提供的检测结果。[16]。他们已经在一组公共和私有数据集上训练了Faster RCNN,以提供出色的性能。为了进行公平的比较,我们对相同的检测重新运行了SORT。
使用λ= 0和Amax = 30帧对测试序列进行评估。如[16]中所述,检测阈值的置信度为0.3。我们的方法的其余参数已在基准提供的单独训练序列中找到。评估是根据以下指标进行的:
我们的评估结果如表2所示。我们的调整成功地减少了 ID switches的数量。与SORT相比, ID switches从1423减少到781,减少了约45%,由于通过遮挡和遗漏来保持对象的身份,轨迹碎片会稍微增加。我们还看到,大多数跟踪对象的数量显着增加,而大多数丢失对象的数量则减少了。总体而言,由于外观信息的集成,我们通过更长的遮挡成功地保持了身份ID。通过对补充材料中提供的跟踪输出进行定性分析,也可以看出这一点。我们的跟踪器的示例输出如图1所示。
我们的方法也是其他在线跟踪框架的有力竞争者。特别是,我们的方法返回了所有在线方法中最少的身份切换次数,同时保持了竞争性的MOTA分数,跟踪碎片和假阴性。报告的跟踪准确性主要受到大量误报的损害,鉴于它们对MOTA分数的总体影响,对检测应用较大的置信度阈值可能会大大提高我们算法的报告性能。但是,对跟踪输出的视觉检查表明,这些误报主要是由静态场景几何中的零星检测器响应产生的。由于我们的最大允许跟踪年龄比较大,这些通常会与对象轨迹结合在一起。同时,我们没有观察到在错误警报之间频繁跳跃的轨迹。相反,跟踪器通常在报告的对象位置生成相对稳定的固定轨道。
我们的实现以大约20 Hz的频率运行,其中大约一半的时间花在了特征生成上。因此,在使用现代GPU的情况下,该系统保持了计算效率,并可以实时运行。
我们提供了SORT的扩展功能,该功能通过预先训练的关联指标整合了外观信息,由于该扩展功能,我们能够跟踪更长的遮挡时间,从而使SORT成为最新在线跟踪的强大竞争对手算法。但是,该算法仍然易于实现并且可以实时运行。
相关阅读:
SORT论文翻译及批注:https://blog.csdn.net/weixin_34910922/article/details/108763683