SORT
Simple Online and Realtime Tracking[1]
作者是来自Queensland Unversity of Technology和悉尼大学的Alex Bewley, Zongyuan Ge等人。论文引用[1]:
Time
- 2017.Jul
Key Words
- associate objects
总结
- 这篇文章探索了一个多目标跟踪的实用的方法,主要的焦点是有效地关联目标,用于实时的应用。为了这个目的,检测的质量是一个影响跟踪性能的重要因素。尽管只用基本的熟悉的组件的组合例如卡尔曼滤波和匈牙利算法用于跟踪,这个方法方法实现了类似于SOTA的精度。
这篇文章展示了一个高效率的tracking-by-detection框架,用于解决MOT问题,相比于之前的batch based方法,这个工作主要面向实时的跟踪,只有过去和当前帧能提供给trackor。
MOT问题可以被视为data association问题,旨在在一个视频序列中关联detections。为了帮助数据关联,跟踪器用了多个方法对场景中的目标的外观和运动进行建模。本文的方法也是受最近的MOT的benchmark的观察的启发。首先,mature data association方法包括MHT和JPDA的回归,占据了MOT benchmark的top position。其次,唯一没有用ACF detector的trackor也是排名靠前的tracker,表明detection的质量可能限制了其它跟踪器的表现。另外,精度和速度之间的trade-off相当明显,大多数的精确的tracker用于实时的应用很慢。鉴于传统数据关联技术在top online 和batch tracker中的突出地位,以及排名最高的跟踪器所采用的不同检测方法,本文旨在探索多目标跟踪(MOT)能够简化到何种程度,以及其性能可以达到怎样的高度。
和奥卡姆剃刀原理一致,除了检测组件之外的外观特征被忽略了,只有bbox position和size用于motion estimation和data association。此外,关于短期和长期的遮挡的问题也被忽略了,因为它们很少发生,它们的显式处理为跟踪框架引入了不理想的复杂性。作者argue:以目标re-id的形式引入的复杂性增加了计算成本。 这个设计的思想和现有的很多tracker不一样,引入了很多的components来处理多种边缘的情况和检测的误差。本文的工作,相反,关注在高效和可靠地处理常见的frame-to-frame的关联。不是旨在对detection errors鲁棒,相反,用最近的目标检测的进展来直接解决detection问题。通过将常用的ACF 行为检测器和最近的基于CNN的检测器相比证明了这一点。另外,两个经典高效的方法:卡尔曼滤波和匈牙利算法,用来处理motion prediction和data association。主要的贡献如下:
- 在MOT中利用基于CNN的检测
- 基于卡尔曼滤波和匈牙利算法的跟踪方法
传统的MOT用Multiple Hypothesis Tracking(MHT)或者Joint Probabilistic Data Association(JPDA)滤波器,目标分配的时候有很高的不确定性,延迟使得决策困难。这些方法的组合的复杂度在跟踪对象的数量上是指数增长的,使得在高度动态的环境中实时应用不现实。最近,有人重新审视了JPDA formulation in MOT,用高效的JPDA的近似,解决组合复杂问题。也有人用每个目标的外观模型来修建MHT graph,实现SOTA性能。然而,这些方法仍然会延迟决策,使得它们不适合实时的应用。 很多实时的跟踪方法旨在建立每个目标的外观模型或者通过在线学习的全局模型。除了外观模型之外,motion也通常被考虑来辅助将detections和tracklets进行关联。当考虑一对一进行对应的时候,建模为bipartite graph matching,全局优化的方法例如匈牙利算法可以用。有人在两个阶段中采用了匈牙利算法。首先,通过关联相邻帧(几何和外观线索结合起来形成affinity matrix)的detections,形成tracklets,然后,Tracklets(轨迹片段)被相互关联起来,以修复由于遮挡而中断的轨迹,也用了几何和外观线索。这两个关联步骤限制了这个方法,作者的方法受别的tracking component的启发,然而,将关联阶段用基本的cues简化为单个阶段。
所提出的方法通过以下几个关键组件进行描述:检测、将目标状态传播到未来帧、将当前检测结果与现有目标关联,以及管理被跟踪目标的生命周期。
- Detection:为了利用基于CNN的detection,利用Faster RCNN作为检测器。在实验中发现,检测的质量对跟踪的性能有很大的影响。
- Estimation Model:这里描述的object model,representation和motion model用来传播目标的id into next frame。这里近似每个目标的帧间位移是线性的,有着线性的恒定速度,独立于其它目标和相机运动,每个目标的状态建模如下:
\[\mathbf{x}=[u,v,s,r,\dot{u},\dot{v},\dot{s}]^T,\]
\(u\) 和 \(v\) 表示目标中心的水平和竖直的位置,scale \(s\) 和 \(r\) 表示scale(area) 和 目标bbox的aspect ratio。注意到这个aspect ratio是恒定的。当一个detection和一个目标进行关联的时候,检测到的bbox用来更新target stae,速度是通过Kalman filter来解决的。如果没有detection和目标进行关联,这个state会用一个线性速度模型来预测,没有correction。
Association:将detections分配给现有的targets的时候,每个target的bbox几何是通过预测它在当前帧中的新的位置估计到的。然后,通过计算每个检测框与现有目标的所有预测边界框之间的交并比(IOU)距离,生成assignment cost matrix。assignment通过匈牙利算法来解决。另外,一个最小的IOU用来拒绝assignment,当detection to target的overlap小于 \(IOU_{min}\) 的时候。作者发现,bbox的IOU距离隐式地处理了有passing targets造成的遮挡。特别地,当一个target被遮挡的时候,只有occluder被检测到,,因为交并比(IOU)距离会优先选择尺度相似的检测框。这使得遮挡物目标(occluder target)可以通过检测结果进行修正,而被覆盖的目标由于未进行分配,因此不会受到影响。
Creation和Deletion of Track Identities:当目标进入和离开图像的时候,需要相应地创建和删除id。对于创造trackers,考虑一个overlap 小于 \(IOU_{min}\) 的detection来表示一个untracked的目标。用bbox的几何,及速度设为0,来初始化tracker。因为速度在此刻是没有被观察到的,速度component的协方差用大的值进行初始化,反应了这个不确定性。另外,新跟踪器随后会进入一个试用期,在此期间,目标需要与检测结果进行关联,以积累足够的证据,从而避免对误检目标进行跟踪。如果 \(T_{lost}\) 帧没有检测到,则tracks被终止。这可以防止跟踪器数量无限制增长,以及因长时间预测且没有检测器修正所导致的定位误差。在所有实验中 \(T_{lost}\) 设为1.首先,恒速模型对于真实动态场景是一个很差的预测器。另外,主要关系frame-to-frame tracking,这里目标的re-id超出了本文的范畴。另外,早期跟丢的目标的删除提升了效率。如果一个目标重新出现,跟踪将会隐式地以一个新的身份恢复。
结论:本文提出了一个在线跟踪框架,聚焦于frame-to-frame的预测和关联。表明了跟踪质量高度依赖于检测性能,通过充分利用最近的 detection 方法,可以用经典的跟踪方法实现SOTA的跟踪质量。