Skip to content

Latest commit

 

History

History
88 lines (63 loc) · 4.36 KB

README.md

File metadata and controls

88 lines (63 loc) · 4.36 KB

English | 简体中文

FairMOT (FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracking)

Table of Contents

Introduction

FairMOT is based on an Anchor Free detector Centernet, which overcomes the problem of anchor and feature misalignment in anchor based detection framework. The fusion of deep and shallow features enables the detection and ReID tasks to obtain the required features respectively. It also uses low dimensional ReID features. FairMOT is a simple baseline composed of two homogeneous branches propose to predict the pixel level target score and ReID features. It achieves the fairness between the two tasks and obtains a higher level of real-time MOT performance.

Model Zoo

FairMOT Results on MOT-16 Training Set

backbone input shape MOTA IDF1 IDS FP FN FPS download config
DLA-34(paper) 1088x608 83.3 81.9 544 3822 14095 - - -
DLA-34 1088x608 83.7 83.3 435 3829 13764 - model config

FairMOT Results on MOT-16 Test Set

backbone input shape MOTA IDF1 IDS FP FN FPS download config
DLA-34(paper) 1088x608 74.9 72.8 1074 - - 25.9 - -
DLA-34 1088x608 74.8 74.4 930 7038 37994 - model config

Notes: FairMOT used 8 GPUs for training and mini-batch size as 6 on each GPU, and trained for 30 epoches.

Getting Start

1. Training

Training FairMOT on 8 GPUs with following command

python -m paddle.distributed.launch --log_dir=./fairmot_dla34_30e_1088x608/ --gpus 0,1,2,3,4,5,6,7 tools/train.py -c configs/mot/fairmot/fairmot_dla34_30e_1088x608.yml

2. Evaluation

Evaluating the track performance of FairMOT on val dataset in single GPU with following commands:

# use weights released in PaddleDetection model zoo
CUDA_VISIBLE_DEVICES=0 python tools/eval_mot.py -c configs/mot/fairmot/fairmot_dla34_30e_1088x608.yml -o weights=https://paddledet.bj.bcebos.com/models/mot/fairmot_dla34_30e_1088x608.pdparams

# use saved checkpoint in training
CUDA_VISIBLE_DEVICES=0 python tools/eval_mot.py -c configs/mot/fairmot/fairmot_dla34_30e_1088x608.yml -o weights=output/fairmot_dla34_30e_1088x608/model_final.pdparams

Notes: The default evaluation dataset is MOT-16 Train Set. If you want to change the evaluation dataset, please refer to the following code and modify configs/datasets/mot.yml

EvalMOTDataset:
  !MOTImageFolder
    task: MOT17_train
    dataset_dir: dataset/mot
    data_root: MOT17/images/train
    keep_ori_im: False # set True if save visualization images or video

3. Inference

Inference a vidoe on single GPU with following command:

# inference on video and save a video
CUDA_VISIBLE_DEVICES=0 python tools/infer_mot.py -c configs/mot/fairmot/fairmot_dla34_30e_1088x608.yml -o weights=https://paddledet.bj.bcebos.com/models/mot/fairmot_dla34_30e_1088x608.pdparams --video_file={your video name}.mp4  --save_videos

Notes: Please make sure that ffmpeg is installed first, on Linux(Ubuntu) platform you can directly install it by the following command:apt-get update && apt-get install -y ffmpeg.

Citations

@article{zhang2020fair,
  title={FairMOT: On the Fairness of Detection and Re-Identification in Multiple Object Tracking},
  author={Zhang, Yifu and Wang, Chunyu and Wang, Xinggang and Zeng, Wenjun and Liu, Wenyu},
  journal={arXiv preprint arXiv:2004.01888},
  year={2020}
}