Release Note

CBAM and mixedstyle will be merged soon. Everything else has been uploaded.

Install

Follow the official repo to install bytetrack.

Data Prepare

We used the MOTSynth official data extraction pipelines.

datasets
   |——————mot (MOT17)
   |        └——————train
   |        └——————test
   └——————motsynth
   |         └——————MOT17-02-DPM
   |         └——————MOT17-04-DPM
   |         └——————...
   |         └——————annotations
   |         └——————comb_annotations
   |         └——————frames
   └——————data_path

image

Training

To reproduce the performance, you need 8 GPUs with no less than 40G memory.

  • Stage1. Training warm_up model with below script, or download warm-up model (58.1 HOTA), and save it in
python3 tools/train.py -f exps/example/mot/yolox_x_source_only.py -d 8 -b 48 --fp16 -o
  • Make pseudo label, run below code

python3 tools/track.py -f exps/example/mot/yolox_x_mix_det.py -c weight/warm-up.pth.tar -b 1 -d 1 --fp16 --fuse
python3 tools/interpolation.py
python3 make_PU.py
python3 ./tools/convert_mot17_to_coco_pu.py
python3 merge_json.py
  • Stage2. Cross-domain Mixed Sampling with mosaic augmentation
python3 tools/train.py -f exps/example/mot/yolox_x_mixed.py -d 8 -b 48 --fp16 -o -c weight/warm-up.pth.tar
  • Make pseudo label, run below code

python3 tools/track.py -f exps/example/mot/yolox_x_ft.py -c weight/mixed.pth.tar -b 1 -d 1 --fp16 --fuse
python3 tools/interpolation.py
python3 make_PU.py
python3 ./tools/convert_mot17_to_coco_pu.py # We removed values with confidence less than 0.7 (L 108 in ./tools/convert_mot17_to_coco_pu.py) because predictions with low confidence can act as label noise.
  • Stage3. Make multiple fine-tune model and model soup # when fine-tuned, the EMA is not used.

(Note that when performing fine-tune in Step 3, the augmentation combination should be different in L49-57 of ./yolox/data/datasets/mot.py)

python3 wa.py # you have to adjust it manually. (Until the CVPR22 conference, the completed code will be uploaded.)

Test

python3 tools/track.py -f exps/example/mot/yolox_x_source_only.py -c weight/warm-up_67.5.pth.tar -b 1 -d 1 --fp16 --fuse
python3 tools/interpolation.py # HOTA 58.1

image

python3 tools/track.py -f exps/example/mot/yolox_x_source_only.py -c weight/stage2_69.6.pth.tar -b 1 -d 1 --fp16 --fuse
python3 tools/interpolation.py # HOTA 59.xx

image

python3 tools/track.py -f exps/example/mot/yolox_x_source_only.py -c weight/stage3_75.7.pth.tar -b 1 -d 1 --fp16 --fuse
python3 tools/interpolation.py # HOTA 62.xx

image

python3 tools/track.py -f exps/example/mot/yolox_x_source_only.py -c weight/stage3_77.9.pth.tar -b 1 -d 1 --fp16 --fuse
python3 tools/interpolation.py # HOTA 63.xx

image

GitHub

View Github