# deep_sort **Repository Path**: syshensyshen/deep_sort ## Basic Information - **Project Name**: deep_sort - **Description**: c++ 实现deep_sort,并优化执行时间 - **Primary Language**: C++ - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-02-26 - **Last Updated**: 2025-06-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## DEEPSORT #### 说明 [原项目地址](https://github.com/weixu000/libtorch-yolov3-deepsort) 此项目以学习Deepsort原理为主,在原项目的基础上进行小修改,编译出可供C++与python两个语言进行调用的库,方便工程的小伙伴直接使用
感谢原作者提供的代码!
`demo` 文件夹下提供了C++与Python两个版本的调用示例,C++使用的是pytorch的yolo3, python使用的是mxnet `tracking` 文件夹下为Deepsort源码 #### 依赖 Ubuntu下以测试完成 1. opencv3 以及更高版本 2. CUDA [版本不同libtorch要更换对应版本] 3. libtorch [下载地址 V1.51 cuda10.1](https://download.pytorch.org/libtorch/cu101/libtorch-cxx11-abi-shared-with-deps-1.5.1%2Bcu101.zip) 下载完成后复制进`thirdpart`文件夹即可 3. pybind11 已被添加进`thirdpart`文件夹 无需安装 模型权重文件: - [YOLOv3 下载地址1](https://pjreddie.com/media/files/yolov3.weights) - [YOLOv3 下载地址2](https://pan.baidu.com/s/12z9RBGyZDGpepL4nC8-P3g) 提取码: 9t4f - [Deepsort](https://pan.baidu.com/s/1otqi1eYsVTsTQv5N7e5cXQ) 提取码: 4sht #### 编译 1. 编译c++动态库 ``` mkdir build cd build cmake .. make -j2 ``` 2. 编译c++ demo ``` mkdir build cd build cmake -DBUILD_DEMO=ON .. make -j2 ``` 运行c++ demo: ``` cd build/bin ./demo ``` **注意**: 运行demo请先修改`demo/c++/main.cpp`中的yolo、deepsort权重路径 2. 编译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` `height`, `width` `heigth`是ssd预处理图片缩放后的宽高大小 3. 需要安装opencv-python mxnet-cuxx(对应你的cuda版本 例如cu10.1--mxnet-cu101) numpy gluoncv ``` pip install mxnet-cuxx opencv-python numpy gluoncv ```