Skip to content

Hard-sample Guided Hybrid Contrast Learning for Unsupervised Person Re-Identification

Notifications You must be signed in to change notification settings

bupt-ai-cz/HHCL-ReID

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HHCL-ReID visitors

Tweet PWC PWC

This repository is the official implementation of our paper "Hard-sample Guided Hybrid Contrast Learning for Unsupervised Person Re-Identification!".

framework_HCCL

Requirements


git clone https://github.com/bupt-ai-cz/HHCL-ReID.git
cd HHCL-ReID
pip install -r requirements.txt
python setup.py develop

Prepare Datasets


Download the datasets Market-1501,MSMT17,DukeMTMC-reID from this link and unzip them under the directory like:

HHCL-ReID/examples/data
├── market1501
│   └── Market-1501-v15.09.15
└── dukemtmcreid
    └── DukeMTMC-reID

Prepare ImageNet Pre-trained Models for IBN-Net

When training with the backbone of IBN-ResNet, you need to download the ImageNet-pretrained model from this link and save it under the path of examples/pretrained/.

HHCL-ReID/examples
└── pretrained
    └── resnet50_ibn_a.pth.tar

Training


We utilize 4 GTX-2080TI GPUs for training. Examples:

Market-1501:

CUDA_VISIBLE_DEVICES=0,1,2,3 python examples/train.py -b 256 -a resnet50 -d market1501 --iters 200 --eps 0.45 --momentum 0.1 --num-instances 16 --pooling-type avg --memorybank CMhybrid --epochs 60 --logs-dir examples/logs/market1501/resnet50_avg_cmhybrid

DukeMTMC-reID:

CUDA_VISIBLE_DEVICES=0,1,2,3 python examples/train.py -b 256 -a resnet50 -d dukemtmcreid --iters 200 --eps 0.6 --momentum 0.1 --num-instances 16 --pooling-type avg --memorybank CMhybrid --epochs 60 --logs-dir examples/logs/dukemtmcreid/resnet50_avg_cmhybrid
  • use -a resnet50 (default) for the backbone of ResNet-50, and -a resnet_ibn50a for the backbone of IBN-ResNet;
  • use --pooling-type gem for Generalized Mean Pooling (GEM) pooling and --smooth for label smoothing.

Evaluation


To evaluate my model on ImageNet, run:

CUDA_VISIBLE_DEVICES=0 python examples/test.py -d $DATASET --resume $PATH --pooling-type avg

Results


Our model achieves the following performance on :

Dataset Market1501 DukeMTMC-reID
Setting mAP R1 R5 R10 mAP R1 R5 R10
Fully Unsupervised 84.2 93.4 97.7 98.5 73.3 85.1 92.4 94.6
Supervised 87.2 94.6 98.5 99.1 80.0 89.8 95.2 96.7

You can download the above models in the paper from Google Drive

Citation


If you find this code useful for your research, please cite our paper

@article{hu2021hard,
  title={Hard-sample Guided Hybrid Contrast Learning for Unsupervised Person Re-Identification},
  author={Hu, Zheng and Zhu, Chuang and He, Gang},
  journal={arXiv preprint arXiv:2109.12333},
  year={2021}
}

Acknowledgements


This project is not possible without multiple great opensourced codebases. We list them below.

About

Hard-sample Guided Hybrid Contrast Learning for Unsupervised Person Re-Identification

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published