出处:CVPR 2017
一、摘要
SORT是一个简单有效的算法,用于多目标跟踪。这篇文章,我们加入了外观信息来提升SORT的性能。由于此扩展,即使长时间的遮挡我们也能够对物体进行跟踪,并且有效的减少ID跳变。并引入了在行人重识别数据集上离线训练的深度学习模型,在实时目标追踪过程中,提取目标的表观特征进行最近邻匹配。实验评价表明,我们的扩展对ID跳变的数量减少了45%,在高帧率下实现了整体竞争性能。
关键词:计算机视觉、多目标跟踪、数据关联
二、介绍
- SORT是 Kalman filtering in image space + frame-by-frame data association using the Hungarian method + an association metric that measures bounding box overlap
- 强调了检测器的重要性
- 因为其使用的关联规则只有在状态估计不确定性较低时才比较准确,所以SORT 在通过遮挡进行跟踪方面存在缺陷,存在较多的ID跳变
- 采用了一个结合动作和外观信息的新关联规则来解决3中问题
- 采用了在大规模行人重识别数据集上预训练的CNN网络
三、SORT WITH DEEP ASSOCIATION METRIC
3.1 核心思想
传统的单假设跟踪方法以及递归的卡尔曼滤波和逐帧的数据关联
3.2 轨迹处理和状态估计
-
轨迹处理:
首先对于每条轨迹都有一个阈值ak用于记录轨迹从上一次成功匹配到当前的帧数。这个值在卡尔曼滤波器预测期间递增,并在轨道与测量相关联时重置为 0。当该值大于提前设定的阈值Amax则认为改轨迹终止,直观上说就是长时间匹配不上的轨迹认为已经结束。然后在匹配时,对于没有匹配成功的detections都认为可能产生新的轨迹。但由于这些detections可能是一些false alarms,所以对这种情形新生成的轨迹标注状态tentative ,然后观查在接下来的连续若干帧(论文中是3帧)中是否连续匹配成功,是的话则认为是新轨迹产生,标注为confirmed,否则则认为是假性轨迹,状态标注为deleted。
-
运动状态估计:
其中(u,v)是bounding box的中心坐标,r是长宽比,h表示高度,其余四个变量表示对应的在图像坐标系中的速度信息。使用一个基于常量速度模型和线性观测模型的标准kalman滤波器进行目标运动状态的预测,预测变量为(u,v,r,h)。
3.3 分配问题
传统的解决检测结果与追踪预测结果的关联的方法是使用匈牙利方法。本文作者同时考虑了运动信息的关联和目标外观信息的关联。
-
运动信息的关联:使用了对已存在的运动目标的运动状态的kalman预测结果与检测结果之间的马氏距离进行运行信息的关联。
d_j表示第j个检测框的位置,y_i表示第i个追踪器对目标的预测位置,S_i表示检测位置与平均追踪位置之间的协方差矩阵。马氏距离通过计算检测位置和平均追踪位置之间的标准差将状态测量的不确定性进行了考虑。
-
如果某次关联的马氏距离小于指定的阈值t^(1),则设置运动状态的关联成功。使用的函数为:
-
当运动的不确定性很低的时候,上述的马氏距离匹配是一个合适的关联度量方法,但是在图像空间中使用kalman滤波进行运动状态估计只是一个比较粗糙的预测。特别是相机存在运动时会使得马氏距离的关联方法失效,造成出现ID switch的现象。
因此作者引入了第二种关联方法,对每一个的检测块d_j求一个特征向量r_i,限制条件是∣∣ r_i ∣∣ = 1 。作者对每一个追踪目标构建一个gallary,存储每一个追踪目标成功关联的最近100帧的特征向量。那么第二种度量方式就是计算第i个追踪器的最近100个成功关联的特征集与当前帧第j个检测结果的特征向量间的最小余弦距离。计算公式为:
如果上面的距离小于指定的阈值,那么这个关联就是成功的。阈值是从单独的训练集里得到的。 -
使用两种度量方式的线性加权作为最终的度量
只有c_i,j位于两种度量阈值的交集内时,才认为实现了正确的关联。距离度量对短期的预测和匹配效果很好,但对于长时间的遮挡的情况,使用外观特征的度量比较有效。对于存在相机运动的情况,可以设置λ = 0。
3.4 级联匹配
当一个目标长时间被遮挡之后,kalman滤波预测的不确定性就会大大增加,状态空间内的可观察性就会大大降低。假如此时两个追踪器竞争同一个检测结果的匹配权,往往遮挡时间较长的那条轨迹因为长时间未更新位置信息,追踪预测位置的不确定性更大,即协方差会更大,马氏距离计算时使用了协方差的倒数,因此马氏距离会更小,因此使得检测结果更可能和遮挡时间较长的那条轨迹相关联,这种不理想的效果往往会破坏追踪的持续性。
所以,作者使用了级联匹配来对更加频繁出现的目标赋予优先权,具体的算法如下图:
级联匹配的核心思想就是从小到大对消失时间相同的轨迹进行匹配,这样首先保证了对最近出现的目标赋予最大的优先权,也解决了上面所述的问题。在匹配的最后阶段还对unconfirmed和age=1的未匹配轨迹和检测目标进行基于IoU的匹配。这可以缓解因为表观突变或者部分遮挡导致的较大变化。当然有好处就有坏处,这样做也有可能导致一些新产生的轨迹被连接到了一些旧的轨迹上,但这种情况较少。
3.3 深度特征描述器
网络结构:
- 在行人重识别数据集上离线训练残差网络模型
- 输出128维的归一化的特征
- 配置:GTX1050m
- 输入32个bounding box提取特征的时间约为30ms。
四、实验
作者使用《Poi:Multiple object tracking with high performance detection and appearance feature》文章训练的高性能faster rcnn模型进行检测。检测的置信度阈值设置为0.3。λ = 0 , Amax = 30。
五、结论
- 减少了45%的ID switch
- 结合了深度外观信息,对遮挡目标的追踪效果大大提升
- FP升高很多,文章中提出这主要是由于静态场景中detection的错误以及过长的允许丢失的track age所导致的(相对于SORT只用相邻帧进行匹配来说,Deep SORT允许高达30帧的丢失,而Kalman的等速运动模型没有改变,这主要造成了FP的升高)
- 在1050mGPU上的速度是20Hz,强一点的GPU效果更好
- state-of-the-art online tracking
六、总结
Sort的提出是为解决多目标检测的复杂性和实现实时在线能力,而DeepSort采用级联的思想解决Sort中利用帧间关联而导致长时间遮挡而导致ID频繁跳变的问题,重点在于重识别。