CV之Deep-SORT目标跟踪算法简介

文章目录

  • CV之Deep-SORT目标跟踪算法简介
    • 1、背景简介
    • 2、相关理论
      • (1) 匈牙利算法(Hungarian algorithm)
      • (2) 卡尔曼滤波
      • (3) 马氏距离和余弦距离
        • a) 马氏距离
        • b) 余弦距离
    • 3、Deep-sort算法流程

CV之Deep-SORT目标跟踪算法简介

原文论文: https://arxiv.org/pdf/1703.07402.pdf
原文代码: https://github.com/nwojke/deep_sort

1、背景简介

       基于检测的目标跟踪逐渐成为目标跟踪方法的主要方向,随后多假设跟踪(MHT)[37]和联合概率数据关联过滤器(JPDAF)[38]引入单摄像机多目标跟踪,这些方法进行逐帧的数据关联,但是其复杂度较大,不易实现。随后,简单的在线和实时跟踪(SORT)[39]被提出,它使用匈牙利算法衡量预测轨迹与跟踪目标之间的联系,并用关联度作为衡量边界框重叠的标准,它相对之前的算法在性能方面获得了较大提升。但是SORT算法的身份转换数量较多,为此后人在其基础上改进提出了Deep-Sort[40]。Deep-Sort引入了深度学习的思想,主要是用卷积神经网络提取特征,并在跟踪过程中使用递归卡尔曼滤波预测的状态与新到达的状态之间的马氏距离和余弦距离这两个组合指标与阈值之间的关系进行关联度量,来服务于指派问题,使用级联匹配来解决全局分配中的子问题。

2、相关理论

(1) 匈牙利算法(Hungarian algorithm)

       为了解决预测的目标状态与新增的状态的关联问题,传统的方法是构建一个可以由匈牙利算法解决的指派问题,所以下面本文将对匈牙利算法作详细讲解。
       实际生活中,我们会遇到这样的问题,n个人各自需要完成n个不同任务中的一个任务,但是每个人完成任务的时间不同,问如何分配才能使得总的时间花费最小,这样的问题就是指派问题。指派问题可以将其抽象为二部图最大匹配问题,从而用匈牙利算法求解。
匈牙利算法的基本步骤如下图4.2:
       CV之Deep-SORT目标跟踪算法简介_第1张图片

(2) 卡尔曼滤波

       滤波即是去掉自己不想要的噪声获取自己想要信息的一种处理过程。卡尔曼滤波将统计学知识应用于滤波算法以方便对相应数值的量度,它赋予当前预测值与测量值不同的权重来计算当前的值,并进行迭代计算。
CV之Deep-SORT目标跟踪算法简介_第2张图片
CV之Deep-SORT目标跟踪算法简介_第3张图片
卡尔曼滤波流程图如下图4.3所示:

CV之Deep-SORT目标跟踪算法简介_第4张图片

(3) 马氏距离和余弦距离

a) 马氏距离

       马氏距离就是计算待衡量向量间的协方差距离,它可以有效衡量两者间的相似度。
在这里插入图片描述
在这里插入图片描述
       马氏距离运用了相对距离的思想,能够很好地应用于归类问题中的相似度判别。

b) 余弦距离

       余弦距离不同于其他距离直接计算两个点之间的直接的尺度,而是将向量平移到一个特定的空间中,然后计算两向量夹角的余弦值,然后将其结果数值归一化到[0,1]内。
CV之Deep-SORT目标跟踪算法简介_第5张图片
       可以看出,余弦距离与绝对的数值没有直接的联系,能够很好地度量出向量之间的相对相似度。

3、Deep-sort算法流程

CV之Deep-SORT目标跟踪算法简介_第6张图片
CV之Deep-SORT目标跟踪算法简介_第7张图片
Deep sort流程大体如下:
CV之Deep-SORT目标跟踪算法简介_第8张图片
       Deep-sort方法简单,易于实现;速度较快,能够应用于实际的实时目标跟踪;运用多种方法进行匹配度的测度,减少标识切换的同时使得跟踪效果大大提升。

这里只是简介,详细见大佬博客:

https://blog.csdn.net/HaoBBNuanMM/article/details/85555547#Deep%20SORT%20-%C2%A0SIMPLE%20ONLINE%20AND%20REALTIME%20TRACKING%20WITH%20A%20DEEP%20ASSOCIATION%20METRIC

你可能感兴趣的:(CV)