YOLOv4 + Deep_SORT
Object Tracking & Counting Demo - [BiliBili] [Chinese Version]
Requirement
Development Environment: Deep-Learning-Environment-Setup
- OpenCV
- sklean
- pillow
- numpy 1.15.0
- torch 1.3.0
- tensorflow-gpu 1.13.1
- CUDA 10.0 ***
It uses:
Detection: YOLOv4 to detect objects on each of the video frames. - 用自己的数据训练YOLOv4模型
Tracking: Deep_SORT to track those objects over different frames.
This repository contains code for Simple Online and Realtime Tracking with a Deep Association Metric (Deep SORT). We extend the original SORT algorithm to integrate appearance information based on a deep appearance descriptor. See the arXiv preprint for more information.
Quick Start
0.Requirements
pip install -r requirements.txt
1. Download the code to your computer.
git clone https://github.com/yehengchen/Object-Detection-and-Tracking.git
2. Download [yolov4.weights] [Baidu] - mnv6
and place it in deep_sort_yolov4/model_data/
Here you can download my trained [yolo4_weight.h5] - w17w
weights for detecting person/car/bicycle,etc.
3. Convert the Darknet YOLO model to a Keras model:
$ python convert.py model_data/yolov4.cfg model_data/yolov4.weights model_data/yolo.h5
4. Run the YOLO_DEEP_SORT:
$ python main.py -c [CLASS NAME] -i [INPUT VIDEO PATH]
$ python main.py -c person -i ./test_video/testvideo.avi
5. Can change [deep_sort_yolov3/yolo.py] `Line 100_` to your tracking object_
DeepSORT pre-trained weights using people-ReID datasets only for person
if predicted_class != args["class"]:
continue
if predicted_class != 'person' and predicted_class != 'car':
continue
Train on Market1501 & MARS
People Re-identification model
cosine_metric_learning for training a metric feature representation to be used with the deep_sort tracker.
Citation
YOLOv4 :
@misc{bochkovskiy2020yolov4,
title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
year={2020},
eprint={2004.10934},
archivePrefix={arXiv},
primaryClass={cs.CV}
}
Deep_SORT :
@inproceedings{Wojke2017simple,
title={Simple Online and Realtime Tracking with a Deep Association Metric},
author={Wojke, Nicolai and Bewley, Alex and Paulus, Dietrich},
booktitle={2017 IEEE International Conference on Image Processing (ICIP)},
year={2017},
pages={3645--3649},
organization={IEEE},
doi={10.1109/ICIP.2017.8296962}
}
@inproceedings{Wojke2018deep,
title={Deep Cosine Metric Learning for Person Re-identification},
author={Wojke, Nicolai and Bewley, Alex},
booktitle={2018 IEEE Winter Conference on Applications of Computer Vision (WACV)},
year={2018},
pages={748--756},
organization={IEEE},
doi={10.1109/WACV.2018.00087}
}