Skip to content

whbdmu/FOUS

Repository files navigation

Fast One-Stage Unsupervised Domain Adaptive Person Search

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

Introduction

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

Installation

Install Nvidia Apex

Run pip install -r requirements.txt in the root directory of the project.

Data Preparation

  1. Download CUHK-SYSU and PRW datasets, and unzip them.
  2. Modify configs/prw_da.yaml and configs/cuhk_sysu_da.yaml to change the dataset store place (Line 1,5,6) to your own path.

Testing

  1. Following the link in the above table, download our pretrained model to anywhere you like

  2. 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

Training

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).

Citation

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}
}

About

Unsupervised Person Search

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages