deepsort
deepsort copied to clipboard
c++&python
DEEPSORT
说明
此项目以学习Deepsort原理为主,在原项目的基础上进行小修改,编译出可供C++与python两个语言进行调用的库,方便工程的小伙伴直接使用
感谢原作者提供的代码!
demo 文件夹下提供了C++与Python两个版本的调用示例,C++使用的是pytorch的yolo3, python使用的是mxnet
tracking 文件夹下为Deepsort源码
依赖
Ubuntu下以测试完成
- opencv3 以及更高版本
- CUDA [版本不同libtorch要更换对应版本]
- libtorch 下载地址 V1.51 cuda10.1 下载完成后复制进
thirdpart文件夹即可 - pybind11 已被添加进
thirdpart文件夹 无需安装
模型权重文件:
- YOLOv3 下载地址1
- YOLOv3 下载地址2 提取码: 9t4f
- Deepsort 提取码: 4sht
编译
- 编译c++动态库
mkdir build
cd build
cmake ..
make -j2
- 编译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权重路径
- 编译python库
mkdir build
cd build
cmake -DBUILD_PYTHON_PACKAGE=ON ..
make -j2
运行python demo
cd demo/python
python test.py
注意:
- 运行
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 - 修改test.py中对应的参数 例如
video_pathwidthheight,widthheigth是ssd预处理图片缩放后的宽高大小 - 需要安装opencv-python mxnet-cuxx(对应你的cuda版本 例如cu10.1--mxnet-cu101) numpy gluoncv
pip install mxnet-cuxx opencv-python numpy gluoncv