SORT

SIMPLE ONLINE AND REALTIME TRACKING

本文探讨了一种实用的多目标跟踪方法,主要重点是在在线和实时应用中有效地关联对象。为此,检测质量被认为是影响跟踪性能的关键因素,其中改变检测器可使跟踪性能提高18.9%。尽管只使用熟悉的技术的基本组合,如卡尔曼滤波和匈牙利算法的跟踪组件,这种方法达到的精度可与最先进的在线跟踪器媲美。此外,由于我们的跟踪方法的简单性,跟踪器更新速度为260Hz,比其他最先进的跟踪器快20倍。

1. INTRODUCTION

本文针对多物体跟踪(MOT)的问题,提出了一个跟踪-检测框架的精益实现,即每一帧都要检测物体,并以边界框表示。与许多基于批处理的跟踪方法[1,2,3]相比,本工作主要针对在线跟踪,其中只有前一帧和当前帧的检测结果呈现给跟踪者。此外,我们还非常强调效率,以促进实时跟踪,并促进更多的应用,如自动驾驶的行人跟踪。

MOT问题可以看作是一个数据关联问题,其目的是将视频序列中各帧的检测结果关联起来。为了帮助数据关联过程,跟踪器使用各种方法对场景中物体的运动[1,4]和外观[5,3]进行建模。本文采用的方法是通过对最近建立的视觉MOT基准[6]的观察而产生的。首先,成熟的数据关联技术正在复苏,包括多假设跟踪(MHT)[7,3]和联合概率数据关联(Joint Probabilistic Data Association,JPDA)[2],这些技术占据了MOT基准的许多顶尖位置。其次,唯一没有使用聚合信道滤波器(ACF)[8]检测器的跟踪器也是排名靠前的跟踪器,说明检测质量可能拖了其他跟踪器的后腿。此外,精度和速度之间的权衡显得相当明显,因为大多数精确跟踪器的速度被认为对实时应用来说太慢了(见图1)。随着传统的数据关联技术在*在线和批量跟踪器中的突出,以及*跟踪器所使用的不同检测,这项工作探讨了MOT的简单程度以及它的性能。
SORT

图1.建议方法的基准性能 所提出的方法(SORT)与几个基线跟踪器的基准性能对比[6]。每个标记表示跟踪器的精度和速度,以每秒帧数(FPS)[Hz]为单位,即越高、越正确越好。

与奥卡姆剃刀保持一致,在跟踪中忽略检测分量以外的外观特征,在运动估计和数据关联中都只使用边界框的位置和大小。此外,关于短期和长期闭塞的问题也被忽略了,因为它们很少发生,而且它们的明确处理会给跟踪框架带来不必要的复杂性。我们认为,将复杂度以对象重新识别的形式加入到跟踪框架中会增加大量的开销–可能会限制其在实时应用中的使用。

这种设计理念与许多提议的视觉跟踪器形成鲜明对比,这些视觉跟踪器集成了无数的组件来处理各种边缘情况和检测错误[9,10,11,12].这项工作的重点是高效可靠地处理常见的帧与帧之间的关联。我们不以对检测错误的鲁棒性为目标,而是利用视觉对象检测的最新进展直接解决检测问题。通过比较常见的ACF行人检测器[8]和最近基于卷积神经网络(CNN)的检测器[13]来证明这一点。另外,采用卡尔曼滤波法[14]和匈牙利法[15]这两种经典而又极其有效的方法分别处理跟踪问题中的运动预测和数据关联部分。这种最小化的跟踪方式有利于在线跟踪的效率和可靠性,见图1。在本文中,这种方法只应用于跟踪各种环境中的行人,然而由于基于CNN的检测器的灵活性[13],自然可以推广到其他物体类别。

本文的主要贡献是:

我们利用了基于CNN的检测在MOT环境下的能力。

提出了一种基于卡尔曼滤波和匈牙利算法的实用跟踪方法,并在最近的MOT基准上进行了评价。代码将是开源的,以帮助建立研究实验和避免碰撞应用的基线方法。

本文的组织结构如下。第2节对多对象跟踪领域的相关文献进行了简要回顾。第3节描述了所提出的精益跟踪框架,然后在第4节展示了所提出的框架在标准基准序列上的有效性。最后,第5节对所学成果进行了总结,并讨论了未来的改进措施。

2. LITERATURE REVIEW

传统的MOT是使用多假设跟踪(MHT)[7]或联合概率数据关联(Joint Probabilistic Data Association,JPDA)滤波器[16,2]来解决的,这种方法会延迟做出困难的决策,而对象分配的不确定性很高。这些方法的组合复杂度在被跟踪对象的数量上是指数级的,这使得它们在高度动态环境中的实时应用不切实际。最近,Rezatofighi等人[2],重新审视了视觉MOT中的JPDA公式[16],目标是利用最近在求解整数程序方面的发展,用JPDA的高效近似来解决组合复杂性问题。类似地,Kim等人[3]使用每个目标的外观模型来修剪MHT图,以达到最先进的性能。然而,这些方法仍然会延迟决策,这使得它们不适合在线跟踪。

许多在线跟踪方法旨在通过在线学习建立单个对象本身的外观模型[17,18,12]或全局模型[19,11,4,5]。除了外观模型之外,运动也经常被纳入其中,以帮助将检测结果与轨迹小片关联起来[1,19,4,11]。当只考虑一对一的对应关系建模为双曲图匹配时,可以使用全局最优解,如匈牙利算法[15][10,20]。

Geiger等人[20]的方法采用匈牙利算法[15],分两个阶段进行。首先,通过在相邻的帧上关联检测来形成tracklets,其中几何和外观线索被结合起来形成亲和矩阵。然后,将tracklets相互关联,以弥合由遮挡造成的断裂轨迹,同样使用几何和外观线索。这种两步关联法限制了这种方法的批量计算。我们的方法受到了[20]的跟踪组件的启发,然而我们将关联简化为下一节所述的基本线索的单一阶段。

3. METHODOLOGY

所提出的方法由检测、将对象状态传播到未来帧、将当前检测与现有对象关联、管理被跟踪对象的寿命等关键环节来描述。

3.1. Detection

为了利用基于CNN的检测的快速发展,我们使用了更快的区域CNN (FrRCNN)检测框架[13]。FrRCNN是一个端到端框架,由两个阶段组成。第一阶段提取特征,并为第二阶段提出区域,然后对提出区域内的对象进行分类。这个框架的优点是,两个阶段的参数是共享的,创造了一个高效的检测框架。此外,网络架构本身可以换成任何设计,从而可以快速试验不同的架构以提高检测性能。

这里我们比较了FrRCNN提供的两种网络架构,即Zeiler和Fergus的架构(FrRCNN(ZF))。[21]和Simonyan和Zisserman的深层架构(FrRCNN(VGG16) [22].在整个工作中,我们应用了在PASCAL VOC挑战赛中学习的FrRCNN和默认参数。由于我们只对行人感兴趣,所以我们忽略了所有其他类别,只将输出概率大于50%的人员检测结果传递给跟踪框架。

表1. 通过切换检测器组件的跟踪性能比较。在[12]中列出的验证序列上进行评估。

SORT

在实验中,我们发现,当比较FrRCNN检测和ACF检测时,检测质量对跟踪性能有很大影响。这是用应用于现有在线跟踪器MDP[12]和本文提出的跟踪器的一组验证序列来证明的。表1显示,最佳检测器(FrRCNN(VGG16))导致MDP和提出的方法的跟踪精度都是最好的。

3.2. Estimation Model

这里我们描述了对象模型,即用于将目标身份传播到下一帧的表示和运动模型。我们用一个独立于其他物体和摄像机运动的线性恒速模型来逼近每个物体的帧间位移。每个目标的状态被建模为:

SORT

其中,u和v分别代表目标中心的水平和垂直像素位置,而比例尺s和r分别代表目标边界框的尺寸(面积)和长宽比。请注意,纵横比被认为是恒定的。当一个检测与目标相关联时,检测到的边界框被用来更新目标状态,其中速度分量通过卡尔曼滤波框架[14]进行优化求解。如果没有检测到目标,则使用线性速度模型简单地预测其状态,而不进行修正。

关于卡尔曼滤波:How a Kalman filter works, in pictures

3.3. Data Association

在对现有目标进行检测时,通过预测目标在当前帧中的新位置来估计每个目标的边界盒几何体。然后,将分配成本矩阵计算为每个检测点与来自现有目标的所有预测边界框之间的交并(IOU)距离。

在给现有目标分配探测时,通过预测每个目标在当前帧中的新位置来估计其边界盒几何形状。然后,assignment cost matrix被计算为每个检测与现有目标的所有预测边界框之间的交点-联合(IOU)距离。使用匈牙利算法对分配进行优化求解。此外,还规定了一个最小的IOU,以拒绝检测与目标重叠度小于IOUminIOU_{min}的assignments。

关于匈牙利算法:算法学习笔记(5):匈牙利算法

我们发现,边界框的IOU距离隐含地处理了由经过的目标引起的短期遮挡.具体来说,当一个目标被遮挡物覆盖时,只有遮挡物被检测到,因为IOU距离适当地有利于具有相似尺度的检测。这使得遮挡物目标与探测物都能得到修正,而被遮挡的目标则不受影响,因为没有进行分配。

3.4. Creation and Deletion of Track Identities

挡的目标则不受影响,因为没有进行分配。

3.4. Creation and Deletion of Track Identities

当物体进入和离开图像时,需要相应地创建或销毁独特的身份。对于创建跟踪器,我们认为任何重叠度小于IOUminIOU_{min}的检测都标志着一个未被跟踪的对象的存在。跟踪器使用bounding box的几何形状进行初始化,速度设置为零。由于此时速度是不可观测的,速度分量的协方差被初始化为大值,反映了这种不确定性。此外,新的追踪器还要经过一段试用期,在试用期内,需要将目标与检测结果联系起来,以积累足够的证据,防止追踪出假阳性。如果没有检测到TlossT_{loss}帧,则终止跟踪。这可以防止跟踪器数量的无限制增长,以及在没有探测器修正的情况下,长时间的预测所造成的定位错误。在所有的实验中,TlossT_{loss}被设置为1,有两个原因。首先,恒速模型是一个很差的预测真实的动态,其次我们主要关注的是帧到帧的跟踪,其中对象重新识别是超出了这项工作的范围。此外,尽早删除丢失的目标有助于提高效率.如果一个对象再次出现,跟踪将以新的身份隐性地恢复。