DeepSORT算法
谈及DeepSORT
算法之前,希望你对【SORT算法】系列之深度解读已经熟悉流程。如果还未理解SORT
算法流程,建议先理解整个SORT
算法流程。在解释DeepSORT
算法之前,有一些相关算法希望先知悉一下。
1. 数据关联之KM算法,可以参考博客【学习总结匈牙利算法到KM算法】及其相关资料学习;
2. 状态滤波估计算法KalmanFilter,可以参考博客【OpenCV学习系列】之KalmanFilter或者【状态估计滤波学习系列】之ExtendKalmanFilter等相关资料学习;
3. SORT算法流程学习,可以参考博客【SORT算法】系列之深度解读及其相关资料进行学习;
4. 在熟悉上述相关算法后,推荐延伸理解一下数据关联概念,推荐阅读博客多目标追踪之数据关联进行学习;
如果你对上述列举算法熟悉之后,基本上DeepSORT
算法相对比较容易很多。当然,在阅读完本文你也可以参考一下文末链接相关博文对DeepSORT算法解读。这些博文对我理解该DeepSORT
算法也受益匪浅。
抛出一个问题,DeepSORT
算法出现主要解决什么问题?
1. 相对于SORT
算法改善目标跟踪过程中ID切换问题;
2. 通过神经网络学习出特征进行级联数据关联,提升关联准确性同时满足实时性要求;
DeepSORT算法流程图
在学习DeepSORT
算法之前,我们先看看SORT
算法的流程图,如下:
简单说下SORT
算法流程,首先对Trackers使用卡尔曼滤波进行预测,然后将预测后的Trackers
与检测Dets
进行计算代价匹配矩阵,然后使用匈牙利算法求解出Match
、UnMatch_Dets
、UnMatch_Trackers
。随后,对Match
上使用卡尔曼滤波进行状态更新,UnMatch_Dets
新建生成新的Trackers
,对UnMatch_Trackers
进行后处理,主要看起是否丢失很长时间。具体详细流程可参考博文【SORT算法】系列之深度解读