文献阅读笔记,有翻译错误欢迎指出,一起讨论!
简单的在线和实时跟踪方法(SORT)是一种实用的多目标跟踪方法,侧重于简单、有效的算法。在本文中,我们结合外观信息来提高SORT的性能。由于这一改进,我们能够在更长的遮挡时间段内跟踪对象,有效地减少了ID切换的次数。基于原始框架的启发,我们侧重将更多的计算复杂性放在离线预训练阶段,在大规模行人重新识别数据集上学习深度关联度量。而在线应用中,我们使用视觉外观空间中的最近邻查询来建立测量到跟踪的关联。实验评估表明,我们的改进减少了45%的ID切换次数,在高帧速率下获得了具有竞争力的整体性能。
由于目标检测的最新进展,基于检测的跟踪已经成为多目标跟踪的主导范式。在这个范例中,对象轨迹通常在一次处理整个视频批次的全局优化问题中被建立。例如,流网络公式[1,2,3]和概率图模型[4,5,6,7]已经成为这种类型的流行框架。然而,由于批处理,这些方法不适用于目标身份必须在每个时间段都存在的在线场景中。更传统的方法是多假设跟踪(MHT)[8]和联合概率数据关联过滤器(JPDAF)[9]。这些方法在逐帧的基础上执行数据关联。在JPDAF中,单一状态假设是通过根据其关联可能性对独立测量进行加权来产生的。在MHT中,所有可能的假设都会被跟踪,但为了便于计算应用了剪枝方案。这两种方法最近被基于检测跟踪方法中重新考虑[10,11],并表现出令人振奋的结果。然而,这些方法的性能是以增加计算和实现复杂性为代价的。
SORT是一种十分简单的框架,使用匈牙利方法以测量边界框重叠的关联度量在图像空间中执行卡尔曼滤波和逐帧数据关联。这种简单的方法在高帧速率下实现了良好的性能。在MOT挑战数据集[13]上,使用最先进的行人检测器[14]的SORT在标准检测上的平均排名高于MHT。这不仅强调了目标检测器性能对整体跟踪结果的影响,也是从业者的重要见解。
虽然在跟踪精确度和准确度方面取得了总体良好的性能,但SORTt返回的ID切换次数相对较多。这是因为采用的关联度量只有在状态估计不确定性较低时才是准确的。由于通常应用在在前视图摄影机场景中,因此,SORT在跟踪遮挡
方面存在不足。我们通过将关联度量替换为结合了运动和外观信息的更好度量来解决这个问题。特别是,我们应用了卷积神经网络(CNN),它在大规模的行人重新识别数据集上训练来区分行人。通过集成该网络,我们提高了对漏检和遮挡的鲁棒性,同时使系统易于执行且高效和适用于在线场景。我们的代码和预先训练的CNN模型是公开提供的,以促进研究、实验和实际应用开发。
我们采用传统的单假设跟踪方法,采用递归卡尔曼滤波和逐帧数据关联。在下一节中,我们将更详细地描述该系统的核心部分。
轨迹处理和卡尔曼滤波框架与[12]中的原始公式基本相同。我们假设一个非常普遍的跟踪场景,其中相机未校准,并且我们没有可用的运动信息。虽然这些情况对过滤框架构成了挑战,但它是近来多目标跟踪基准中考虑的最常见设置[15]。因此,我们的跟踪场景定义在八维状态空间 ( u , v , γ , h , ˙ x , ˙ y , ˙ γ , ˙ h ) (u,v,γ,h,̇x,̇y,̇γ,̇h) (u,v,γ,h,˙x,˙y,˙γ,˙h)上,该空间包含边界框中心位置 ( u , v ) (u,v) (u,v)、纵横比 γ γ γ、高度 h h h以及它们在图像坐标中的各自速度。我们使用恒速运动的标准卡尔曼滤波和线性观测模型,其中我们将边框坐标 ( u , v , γ , h ) (u,v,γ,h) (u,v,γ,h)作为对物体状态的直接观测。
对于每个轨迹 k k k,我们从最近一次成功与检测结果关联开始统计(轨迹失配,即后续帧轨迹没有与预测关联成功)帧数量为 a k a_k ak。计数值在卡尔曼滤波预测期间递增,并在轨迹(再一次)成功与预测关联时重置为0。超过预定义的最大帧龄 A m a x A_{max} Amax的轨迹被视为已离开场景(即轨迹 A m a x A_{max} Amax次没有与预测结果成功关联),并从轨迹集中删除。对于无法与现有轨迹关联的每个检测(未成功分配的检测结果),启动新的轨迹假设。并在前三帧中,这些新轨迹被归类为暂定的(无论是否与预测成功关联都不删除)。其间,我们期望每帧(轨迹)能成功和检测结果关联(即新轨迹连续3帧与预测成功关联)。在其前三帧内未成功关联到检测结果的轨迹将被删除。
传统方法在解决卡尔曼预测状态和新产生的预测之间关联是建立一个可以使用匈牙利算法解决的分配问题。针对这个问题,我们通过组合两种指标来整合运动和外观信息。
为了融合运动信息,我们在卡尔曼预测状态和新产生检测之间使用(取平方的)马氏距离: d ( 1 ) ( i , j ) = ( d j − y i ) T S i − 1 ( d j − y i ) d^{(1)}(i,j)=(d_j-y_i)^TS_i^{-1}(d_j-y_i) d(1)(i,j)=(dj−yi)TSi−1(dj−yi),其中我们用 ( y i , S i ) (y_i,S_i) (yi,Si)表示第 i i i个轨迹分布到测量空间的投影,用 D j D_j Dj表示第 j j j个检测框。马氏距离通过引入状态估计的不确定性来计算检测框与轨迹位置距离的标准偏差。此外,使用该指标通过对马氏距离设置由 χ 2 χ^2 χ2分布计算得到的置信度阈值95%来排除不太可能的关联,。该指标表示如下: b i , j ( 1 ) = 1 [ d ( i , j ) ( 1 ) ≤ t ( 1 ) ] b_{i,j}^{(1)}=1[d^{(1)}_{(i,j)}\leq t^{(1)}] bi,j(1)=1[d(i,j)(1)≤t(1)]
如果第 i i i个轨道和第 j j j个检测之间的关联是可接受的,则该值评估为1。对于我们的四维测量空间,相应的马氏阈值是 t ( 1 ) = 9.4877 t^{(1)}=9.4877 t(1)=9.4877。
虽然当运动不确定性较低时,马氏距离是一个合适的关联度量,但在我们的图像空间问题描述中,从卡尔曼滤波框架获得的预测状态分布仅提供了对象位置的粗略估计。特别是,未知相机运动可能会在图像平面中引入高速位移,使得马氏距离不适用于被遮挡的跟踪。因此,我们将第二个度量集成到分配问题中。对于每个边界框检测 d j d_j dj,我们计算具有 ‖ r j ‖ = 1 ‖r_j‖=1 ‖rj‖=1的外观描述符 r j r_j rj。此外,我们为每个轨迹k保留一个相关外观描述符 R k = ( r k ( 1 ) ) k = 1 L k Rk=(r_k^{(1)})_{k=1}^{L_k} Rk=(rk(1))k=1Lk,其中 L k = 100 L_k=100 Lk=100。然后,我们的第二个指标计算在外观空间中第i个轨迹和第j个检测之间的最小余弦距离: d ( i , j ) ( 2 ) = m i n ( 1 − r j T r k ( i ) ∣ r k ( i ) ∈ R i ) d^{(2)}_{(i,j)}=min(1-r_j^Tr_k^{(i)}|r_k^{(i)}\in R_i) d(i,j)(2)=min(1−rjTrk(i)∣rk(i)∈Ri)
同样,我们引入一个二进制变量,并根据该指标来指示是否允许关联: b i , j ( 2 ) = 1 [ d ( i , j ) ( 2 ) ≤ t ( 2 ) ] b_{i,j}^{(2)}=1[d^{(2)}_{(i,j)}\leq t^{(2)}] bi,j(2)=1[d(i,j)(2)≤t(2)]。
并且我们在单独的训练数据集上为该指标找到了合适的阈值。在实践中,我们应用预先训练好的CNN来计算边界框外观描述符。第2.4节介绍了该网络的体系结构。
结合起来,这两个指标通过应用于分配问题的不同方面而相互补充。一方面,马氏距离提供了基于运动的物体可能的位置信息,这对短期预测特别有用。另一方面,余弦距离考虑了外观信息,当运动不那么区分时,这些外观信息对于在长期遮挡后恢复身份特别有用。为了构建关联问题,我们使用加权总和将两个指标组合在一起: c i , j = λ d ( 1 ) ( i , j ) + ( 1 − λ ) d ( 2 ) ( i , j ) c_{i,j}=\lambda d^{(1)}(i,j)+(1-\lambda)d^{(2)}(i,j) ci,j=λd(1)(i,j)+(1−λ)d(2)(i,j),其中,如果在这两个指标的门控区域内,则我们称关联为可接受的: b i , j = ∏ m = 1 2 b i , j ( m ) b_{i,j}=\prod_{m=1}^2b_{i,j}^{(m)} bi,j=∏m=12bi,j(m)
通过超参数 λ λ λ可以控制每个度量对组合关联代价的影响。在我们的实验中,我们发现当相机有大量运动时,设置 λ = 0 λ=0 λ=0是一个合理的选择。在此设置中,关联成本项中仅使用外观信息。然而,马氏门仍然被用来剔除那些基于卡尔曼滤波推断的目标可能位置的不可行分配。
不是解决全局分配中的检测觉果与轨迹的关联问题,而是引入了一个级联来解决上述的问题,。为了执行该方法,考虑以下情况:当对象被遮挡较长时间时,后续的卡尔曼滤波预测增加了对象位置关联的不确定性。因此,概率质量在状态空间中向外扩散,观测似然变弱。直观地说,关联度量应该通过增加预测到轨迹的距离来解释这种概率质量的扩散。与直观相反的是,当两个轨迹竞争相同的检测时,马氏距离对不确定性更大的(轨迹)反而更有利,因为它有效地减少了检测与投影轨迹平均标准偏差的距离,这是我们不喜欢的结果,因为它会导致轨迹不连续并增加轨迹的不稳定。因此,我们引入了一个匹配级联,给予频繁地看到的对象优先级,将概率传播概念编码到关联可能性中。
清单1概述了我们的匹配算法。作为输入,我们提供轨迹集合 T T T和检测结果集合 D D D以及最大帧龄指标 A m a x A_{max} Amax。在第1行和第2行中,我们计算关联代价矩阵和关联门控矩阵。然后,我们在轨道帧龄n上迭代,以解决帧龄不断增加轨道的线性分配问题。在第6行中,我们选择在最近得n个帧中尚未与检测相关联的轨道子集 T n T_n Tn。在第7行中,我们解决了 T n T_n Tn和未匹配得检测结果 U U U中之间的线性分配。在第8行和第9行,我们更新匹配集合和未匹配检测的集合,在第11行完成后返回它们。请注意,这个匹配级联优先考虑帧龄较小的轨迹,即最近看到的轨迹。
在最终匹配阶段,我们按照原始SORT算法[12]中,对年龄为n=1的未确认和不匹配的轨迹集运行交集和联合关联。这有助于解决如由于静态场景几何形状的部分遮挡而导致的外观突变,并增加对错误初始化的鲁棒性。
通过使用简单的最近邻查询而不增加额外的指标学习,我们的方法的成功应用需要在实际的在线跟踪应用之前,离线训练一个良好区分的特征嵌入。为此,我们使用了一个CNN,它已经在一个大规模的人重新识别数据集[21]上进行了训练,该数据集包含1,261个行人的1,100,000多张图像,使其非常适合于在行人跟踪环境中进行深度度量学习。
我们的网络的CNN架构如表1所示。总而言之,我们采用了具有两个卷积层和六个残差块的残差网络[22]。维度128的全局特征图是在dense层10中计算的。最后一批和 l 2 l_2 l2归一化将特征投影到单位超球面上以与我们的余弦外观度量兼容。在NVIDIA GeForce GTX 1050移动GPU上,网络总共有2,800,864个参数,32个边界框的一次前向传递大约需要30毫秒。因此,该网络非常适合在线跟踪,只要有现代的GPU可用。虽然我们训练过程的细节超出了本文的范围,但我们在GitHub中提供了一个预先训练的模型储存库和一个可用于生成特征的脚本。
我们在MOT16基准上评估我们的跟踪器的性能[15]。这一基准评估了七个具有挑战性的测试序列的跟踪性能,包括带有移动摄像头的正面场景以及自上而下的监控设置。作为我们的追踪器的输入,我们依赖于Yu等人提供的检测[16]。他们已经在一系列公共和私人数据集上训练了速度更快的RCNN,以提供出色的性能。为了进行公平的比较,我们对相同的检测重新运行了SORT。
使用 λ = 0 λ=0 λ=0和 A m a x = 30 A_max=30 Amax=30帧对测试序列进行评估。与[16]中一样,检测的阈值置信度为0.3。本文方法的其余参数已经在由基准提供的单独的训练序列上找到。评估依据以下指标进行:
多目标跟踪精度(MOTA):与假阳性、假阴性和ID切换有关的总体跟踪精度[23]。
多目标跟踪精度(MOTP):根据真实框与检测框之间的重叠计算的总体跟踪精度[23]。
MT:在其生命周期中至少80%成功匹配轨迹的百分比。
ML:在其生命周期内最多20%的成功匹配轨迹的百分比。
IDs:身份ID切换次数。
FM:轨迹失配次数。
我们的评估结果如表2所示。我们的调整成功地减少了ID切换的数量。与SORT相比,ID切换从1423个减少到781个,这是大约45%的降幅。同时,由于在遮挡和失配中保持了对象ID,轨迹的不连续性略有增加。我们还看到,主要被跟踪的物体数量显着增加,而主要丢失的物体减少。总体而言,由于外观信息的整合,我们成功地在更长的遮挡中保持了ID。从我们在补充材料中提供的跟踪的定性分析也可以看出这一点。图1显示了我们的跟踪器的示例性输出。
本文方法在其他在线跟踪框架具有强竞争性。特别是,我们的方法在所有在线方法中返回最少数量的ID切换,同时在MOTA分数、轨迹不连续性和漏检保持竞争性的。跟踪精度大多因大量的误报而受到影响。考虑到它们对MOTA得分的总体影响,对检测应用更大的置信度阈值可能会极大地提高我们算法的报告性能。然而,对跟踪输出的可视化结果表明,这些假阳性大多是由静态场景几何形状的零星探测器响应产生的。由于我们允许的最大轨迹帧龄相对较大,这些轨迹更能匹配到。同时,我们预测的轨迹不存在误报的情况。而是,跟踪器通常在报告有对象位置生成相对稳定的静止轨迹。
我们的实现以大约20赫兹的频率运行,大约一半的时间花在特征生成上。因此,在使用GPS的情况下,该系统仍能保持计算效率并实时运行。
我们提出了一种对SORT的扩展,它通过预先训练的关联度量结合了外观信息。由于这一扩展,我们能够在更长的遮挡时间段内进行跟踪,使SORT成为最先进的在线跟踪算法。然而,该算法实现起来仍然很简单,并且可以实时运行。
(注:以下内容摘自笔者的硕士学位论文,目前尚在保密中)