首页 技术,计算机,笔记

概述

SORT、DeepSORT算法是两个相近的用于多目标跟踪的算法。它们解决的问题主要是数据关联这块,简单说就是,我用目标检测算法,框出了第t-1帧的物体,并给各个物体标上了ID,我又梅开二度用了目标检测算法框出了第t帧的物体,这时候,如何确定第t帧物体的ID呢?

SORT

SORT算法用卡尔曼滤波匈牙利匹配解决了这个问题。卡尔曼滤波本来是导弹制导的算法,用来预测物体运动的轨迹的,在SORT中它可以通过物体在第t-1帧的状态,预测出物体在第t帧的状态。匈牙利匹配本来是用来求解运筹分配问题的算法,SORT用它来匹配第t帧和第t-1帧的物体。

具体的流程如下图所示:



匹配的时候,程序会计算出各个框两两之间的IOU(交并比,两个框的交集面积/并集面积),得到一个矩阵(这个矩阵叫相似度矩阵),比如像下面这样。其中,X^表示卡尔曼滤波预测的框,X表示目标检测的框。



这时候就可以用匈牙利算法,求出一个令总IOU最大的匹配方案,其实就是圈四个数,怎么圈才能让这四个数加起来最大的问题,且圈的数不能是主对角线上的。

这就是SORT算法的思路啦,可以看出它只用了IOU来匹配,可能不是很科学,比如两个人走在一起这种复杂情况,可能就没法很好地解决,那么自然就有人对它优化啦,下面是DeepSORT的介绍。

DeepSORT

DeepSORT算法基本流程和SORT算法是一样的,只是在匹配的时候,多了一个级联匹配,加入了外观特征的匹配,算出来的相似度矩阵不止包含了IOU信息,还包含了外观的相似度信息,这样再进行匈牙利匹配,就能得到更优的结果啦。




文章评论

    行风 访客ChromeMac
    2021-02-1 23:50   回复

    又了解到了新知识

    爱老黄 访客ChromeWindows
    2021-01-12 9:53   回复

    这个牛,博主用心了!

      huanghaozi 站长ChromeWindows
      2021-01-12 10:10   回复

      其实是我的毕业设计啦

目录