DeepDriving | 多目标跟踪算法之DeepSORT

本文来源公众号“DeepDriving”,仅用于学术分享,侵权删,干货满满。

原文链接:多目标跟踪算法之DeepSORT

1 简介

上一篇文章DeepDriving | 多目标跟踪算法之SORT介绍了多目标跟踪算法SORT,该算法虽然速度很快,但是也存在ID切换频繁等问题。针对这些问题,作者时隔一年后又在文章Simple Online and Realtime Tracking with a Deep Association Metric中提出了DeepSORT算法。与SORT仅仅采用边界框的IOU作为匹配时的距离度量不同的是,DeepSORT采用一种更可靠的距离度量方法,该方法结合了物体的运动和外观信息,其中外观信息是通过一个在大规模行人重识别数据集上离线训练的CNN网络提取的。基于这些改进,DeepSORT提升了跟踪算法的鲁棒性,将ID切换率减少了45%,并同时保持容易部署、高效运行的优点

论文地址:https://arxiv.org/abs/1703.07402

代码地址:https://github.com/nwojke/deep_sort

2 具体实现

2.1 状态估计

如果当前帧的检测结果detection未能与任何已存在的track匹配成功,那么就为其创建一个新的track。这个新的track在被创建后的三帧内都处于未确定状态,在此期间如果每帧都有检测结果与之匹配成功才会把它的状态转为确定态,否则将会被删除。

track的状态转移过程如下图所示:

2.2 匹配问题
2.2.1 运动信息度量

当运动的不确定性较低时,马氏距离是一个比较合适的数据关联度量指标。但是,卡尔曼滤波器预测的状态只是在图像空间中对物体位置的粗略估计,尤其是没有考虑相机自身运动会在图像平面中引入快速位移,因此马氏距离不适合作为处理有遮挡情况下的度量指标。为此,作者加入第二个度量指标,即外观信息。

2.2.2 外观信息度量

2.2.3 综合度量

2.3 级联匹配

当一个物体被长时间遮挡,由于没有新的测量值进行校正,卡尔曼滤波器对其位置的预测会越来越不准确,不确定度会越来越大。一般凭直觉会认为,数据关联度量指标应该会增加测量到跟踪(measurement-to-track)的距离来解释这种概率质量的扩散。但是与这种直觉相反的是,当两个track竞争同一个detection时,马氏距离会更有利于匹配具有更大不确定性的track(这里为什么会这样我看了原文的解释也没看懂)。因此,作者引入了一个级联匹配操作,在数据关联中优先考虑出现更频繁的目标。级联匹配的伪代码如下:

对于处于未确定状态track和未匹配成功且time_since_update=1track,还会对它们进行一次与SORT中一样的基于IOU的匹配,这有助于解决由于外观特征突然有大的改变而导致匹配失败的情况,从而增强算法的鲁棒性。

DeepSORT的算法流程大致如下:

2.4 外观特征提取

为了提取行人目标的外观特征,作者设计了一个CNN模型并在一个大规模的行人重识别数据集上进行离线训练,训练好的模型被用于在线跟踪时提取目标的外观特征。这个CNN网络包含2个卷积层和6个残差网络块,输出一个128维的向量用来表示目标的外观特征,具体结构如下:

最后,需要对该网络输出的128维向量使用了L2归一化来将特征映射到单位超球面上,以便计算余弦距离来度量相似度。

3 总结

DeepSORTSORT的基础上进行了扩展,采用物体的外观信息作为匹配时的距离度量,并在跟踪流程中加入级联匹配方法,大大提升了算法的鲁棒性。

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。

  • 28
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值