/deepsort

c++&python

Primary LanguageC++MIT LicenseMIT

DEEPSORT

说明

原项目地址

此项目以学习Deepsort原理为主,在原项目的基础上进行小修改,编译出可供C++与python两个语言进行调用的库,方便工程的小伙伴直接使用

感谢原作者提供的代码!

demo 文件夹下提供了C++与Python两个版本的调用示例,C++使用的是pytorch的yolo3, python使用的是mxnet tracking 文件夹下为Deepsort源码

依赖

Ubuntu下以测试完成

  1. opencv3 以及更高版本
  2. CUDA
  3. libtorch 下载地址 V1.51 下载完成后复制进thirdpart文件夹即可
  4. pybind11 已被添加进thirdpart文件夹 无需安装

模型权重文件:

编译

  1. 编译c++动态库
mkdir build
cd build
cmake ..
make -j2
  1. 编译c++ demo
mkdir build
cd build
cmake -DBUILD_DEMO=ON ..
make -j2

运行c++ demo:

cd build/bin
./demo /path/to/xxx.mp4

注意: 运行demo请先修改demo/c++/main.cpp中的yolo、deepsort权重路径

  1. 编译python库
mkdir build
cd build
cmake -DBUILD_PYTHON_PACKAGE=ON ..
make -j2

运行python demo

cd demo/python
python test.py

注意

  1. 运行demo/python/test.py需要将编译好的tracking.cpython-3xm-x86_64-linux-gnu.so复制到demo/python目录下,tracking.cpython-3xm-x86_64-linux-gnu.so一般位于build/tracking下, 并且注意.so的python版本与python版本对应,否则可能出现import error
  2. 修改test.py中对应的参数 例如video_path width heightwidth heigth是ssd预处理图片缩放后的宽高大小
  3. 需要安装opencv-python mxnet-cuxx(对应你的cuda版本 例如cu10.1--mxnet-cu101) numpy gluoncv
pip install mxnet-cuxx opencv-python numpy gluoncv