SIMPLE ONLINE AND REALTIME TRACKING(Sort) 论文阅读笔记

出处:Proceedings of the 23rd IEEE International Conference on Image Processing (ICIP 2016) 2016
一、摘要
本文提出了一种实用的多目标跟踪方法,其主要关注点是为在线和实时应用程序有效地关联对象。为此,检测质量被认为是影响跟踪性能的关键因素,改变检测器可以提高跟踪性能,最高可达18.9%。尽管将大家熟悉的卡尔曼滤波 和匈牙利算法 的基本组合跟踪组件,该方法实现了与现有最先进跟踪技术相当的精度。但是,由于我们跟踪方法的简化,跟踪器能以260Hz的速率做更新,比其他先进跟踪器快了20倍。
关键词:计算机视觉 、多目标跟踪 、检测 、数据关联
二、介绍
2.1 论文介绍
针对**多目标跟踪(MOT)**问题,本文提出了一种检测跟踪框架,其中目标检测每帧并表示为边界框。与许多基于批处理的跟踪方法相比[1,2,3],这项工作主要针对在线跟踪,其中只有来自前一帧和当前帧的检测被呈现给跟踪器。
MOT问题可以看作是一个数据关联问题,其目标是关联检测跨帧视频序列。为了辅助数据关联过程,跟踪器使用各种方法对场景中物体的运动[1,4]和外观[5,3]进行建模。本文采用的方法是通过建立在视觉MOT benchmark上的观测结果上的。首先,有很多较为成熟的数据关联技术,如多假设跟踪( MHT)和联合概率数据关联(JPDA)占据了很多MOT benchmark的前几名。其次,唯一没有使用聚合通道滤波(ACF)检测器也是排名靠前的跟踪器,其检测质量可以压过其他跟踪器。

此外,需要权衡准确性和速度,因为大多数准确性高的跟踪器都面临实时性低的问题。如图1所示。本文旨在探索如何简化MOT以及性能如何优化的方法。
与Occam的Razor保持一致,在跟踪中检测部位之外的其他外观特性将会无视,而仅仅边界框位置和尺寸大小将作为运动估计和数据关联。此外,短期和长期的遮挡问题也将忽略掉,因为它们明确会给框架带来不必要的复杂性。我们认为以对象REID形式引入复杂性会给跟踪带来很大的开销——进而影响实时性应用。
本文侧重于高效可靠地处理常见的帧到帧间的关联 ,我们的目标不是要对检测错误具有鲁棒性,而是利用视觉目标检测的最新进展来直接解决检测问题 。此外,两种经典而又及其有效的方法,卡尔曼滤波 和匈牙利算法 分别用作处理跟踪中的运动预测和数据关联。
本文方法目前只应用在跟踪多种环境中的行人,基于CNN的检测器的灵活性,也能够推广到其他检测方法。
2.1 背景知识介绍
2.1.1 卡尔曼滤波
一种优化估计算法
2.1.2 匈牙利算法
匈牙利算法主要用于解决一些与二分图匹配 有关的问题。
二分图(Bipartite graph)是一类特殊的图,它可以被划分为两个部分,每个部分内的点互不相连。下图是典型的二分图。

匈牙利算法主要用来解决两个问题:求二分图的最大匹配数 和最小点覆盖数 。
1. 最大匹配问题

现在Boys和Girls分别是两个点集,里面的点分别是男生和女生,边表示他们之间存在“暧昧关系"。最大匹配问题相当于,假如你是红娘,可以撮合任何一对有暧昧关系的男女,那么你最多能成全多少对情侣?(数学表述:在二分图中最多能找到多少条没有公共端点的边)
现在我们来看看匈牙利算法是怎么运作的:
我们从B1看起(男女平等,从女生这边看起也是可以的),他与G2有暧昧,那我们就先暂时把他与G2连接(注意这时只是你作为一个红娘在纸上构想,你没有真正行动,此时的安排都是暂时的)。

来看B2,B2也喜欢G2,这时G2已经“名花有主”了(虽然只是我们设想的),那怎么办呢?我们倒回去看G2目前被安排的男友,是B1,B1有没有别的选项呢?有,G4,G4还没有被安排,那我们就给B1安排上G4。

然后B3,B3直接配上G1就好了,这没什么问题。至于B4,他只钟情于G4,G4目前配的是B1。B1除了G4还可以选G2,但是呢,如果B1选了G2,G2的原配B2就没得选了。我们绕了一大圈,发现B4只能注定单身了,可怜。(其实从来没被考虑过的G3更可怜)

2. 最小点覆盖问题
我们想找到最少的一些点,使二分图所有的边都至少有一个端点在这些点之中。倒过来说就是,删除包含这些点的边,可以删掉所有边。

这为什么用匈牙利算法可以解决呢?我们只需要一个定理:
(König定理):
一个二分图中的最大匹配数等于这个图中的最小点覆盖数。
三、主要贡献
- 利用基于CNN的检测器;
 - 提出了一种基于卡尔曼滤波和匈牙利算法的实用性跟踪方法,并在最近的MOT基准上进行了评估;
 - 代码是开源的。
 
四、方法
该方法主要包括检测、将对象状态传播到未来帧、将当前检测与现有对象关联以及管理被跟踪对象的生命周期。
4.1 检测
Faster Region CNN

4.2 估计模型
这里我们描述了目标模型,例如,外观模型和运动模型,将会被传到下一帧中用作目标身份识别(ID)。我们近似认为每个目标的帧间位移满足线性恒速模型,并且每个目标间的运动是独立的,和相机的运动也是独立的。
那每个目标的状态模型可以描述为:

其中u和v代表目标中心的水平和垂直的像素位置
s和r分别表示目标包围盒的比例(面积)和宽高比
当一个目标被检测时,检测框将用于更新目标的状态,其中速度分量将用kalman滤波来解决[14]。如果没有检测到物体,目标的状态用线性速度模型来预测,无矫正过程。
4.3 数据关联
在为现有目标分配检测时,每个目标框的bbox几何框都是通过预测当前帧新的位置估计得到的。assignment cost matrix 分配代价矩阵 通过每个检测结果和所有现有目标的预测框间的IOU距离计算得到。分配方法通过使用匈牙利算法得到最佳优化。此外,当检测到的IOU与预测目标物间IOU小于IOUmin阈值时,检测的物体将被拒绝分配。
我们发现边界框的IOU距离能够潜在解决因目标移动造成的短时间遮挡问题。具体地说,当目标物被遮挡物遮挡时,只有遮挡物被检测出来,由于IOU距离适当地支持具有类似尺度目标的检测 。这使得遮挡目标可以被检测到,而被覆盖的目标不受影响,因为没有分配。
4.4 创建和删除轨迹标识
当目标进入和离开图像时,唯一的ID需要创建或者销毁。用于创建跟踪器时,我们认为任何检测结果重叠小于IOUmin时,存在没有被跟踪的对象。使用边界框的几何图形来初始化跟踪器,并使速度设置为0。由于此时速度未被观测到,初始速度分量的协方差很高,反应了这种不确定性。此外,新的跟踪器需要经历试用期,即目标物需要与检测结果相关联积累到足够才能防止误追踪。
当跟踪器未被检测到TLost帧时,将终止这个跟踪器。这么做可以防止跟踪器数量的无线增长,以及长时间未通过检测来得到矫正的局部误差增长。在所有实验中,TLost设置为1有有两个原因:第一,恒定速度模型在真实动力学模型中是个很差的预测模型;第二,我们主要关注帧和帧之间的跟踪,而目标REID超出本工作范围。此外,早期删除目标有助于提高效率。如果目标重新出现,则会隐式分配新的ID来跟踪。
五、实验
5.1 数据集
MOT数据集
5.2 评价指标
- MOTA(↑): Multi-object tracking accuracy [25].
 - MOTP(↑): Multi-object tracking precision [25].
 - FAF(↓): number of false alarms per frame.
 - MT(↑): number of mostly tracked trajectories. I.e. target has the same label for at least 80% of its life span.
 - ML(↓): number of mostly lost trajectories. i.e. target is not tracked for at least 20% of its life span.
 - FP(↓): number of false detections.
 - FN(↓): number of missed detections.
 - ID sw(↓): number of times an ID switches to a different previously tracked object [24].
 - Frag(↓): number of fragmentations where a track is in-
terrupted by miss detection 
5.3 实验结果

六、结论
- 提出一个专注于帧到帧的预测和关联的简单在线追踪框架
 - 跟踪质量是高度依赖于检测效果
 - 速度和精度上效果都很棒
 - 这是一个baseline
 - 由于我们的实验强调了跟踪中检测质量的重要性,未来的工作将研究一个紧密耦合的检测和跟踪框架。
 
