多目标跟踪论文 Deep SORT 实现

多目标跟踪论文 Deep SORT 实现

flyfish

论文中提到的代码是Python编写的,我的目的是C++实现
本文源码地址
https://github.com/shaoshengsong/DeepSORT

里面使用了上述github作者的大量代码,站在巨人们的基础上。

先列举前人的实现

参考部分作者的repositories 的Python代码
代码1
nwojke/deep_sort
Simple Online Realtime Tracking with a Deep Association Metric
论文提供的

代码2
Qidian213/deep_sort_yolov3
Real-time Multi-person tracker using YOLO v3 and deep_sort with tensorflow
目标检测部分使用了YOLOv3检测,深度学习框架TensorFlow,语言是Python

代码3
ZQPei/deep_sort_pytorch
MOT tracking using deepsort yolo3 with pytorch
目标检测部分使用了YOLOv3检测,深度学习了框架用了PyTorch

代码4
bendidi/Tracking-with-darkflow
Real-time people Multitracker using YOLO v2 and deep_sort with tensorflow
目标检测部分使用了YOLOv3检测,深度学习了框架用了darkflow,tensorflow
darkflow主要是用来加载YOLO模型的

参考部分作者的repositories 的C++代码
代码1
oylz/DS
cpp deep_sort: C++ implementation of Simple Online Realtime Tracking with a Deep Association Metric
依赖库 eigen 3.3,opencv ,boost ,tensorflow 1.4,能够简便重现

代码2
bitzy/DeepSort
c++ version of https://github.com/nwojke/deep_sort
依赖库 opencv3,tensorflow 1.4,cuda 8.0,cudnn 6.0

代码3
bianjingshan/MOT-deepsort
Refer to DeepSort, I just disable the feature match function, so this project does not neet any deep leaning library.
移除了深度学习特征比较部分

实现思路
环境
操作系统:Ubuntu 18.04
编译环境:Qt 5.12.2
有这么多前人的实现可供参考,所以我在实现上是没有难度的。
深度学习的模型分两个,一个是目标检测,一个是目标跟踪
目标检测的模型下载地址
https://pjreddie.com/darknet/yolo/

目标跟踪中特征部分下载地址
上传到CSDN,Deep SORT 论文实现中需要使用的目标跟踪模型 mars-small128
https://download.csdn.net/download/flyfish1986/11168660

OpenCV的DNN加载YOLO模型,这样就不用依赖Darknet库
不依赖cuda,cudnn,这样方便环境搭建
现在目标跟踪的特征部分使用TensorFlow C++的api。如果再想轻量级一些,就要去除Tensorflow的依赖。

OpenCV的安装可以参考
https://blog.csdn.net/flyfish1986/article/details/89157368

Tensorflow的安装可以参考
https://blog.csdn.net/flyfish1986/article/details/89406211

知道了每个模块的输入输出,代码编写(组装)就容易多了。

代码框架清凉很多。

如果您要使用我的代码搭建环境,您要做的是
用Qt打开工程后,更改deeplearning.pro文件的内容
主要是头文件,库文件的路径更改成您自己的文件所在路径
模型文件放置与生成文件相同的目录

代码里的一些类型转换,未使用参数的警告 还未处理完。
本实例代码已编译通过,且正常运行。

你可能感兴趣的:(多目标跟踪)