基于YOLOv3和deep_sort的多目标跟踪

在Windows下用python实现的MOT,参考的这个GitHub https://github.com/Qidian213/deep_sort_yolov3

YOLOv3用于检测,deep_sort主要是Kalman滤波+匈牙利匹配算法。改天再写一篇关于deep_sort原理的的blog,先实现一哈,看看效果。

下面把我的流程说一下:

  1. 我们需要的环境Numpy、sklean、OpenCV就不用说了,还有TensorFlow-gpu、Keras等等,有可能之前有的环境配置好了,也有可能版本不兼容,具体运行代码的时候根据错误具体解决即可。
  2. 下载yolov3.weights,将权重转换为yolo.h5模型(这里需要自己转,因为你的TensorFlow版本不一样),推荐另外一个GitHub https://github.com/qqwweee/keras-yolo3,下载下来,cmd切换到文件目录,运行下面指令
    python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5

    然后把model_data文件夹里面的yolo.h5复制到第一个GitHub项目的model_data文件夹中(至于为什么不用第一个GitHub里面的convert.py转换,因为没成功,可能是有点问题)

  3. 生成mars-small128.pb文件,这个是表观特征,跟踪时做特征匹配用的(也因为TensorFlow版本问题,需要自己生成),推荐第三个GitHub https://github.com/nwojke/deep_sort,下载下来,cmd切换到文件目录,运行下面指令
    python tools/freeze_model.py
    然后和第二步一样,把mars-small128.pb文件复制到第一个GitHub项目的model_data文件夹中。
  4. 在demo.py里面修改一下视频路径,直接运行即可。

基于YOLOv3和deep_sort的多目标跟踪_第1张图片

fps在10-12之间。

你可能感兴趣的:(MOT,YOLOv3,Deep_sort,DL,C++)