Rethinking Two-Stage Data Association for Multiple Object Tracking in Crowd Scenes
Ruonan Wei, Yuehuan Wang, and Jinpu Zhang
This code is based on the implementation of ByteTrack, BoT-SORT,
Step 1. Install torch and matched torchvision from pytorch.org.
The code was tested using torch 1.11.0+cu113 and torchvision==0.12.0
Step 2. Install RethMOT.
cd RethMOT
pip3 install -r requirements.txt
python3 setup.py develop
Step 3. Install pycocotools.
pip3 install cython; pip3 install 'git+https://github.com/cocodataset/cocoapi.git#subdirectory=PythonAPI'
Step 4. Others
# Cython-bbox
pip3 install cython_bbox
# faiss cpu / gpu
pip3 install faiss-cpu
pip3 install faiss-gpu
Download MOT17 and MOT20 from the official website. And put them in the following structure:
<dataets_dir>
│
├── MOT17
│ ├── train
│ └── test
│
└── MOT20
├── train
└── test
Tuning the tracking parameters carefully could lead to higher performance.
- Test on MOT17
cd <RethMOT_dir>
python3 tools/track.py <dataets_dir/MOT17> --default-parameters --with-reid --benchmark "MOT17" --eval "test" --fp16 --fuse
python3 tools/interpolation.py --txt_path <path_to_track_result>
- Test on MOT20
cd <RethMOT_dir>
python3 tools/track.py <dataets_dir/MOT20> --default-parameters --with-reid --benchmark "MOT20" --eval "test" --fp16 --fuse
python3 tools/interpolation.py --txt_path <path_to_track_result>
- Evaluation on MOT17 validation set (the second half of the train set)
cd <RethMOT_dir>
python3 tools/track.py <dataets_dir/MOT17> --default-parameters --benchmark "MOT17" --eval "val" --fp16 --fuse
# or
python3 tools/track.py <dataets_dir/MOT17> --default-parameters --with-reid --benchmark "MOT17" --eval "val" --fp16 --fuse
A large part of the codes, ideas and results are borrowed from ByteTrack, BoT-SORT, StrongSORT, FastReID, YOLOX and YOLOv7. Thanks for their excellent work!