Official PyTorch implementation of "Exploring Fine-Grained Representation and Recomposition for Cloth-Changing Person Re-Identification". (TIFS 2024)
Qizao Wang, Xuelin Qian, Bin Li, Xiangyang Xue, Yanwei Fu
Fudan University, Northwestern Polytechnical University
Please download cloth-changing person re-identification datasets and place them in any path DATASET_ROOT
:
DATASET_ROOT
└─ LTCC-reID or Celeb-reID or PRCC or DeepChange or LaST
├── train
├── query
├── gallery
# LTCC
python main.py --gpu_devices 0 --dataset ltcc --dataset_root DATASET_ROOT --dataset_filename LTCC-reID --save_dir SAVE_DIR --save_checkpoint
# Celeb-reID
python main.py --gpu_devices 0 --dataset celeb --dataset_root DATASET_ROOT --dataset_filename Celeb-reID --num_instances 4 --save_dir SAVE_DIR --save_checkpoint
# PRCC
python main.py --gpu_devices 0,1 --dataset prcc --dataset_root DATASET_ROOT --dataset_filename PRCC --max_epoch 30 --save_dir SAVE_DIR --save_checkpoint
# DeepChange
python main.py --gpu_devices 0,1 --dataset deepchange --dataset_root DATASET_ROOT --dataset_filename DeepChange --train_batch 64 --fg_start_epoch 45 --save_dir SAVE_DIR --save_checkpoint
# LaST
python main.py --gpu_devices 0,1 --dataset last --dataset_root DATASET_ROOT --dataset_filename LaST --train_batch 64 --num_instances 4 --fg_start_epoch 45 --save_dir SAVE_DIR --save_checkpoint
--dataset_root
: replace DATASET_ROOT
with your dataset root path
--save_dir
: replace SAVE_DIR
with the path to save log file and checkpoints
It is worth mentioning that adjusting the scanning radius of DBSCAN (by setting --eps
) can explore fine-grained information of different granularities.
Increasing the value of eps
on difficult datasets (e.g., LTCC and DeepChange) may reduce noise and bring slightly better performance, while eps=0.4
mostly works well.
python main.py --gpu_devices 0 --dataset DATASET --dataset_root DATASET_ROOT --dataset_filename DATASET_FILENAME --resume RESUME_PATH --save_dir SAVE_DIR --evaluate
--dataset
: replace DATASET
with the dataset name
--dataset_filename
: replace DATASET_FILENAME
with the folder name of the dataset
--resume
: replace RESUME_PATH
with the path of the saved checkpoint
The above three arguments are set corresponding to Training.
Backbone | Rank-1 | Rank-5 | mAP |
---|---|---|---|
ResNet-50 | 64.0 | 78.8 | 18.2 |
Backbone | Setting | Rank-1 | mAP |
---|---|---|---|
ResNet-50 | Cloth-Changing | 44.6 | 19.1 |
ResNet-50 | Standard | 75.9 | 39.9 |
Backbone | Setting | Rank-1 | mAP |
---|---|---|---|
ResNet-50 | Cloth-Changing | 65.0 | 63.1 |
ResNet-50 | Standard | 100 | 99.5 |
Backbone | Rank-1 | mAP |
---|---|---|
ResNet-50 | 57.9 | 20.0 |
Backbone | Rank-1 | mAP |
---|---|---|
ResNet-50 | 75.0 | 32.2 |
You can achieve similar results with the released code.
Please cite the following paper in your publications if it helps your research:
@article{wang2024exploring,
title={Exploring fine-grained representation and recomposition for cloth-changing person re-identification},
author={Wang, Qizao and Qian, Xuelin and Li, Bin and Xue, Xiangyang and Fu, Yanwei},
journal={IEEE Transactions on Information Forensics and Security},
volume={19},
pages={6280-6292},
year={2024},
publisher={IEEE}
}
Any questions or discussions are welcome!
Qizao Wang (qzwang22@m.fudan.edu.cn)