LCFractal / AIC21-MTMC

🏆The 1st place solution of track3 (City-Scale Multi-Camera Vehicle Tracking) in the NVIDIA AI City Challenge at CVPR 2021 Workshop.
MIT License
128 stars 35 forks source link

Should I run three re-id models or just one? #12

Closed wanglu362 closed 2 years ago

wanglu362 commented 2 years ago

I'm reproducing the run_all results and got some questions.

In the run_all.sh, the re-id feature extraction part is as below, python extract_image_feat.py "aic_reid1.yml" python extract_image_feat.py "aic_reid2.yml" python extract_image_feat.py "aic_reid3.yml"

Checked that the config files differ in the pretrained re-id model each uses, resnet101 or resnext101. So I wonder should I run all the three re-id feature extraction processes or just one of them?

Further noticed in reid/merge_reid_feat.py, in merge_feat(), ensemble_list = ['detect_reid1', 'detect_reid2', 'detect_reid3']. I guess this ensemble_list should be in accordance with the re-id models selected. If I only use reid1, should I modify the ensemble_list to contain only the 'detect_reid1'?

Thank you for your patience and regards!

LCFractal commented 2 years ago

The output features of the three reid models are different, and performance can be improved by merging the three features.

If you only want to use one of the reid features, you can modify ensemble_list.

python extract_image_feat.py "aic_reid1.yml"
#python extract_image_feat.py "aic_reid2.yml"
#python extract_image_feat.py "aic_reid3.yml"

ensemble_list = ['detect_reid1']
wanglu362 commented 2 years ago

The output features of the three reid models are different, and performance can be improved by merging the three features.

If you only want to use one of the reid features, you can modify ensemble_list.

python extract_image_feat.py "aic_reid1.yml"
#python extract_image_feat.py "aic_reid2.yml"
#python extract_image_feat.py "aic_reid3.yml"

ensemble_list = ['detect_reid1']

Thanks and I'll try this.