English | 简体中文
DeepSORT (Deep Cosine Metric Learning SORT) extends the original SORT (Simple Online and Realtime Tracking) algorithm, it adds a CNN model to extract features in image of human part bounded by a detector. It integrates appearance information based on a deep appearance descriptor, and assigns and updates the detected targets to the existing corresponding trajectories like ReID task. The detection bboxes result required by DeepSORT can be generated by any detection model, and then the saved detection result file can be loaded for tracking. Here we select the PCB + Pyramid ResNet101
model provided by PaddleClas as the ReID model.
backbone | input shape | MOTA | IDF1 | IDS | FP | FN | FPS | download | config |
---|---|---|---|---|---|---|---|---|---|
ResNet101 | 1088x608 | 72.2 | 60.5 | 998 | 8054 | 21644 | - | download | config |
backbone | input shape | MOTA | IDF1 | IDS | FP | FN | FPS | download | config |
---|---|---|---|---|---|---|---|---|---|
ResNet101 | 1088x608 | 64.1 | 53.0 | 1024 | 12457 | 51919 | - | download | config |
Notes: DeepSORT does not need to train on MOT dataset, only used for evaluation. Before DeepSORT evaluation, you should get detection results by a detection model first, and then prepare them like this:
det_results_dir
|——————MOT16-02.txt
|——————MOT16-04.txt
|——————MOT16-05.txt
|——————MOT16-09.txt
|——————MOT16-10.txt
|——————MOT16-11.txt
|——————MOT16-13.txt
For MOT16 dataset, you can download the det_results_dir.zip provided by PaddleDetection:
wget https://dataset.bj.bcebos.com/mot/det_results_dir.zip
Each txt is the detection result of all the pictures extracted from each video, and each line describes a bounding box with the following format:
[frame_id],[identity],[bb_left],[bb_top],[width],[height],[conf]
Notes:
frame_id
is the frame number of the imageidentity
is the object id using default value-1
bb_left
is the X coordinate of the left bound of the object boxbb_top
is the Y coordinate of the upper bound of the object boxwidth,height
is the pixel width and heightconf
is the object score with default value1
(the results had been filtered out according to the detection score threshold)
# track the objects by loading detected result files
CUDA_VISIBLE_DEVICES=0 python tools/eval_mot.py -c configs/mot/deepsort/deepsort_pcb_pyramid_r101.yml --det_results_dir {your detection results}
@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}
}