# Deep Sort with PyTorch
![](demo/demo.gif)
## Update(1-1-2020)
Changes
- fix bugs
- refactor code
- accerate detection by adding nms on gpu
## Latest Update(07-22)
Changes
- bug fix (Thanks @JieChen91 and @yingsen1 for bug reporting).
- using batch for feature extracting for each frame, which lead to a small speed up.
- code improvement.
Futher improvement direction
- Train detector on specific dataset rather than the official one.
- Retrain REID model on pedestrain dataset for better performance.
- Replace YOLOv3 detector with advanced ones.
**Any contributions to this repository is welcome!**
## Introduction
This is an implement of MOT tracking algorithm deep sort. Deep sort is basicly the same with sort but added a CNN model to extract features in image of human part bounded by a detector. This CNN model is indeed a RE-ID model and the detector used in [PAPER](https://arxiv.org/abs/1703.07402) is FasterRCNN , and the original source code is [HERE](https://github.com/nwojke/deep_sort).
However in original code, the CNN model is implemented with tensorflow, which I'm not familier with. SO I re-implemented the CNN feature extraction model with PyTorch, and changed the CNN model a little bit. Also, I use **YOLOv3** to generate bboxes instead of FasterRCNN.
## Dependencies
- python 3 (python2 not sure)
- numpy
- scipy
- opencv-python
- sklearn
- torch >= 0.4
- torchvision >= 0.1
- pillow
- vizer
- edict
## Quick Start
0. Check all dependencies installed
```bash
pip install -r requirements.txt
```
for user in china, you can specify pypi source to accelerate install like:
```bash
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
```
1. Clone this repository
```
git clone git@github.com:ZQPei/deep_sort_pytorch.git
```
2. Download YOLOv3 parameters
```
cd detector/YOLOv3/weight/
wget https://pjreddie.com/media/files/yolov3.weights
wget https://pjreddie.com/media/files/yolov3-tiny.weights
cd ../../../
```
3. Download deepsort parameters ckpt.t7
```
cd deep_sort/deep/checkpoint
# download ckpt.t7 from
https://drive.google.com/drive/folders/1xhG0kRH1EX5B9_Iz8gQJb7UNnn_riXi6 to this folder
cd ../../../
```
4. Compile nms module
```bash
cd detector/YOLOv3/nms
sh build.sh
cd ../../..
```
Notice:
If compiling failed, the simplist way is to **Upgrade your pytorch >= 1.1 and torchvision >= 0.3" and you can avoid the troublesome compiling problems which are most likely caused by either `gcc version too low` or `libraries missing`.
5. Run demo
```
usage: python yolov3_deepsort.py VIDEO_PATH
[--help]
[--frame_interval FRAME_INTERVAL]
[--config_detection CONFIG_DETECTION]
[--config_deepsort CONFIG_DEEPSORT]
[--display]
[--display_width DISPLAY_WIDTH]
[--display_height DISPLAY_HEIGHT]
[--save_path SAVE_PATH]
[--cpu]
# yolov3 + deepsort
python yolov3_deepsort.py [VIDEO_PATH]
# yolov3_tiny + deepsort
python yolov3_deepsort.py [VIDEO_PATH] --config_detection ./configs/yolov3_tiny.yaml
# yolov3 + deepsort on webcam
python3 yolov3_deepsort.py /dev/video0 --camera 0
# yolov3_tiny + deepsort on webcam
python3 yolov3_deepsort.py /dev/video0 --config_detection ./configs/yolov3_tiny.yaml --camera 0
```
Use `--display` to enable display.
Results will be saved to `./output/results.avi` and `./output/results.txt`.
All files above can also be accessed from BaiduDisk!
linker:[BaiduDisk](https://pan.baidu.com/s/1YJ1iPpdFTlUyLFoonYvozg)
passwd:fbuw
## Training the RE-ID model
The original model used in paper is in original_model.py, and its parameter here [original_ckpt.t7](https://drive.google.com/drive/folders/1xhG0kRH1EX5B9_Iz8gQJb7UNnn_riXi6).
To train the model, first you need download [Market1501](http://www.liangzheng.com.cn/Project/project_reid.html) dataset or [Mars](http://www.liangzheng.com.cn/Project/project_mars.html) dataset.
Then you can try [train.py](deep_sort/deep/train.py) to train your own parameter and evaluate it using [test.py](deep_sort/deep/test.py) and [evaluate.py](deep_sort/deep/evalute.py).
![train.jpg](deep_sort/deep/train.jpg)
## Demo videos and images
[demo.avi](https://drive.google.com/drive/folders/1xhG0kRH1EX5B9_Iz8gQJb7UNnn_riXi6)
[demo2.avi](https://drive.google.com/drive/folders/1xhG0kRH1EX5B9_Iz8gQJb7UNnn_riXi6)
![1.jpg](demo/1.jpg)
![2.jpg](demo/2.jpg)
## References
- paper: [Simple Online and Realtime Tracking with a Deep Association Metric](https://arxiv.org/abs/1703.07402)
- code: [nwojke/deep_sort](https://github.com/nwojke/deep_sort)
- paper: [YOLOv3](https://pjreddie.com/media/files/papers/YOLOv3.pdf)
- code: [Joseph Redmon/yolov3](https://pjreddie.com/darknet/yolo/)
没有合适的资源?快使用搜索试试~ 我知道了~
YOLOv8-deepsort 实现智能车辆目标检测+车辆跟踪+车辆计数
共350个文件
pyc:163个
py:86个
yaml:38个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 184 浏览量
2024-07-31
14:24:02
上传
评论
收藏 293.82MB RAR 举报
温馨提示
本资源提供了基于YOLOv8-deepsort算法的智能车辆目标检测、车辆跟踪和车辆计数的实现方案。首先,利用YOLOv8算法对视频中的车辆目标进行检测,并对检测到的目标进行标记。然后,通过deepsort算法对标记的车辆目标进行跟踪,实现车辆目标的持续跟踪。最后,根据跟踪结果对车辆数量进行统计,实现车辆计数功能。本资源提供了完整的代码实现和详细的使用说明,帮助读者快速掌握基于YOLOv8-deepsort的智能车辆目标检测、车辆跟踪和车辆计数技术。
资源推荐
资源详情
资源评论
收起资源包目录
YOLOv8-deepsort 实现智能车辆目标检测+车辆跟踪+车辆计数
(350个子文件)
setup.cfg 2KB
config 332B
description 73B
exclude 240B
.gitignore 2KB
.gitignore 89B
.gitkeep 0B
HEAD 238B
HEAD 238B
HEAD 30B
HEAD 21B
pack-a54be353174391969d7597a49d5880a6351e7733.idx 12KB
MANIFEST.in 113B
index 11KB
YOLOv8_Detection_Tracking_CustomData_Complete.ipynb 21.58MB
YOLOv8_DeepSORT_TRACKING_SCRIPT.ipynb 15.85MB
train.jpg 59KB
LICENSE 1KB
predict.log 655B
main 238B
main 41B
CONTRIBUTING.md 6KB
README.md 5KB
README.md 3KB
README.md 2KB
README.md 65B
test3.mp4 14.96MB
test3.mp4 4.75MB
test3.mp4 44B
pack-a54be353174391969d7597a49d5880a6351e7733.pack 77.99MB
packed-refs 112B
PKG-INFO 5KB
figure3.png 2.81MB
figure1.png 2.68MB
figure2.png 2.51MB
yolov8l.pt 83.7MB
v5loader.py 55KB
exporter.py 40KB
augment.py 31KB
modules.py 30KB
ops.py 25KB
trainer.py 25KB
metrics.py 23KB
autobackend.py 20KB
tasks.py 18KB
v5augmentations.py 17KB
torch_utils.py 16KB
plotting.py 14KB
__init__.py 14KB
utils.py 13KB
predict.py 12KB
val.py 12KB
predictor.py 11KB
json_logger.py 11KB
instance.py 11KB
stream_loaders.py 11KB
checks.py 10KB
train.py 10KB
tal.py 10KB
dataset.py 10KB
validator.py 9KB
base.py 9KB
model.py 8KB
linear_assignment.py 8KB
linear_assignment.py 8KB
kalman_filter.py 8KB
kalman_filter.py 8KB
utils.py 7KB
downloads.py 6KB
train.py 6KB
nn_matching.py 6KB
nn_matching.py 6KB
tracker.py 5KB
__init__.py 5KB
build.py 5KB
track.py 5KB
session.py 5KB
io.py 4KB
files.py 4KB
deep_sort.py 4KB
hydra_patch.py 4KB
evaluation.py 3KB
model.py 3KB
original_model.py 3KB
base.py 3KB
autobatch.py 3KB
iou_matching.py 3KB
iou_matching.py 3KB
hub.py 3KB
auth.py 2KB
test.py 2KB
setup.py 2KB
dist.py 2KB
loss.py 2KB
preprocessing.py 2KB
preprocessing.py 2KB
clearml.py 2KB
cli.py 2KB
feature_extractor.py 2KB
comet.py 2KB
共 350 条
- 1
- 2
- 3
- 4
资源评论
小风飞子
- 粉丝: 356
- 资源: 1822
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功