This is the implementation for Divide and Conquer: Hybrid Pre-training for Person Search. (arXiv)
This project is released under the Apache 2.0 license.
This project is developed upon MMdetection, please refer to install.md to install MMdetection.
We utilized mmcv=1.3.9, pytorch=1.7.0
- Pre-training
sh run_train.sh
- format our pretrained model
sh tools/format_epoch_weights_for_pretraining.sh
- Fine-tuning
==>on PRW (eg. ROI-AlignPS method): Change the paths in L127 and L128 in test_results_prw.py
sh run_train_alignps.sh
==>on CUHK-SYSU (e.g. ROI-AlignPS method): Change the paths in L59 and L72 in test_results.py
sh run_train_alignps.sh
- Test
==>on PRW (e.g. ROI-AlignPS method):
sh run_test_roi_prw.sh
==>on CUHK-SYSU (e.g. ROI-AlignPS method):
sh run_test_roi.sh
Dataset | Model | mAP | Rank1 | Config | Link |
---|---|---|---|---|---|
CUHK-SYSU | ROI-AlignPS | 95.3% | 95.8% | cfg | model |
CUHK-SYSU | ROI-AlignPS+ours | 95.4% | 96.0% | cfg | model |
PRW | ROI-AlignPS | 51.8% | 85.5% | cfg | model |
PRW | ROI-AlignPS+ours | 54.5% | 87.6% | cfg | model |
PoseTrack21 | ROI-AlignPS | 59.1% | 82.1% | cfg | model |
PoseTrack21 | ROI-AlignPS+ours | 63.6% | 87.1% | cfg | model |
you can run the following commend to install: (ref)
pip install psvis
and load the model as:
from psvis.models.backbones import resnet
resnet50 = resnet.__dict__['resnet50'](pretrained=True)
or you can download pretrained models from: resnet50 resnet18 shufflenet_v1
If you use our pretrained model or benchmark in your research, please cite this project.
@inproceedings{tian2024pretrainps,
title={Divide and Conquer: Hybrid Pre-training for Person Search},
author={Yanling Tian, Di Chen, Yunan Liu, Jian Yang, Shanshan Zhang},
booktitle={AAAI},
year={2024}
}