Deep SORT —— YOLO V4 目标检测跟踪
介绍
项目采用 YOLO V4
算法模型进行目标检测,使用 Deep SORT
目标跟踪算法。
文档
运行环境
- Keras==2.4.3
- tensorflow-gpu==2.2.0
- opencv-python==4.3.0.36
- image==1.5.32
- NVIDIA GPU CUDA
目录结构
deep-sort-yolov4
┌── deep_sort DeepSort目标跟踪算法
│ ├── detection.py
│ ├── generate_detections.py
│ ├── iou_matching.py
│ ├── kalman_filter.py
│ ├── linear_assignment.py
│ ├── nn_matching.py
│ ├── preprocessing.py
│ ├── track.py
│ └── tracker.py
├── model_data 模型文件数据
│ ├── market1501.pb 跟踪特征模型文件
│ ├── mars-small128.pb 跟踪特征模型文件
│ ├── yolov4.h5 检测模型文件
│ ├── yolov4.weights 检测模型文件
│ └── README.md
├── yolo4 YOLOV4目标检测
│ ├── model.py
│ └── yolo.py
│─── convertToH5.py
│─── detect_video_tracker.py
│─── requirements.txt
│─── test.mp4
└─── README.md
检测框格式
- tlwh: 代表左上角坐标+宽高
- tlbr: 代表左上角坐标+右下角坐标
- xyah: 代表中心坐标+宽高比+高
执行
需要模型和视频文件
- pb两个是跟踪特征模型文件
- h5由weights转换得
模型的权重文件要先转出模型H5文件
model_data/mars-small128.pb
model_data/market1501.pb
model_data/yolov4.weights
model_data/yolov4.h5
# 安装依赖
pip install -r requirements.txt
# 模型权重 `yolov4.weights` 转 `yolo4.h5`
python convertToH5.py --input_size 608 --min_score 0.3 --iou 0.5 --model_path model_data/yolov4.h5 --weights_path model_data/yolov4.weights
# 执行视频目标检测跟踪
python detect_video_tracker.py --video test.mp4 --min_score 0.3 --model_yolo model_data/yolov4.h5 --model_feature model_data/mars-small128.pb