CenterNet+ deepsort实现多目标跟踪
CenterNet+ deepsort实现多目标跟踪
首先使用CenterNet训练自己的检测数据集,可以检测人、动物、鱼大等多种自定义类别,然后再把训练好的预训练模型传入deepsort算法进行多目标跟踪。试验结果表明centernet精度和速度方面都具有更好的优势。

CenterNet简介
论文:https://arxiv.org/abs/1904.08189
传统的基于关键点的目标检测方法例如最具代表性的 CornerNet通过检测物体的左上角点和右下角点来确定目标,但在确定目标的过程中,无法有效利用物体的内部的特征,即无法感知物体内部的信息,从而导致该类方法产生了很多误检 (错误目标框)。CenterNet利用关键点三元组即中心点、左上角点和右下角点三个关键点而不是两个点来确定一个目标,使网络花费了很小的代价便具备了感知物体内部信息的能力,从而能有效抑制误检。另外,为了更好的检测中心点和角点,我们分别提出了 center pooling 和 cascade corner pooling 来提取中心点和角点的特征。我们方法的名字叫 CenterNet,是一种 one-stage 的方法。
其抑制误检的原理基于以下推论:如果目标框是准确的,那么在其中心区域能够检测到目标中心点的概率就会很高,反之亦然。因此,首先利用左上和右下两个角点生成初始目标框,对每个预测框定义一个中心区域,然后判断每个目标框的中心区域是否含有中心点,若有则保留该目标框,若无则删除该目标框,其原理如下图所示:

代码连接:https://github.com/xingyizhou/CenterNet
Deepsort简介
Deepsort主要由以下算法组成:
-  1、卡尔曼滤波 
-  2、马氏距离 
-  3、PCA主成分分析 
-  4、匈牙利算法 
-  5、行人重识别 
-  6、MOT评价指标 
其中每一个讲起来又是一大堆,所以留着以后有时间详细讲解。
下面一张图概括且很好的展示了deepsort的算法:

Centernet+deepsort代码
https://github.com/kimyoon-young/centerNet-deep-sort
获取代码
git clone https://github.com/kimyoon-young/centerNet-deep-sort.git
安装repo
  
   - 
    
     
    
    
     
      conda env create -f CenterNet.yml
     
    
- 
    
     
    
    
     
      pip install -r requirments.txt
     
    
 快速启动
  
   - 
    
     
    
    
     
      CENTERNET_PATH = 'CENTERNET_ROOT/CenterNet/src/lib/'
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      to
     
    
- 
    
     
    
    
      
     
    
- 
    
     
    
    
     
      e.g) CENTERNET_PATH = '/home/kyy/centerNet-deep-sort/CenterNet/src/lib/'
     
    
 运行demo
python demo_centernet_deepsort.py
 实验结果

文章来源: blog.csdn.net,作者:小小谢先生,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/xiewenrui1996/article/details/110291490
- 点赞
- 收藏
- 关注作者
 
             
           
评论(0)