今天有点时间,专门研究了一下目标跟踪算法SORT的论文和源码,简单整理了以下和大家分享。这篇文章参考了下面的博客,大家如果想深入了解可以到下面的链接中查看。https://blog.csdn.net/HaoBBNuanMM/article/details/85555547#Deep%20SORT%20%C2%A0SIMPLE%20ONLINE%20AND%20REALTIME%20TRACKING%20WITH%20A%20DEEP%20ASSOCIATION%20METRIC
SORT的论文和源码可到以下链接中下载:
论文:http://arxiv.org/pdf/1602.00763.pdf
代码:https://github.com/abewley/sort
SORT跟踪算法到底在干什么(以单目标跟踪为例):
(1) 假设T1时刻成功跟踪了某个单个物体,ID为1,绘制物体跟踪BBox(紫色);
(2) T2时刻物体检测BBox总共有4个(黑色),预测T2时刻物体跟踪的BBox(紫色)有1个,解决紫色物体跟踪BBox如何与黑色物体检测BBox关联的算法,就是SORT物体跟踪算法要解决的核心问题;
(3) SORT关联两个BBox的核心算法是:用IOU计算BBox之间的距离+匈牙利算法选择最优关联结果
物体跟踪与物体检测是两件不同的事情:物体跟踪是把物体跟踪预测的BBox与物体检测的BBox关联,然后用对应的物体检测BBox代表成功跟踪的BBox结果。
以上图为例
(1) T1时刻已经成功跟踪了3个检体(不同颜色的BBox代表不同的物体ID);
(2) T2时刻除了所有物体检测的新位置BBox(灰色),还要物体跟踪预测的BBox(非灰色的其他不同颜色的BBox)与物体检测BBox(灰色)关联,从而分辨出哪一个物体跟踪的BBox对应哪一个物体检测的BBox,从而产生T2时刻的物体跟踪BBox结果(包括新增物体跟踪器跟踪T2中新检测到的物体)
(3) T3时刻如果被跟踪的物体发生了遮挡(红框BBox的物体),那么继续能找到该物体并追踪(ID Switch)
物体跟踪有几个主要任务以及对应他们的解决方案:
(1) 检测-深度学习的各种检测网络来实现物体检测;
(2) 跟踪预测与关联-Tracking的算法来实现物体跟踪(例如本文的Sort)
(3) ID Switch – Tracking的算法来解决遮挡物体(比如 deep Sort)
(4)ReID(跨摄像头发现和跟踪同一物体,避免ID switch) -例如deep Sort
欢迎关注
AI计算机视觉