This is the official implementation for our paper Fast One-Stage Unsupervised Domain Adaptive Person Search (FOUS) by Tianxiang Cui, Huibing Wang (corresponding author: huibing.wang@dlmu.edu.cn), Jinjia Peng, Ruoxi Deng, Xianping Fu, Yang Wang. IJCAI 2024
In this paper, we propose a Fast One-stage Unsupervised person Search(FOUS) which complementary integrates domain adaptaion with label adaptaion within an end-to-end manner without iterative clustering. To minimize the domain discrepancy, FOUS introduced an Attention-based Domain Alignment Module (ADAM) which can not only align various domains for both detection and ReID tasks but also construct an attention mechanism to reduce the adverse impacts of low-quality candidates resulting from unsupervised detection. Moreover, to avoid the redundant iterative clustering mode, FOUS adopts a prototype-guided labeling method which minimizes redundant correlation computations for partial samples and assigns noisy coarse label groups efficiently. The coarse label groups will be continuously refined via label-flexible training network with an adaptive selection strategy.
Performance : we tried some hyper-parameters and got better ReID performance reported in our paper.
Source | Target | mAP | Top-1 | CKPT |
---|---|---|---|---|
PRW | CUHK-SYSU | 78.7 | 80.7 | ckpt |
CUHK-SYSU | PRW | 35.4 | 80.8 | ckpt |
Install Nvidia Apex
Run pip install -r requirements.txt
in the root directory of the project.
- 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.
-
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.py --cfg configs/cuhk_sysu_da.yaml --eval --ckpt $MODEL_PATH
CUHK-SYSU as the target domain:
python train.py --cfg configs/prw_da.yaml --eval --ckpt $MODEL_PATH
PRW as the target domain:
python train.py --cfg configs/cuhk_sysu_da.yaml
CUHK-SYSU as the target domain:
python train.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).
If any part of our paper and repository is helpful to your work, please generously cite with:
@misc{cui2024fast,
title={Fast One-Stage Unsupervised Domain Adaptive Person Search},
author={Tianxiang Cui and Huibing Wang and Jinjia Peng and Ruoxi Deng and Xianping Fu and Yang Wang},
year={2024},
eprint={2405.02832},
archivePrefix={arXiv},
primaryClass={cs.CV}
}