Awesome
Domain Adaptive Person Search
Introduction
This is the official implementation for our paper Domain Adaptive Person Search (DAPS) in ECCV2022. The code is based on the official code of SeqNet and SPCL.
Performance : we tried some hyper-parameters and got better ReID performance reported in our paper.
Source | Target | mAP | Top-1 | CKPT | log |
---|---|---|---|---|---|
PRW | CUHK-SYSU | 78.5 | 80.7 | ckpt | train_log |
CUHK-SYSU | PRW | 35.3 | 80.2 | ckpt | train_log |
Installation
run python setup.py develop
to enable SPCL
Install Nvidia Apex
Run pip install -r requirements.txt
in the root directory of the project.
Data Preparation
- Download CUHK-SYSU and PRW datasets, and unzip them.
- Modify
configs/prw_da.yaml
andconfigs/cuhk_sysu_da.yaml
to change the dataset store place (Line 1,5,6) to your own path.
Testing
-
Following the link in the above table, download our pretrained model to anywhere you like
-
Evaluate its performance by specifing the paths of checkpoint and corresponding configuration file.
PRW as the target domain:
python train_da_dy_cluster.py --cfg configs/cuhk_sysu_da.yaml --eval --ckpt $MODEL_PATH
CUHK-SYSU as the target domain:
python train_da_dy_cluster.py --cfg configs/prw_da.yaml --eval --ckpt $MODEL_PATH
Training
PRW as the target domain:
python train_da_dy_cluster.py --cfg configs/cuhk_sysu_da.yaml
CUHK-SYSU as the target domain:
python train_da_dy_cluster.py --cfg configs/prw_da.yaml
Note: At present, our script only supports single GPU training, but distributed training will be also supported in future. By default, the batch size is set to 4, which requires about 27GB of GPU memory. If your GPU cannot provide the required memory, try smaller batch size and learning rate (performance may degrade).