转载请标明链接:http://www.cnblogs.com/yanwei-li/p/8643336.html
网上已有很多关于MOT的文章,此系列仅为个人阅读随笔,便于初学者的共同成长。若希望详细了解,建议阅读原文。
本文是使用 tracking by detection 方法进行多目标跟踪的文章,是后续deep sort的基础(Deep SORT见后一篇随笔)。
论文地址:http://arxiv.org/pdf/1602.00763.pdf
代码地址:https://github.com/abewley/sort
文章概述
本方法最大的特点是高效地实现了基于Faster-RCNN的detection并使用Kalman滤波以及 Hungarian算法进行跟踪。提高了speed同时达到了comparable state-of-the-art的accuracy。
文章观点
- 以Re-id的形式整合复杂性会增加跟踪框架的巨大开销,会限制其在实时程序中的使用;
- 以往方法使用delay making difficult decisions的方法来处理不确定性较高的匹配,这使得组合复杂度很大,难以进行实时识别;
- 以往进行两部工作来用相邻图片的几何和外观关联轨迹的方法需要使用batch,难以进行on-line tracking。
文章方法
将tracking对象状态传播到未来的帧中(主要使用卡尔曼滤波以及线性速度的假设),将当前的检测与现有的对象相关联,并管理被跟踪对象的age。
1. 目标检测
使用Faster-RCNN进行detection,文章通过对比来说明detection的质量对后续的tracking至关重要。
2. 估计模型
- 当检测与目标相关联时,检测到的边界框用于更新目标状态,其中速度分量通过卡尔曼滤波框架最优地求解;
- 如果target没有跟detection相连,就用线性速度模型对taeget进行预测;(这种预测错误率较高)
3. 数据组合
- 在将detection分配给现有track时,通过预测其在当前帧中的新位置来估计每个目标
- 使用每个detection和所有预测的bonding box的IOU距离来计算assignment cost matrix;
- 小于IOU阈值的assignment 会被拒绝,源码中阈值设置为0.3;
- 文章指出使用IOU distance 可以解决 tracking 中的短暂遮挡问题,这是由于IOU distance更倾向于检测相似尺寸(个人理解是因为IOU distance的计算使用了detection 和 prediction 的共同区域,而如果相邻帧产生轻微遮挡,共同区域的变化不大,从而保证了短暂遮挡的有效track,当然如果完全遮挡那么assignment肯定会出错),但是如果遮挡时间较长会重新分配track,造成出错。(较长时间的遮挡问题在后续的deep sort论文中使用appearance特征进行缓解)。
4. Track的建立和删除
- 如果detection和target的重叠率小于IOU阈值,认为此track应当删除;(个人认为这种完全基于几何预测bonding box 的位置来判断会造成比较大的错误率以及 ID switch,当然后续的deep sort 也对这方面进行了改进。)
- 如果在Tlost 帧内没有对应的 detection 与 track 匹配,就将此track删除。文中Tlost 设为1,文中指出是因为没有匹配所使用的固定速度模型效果很差并且帧数过多的re-id问题超出了本文讨论的范围。(个人认为主要还是固定速度的预测模型的问题)。
文章结果
文章结果还是挺不错的,MOTA也接近state-of-the-art,速度方面在 i7 2.5GHz的机器上可以达到260Hz的速度,能够满足实时性的要求。但是由于预测模型和IOU distance的限制导致 ID switch相对于其他方法高了许多。