The is the official repository with Pytorch version for Implicit Sample Extension for Unsupervised Person Re-Identification. Please refer to PaddleCls for the official repository with Paddle version.
This code is ONLY released for academic use.
- 1. Introduction
- 2. Instillation
- 3. Preparation
- 4. Train
- 5. Test
- 6. Main Results
- 7. References
- 8. Citation
ISE (Implicit Sample Extension) is a simple, efficient, and effective learning algorithm for unsupervised person Re-ID. ISE generates what we call support samples around the cluster boundaries. The sample generation process in ISE depends on two critical mechanisms, i.e., a progressive linear interpolation strategy and a label-preserving loss function. The generated support samples from ISE provide complementary information, which can nicely handle the "sub and mixed" clustering errors. ISE achieves superior performance than other unsupervised methods on Market1501 and MSMT17 datasets.
Implicit Sample Extension for Unsupervised Person Re-Identification
Xinyu Zhang*, Dongdong Li*, Zhigang Wang, Jian Wang, Errui Ding, Javen Qinfeng Shi, Zhaoxiang Zhang, Jingdong Wang
CVPR2022
- Python 3.7.8
- Pytorch 1.2.0
- Torchvision 0.4.0
- Faiss-gpu 1.6.4
- Please refer to
setup.py
for the other packages with the corresponding versions.
- Run
git clone https://github.com/zhangxinyu-xyz/ISE-ReID.git
- Prepare dataset
a. Download datasets: Market-1501 and MSMT17 (from Aliyun)
b. Move them to
$ISE/data/
c. Insure the data folder like the following structure (otherwise you should modify the data path in~/clustercontrast/datasets/[DATANAME].py
):
$ISE/data
market1501
Market-1501-v15.09.15
bounding_box_train
bounding_box_test
query
msmt17
MSMT17_V1
bounding_box_train
bounding_box_test
query
d. (optional) Download the pretrained model first, and put the model into: ```./model/```.
You can directly run ISE_*.sh
file for the transferring training process.
sh ISE_train_market1501.sh ### for Market1501
sh ISE_train_msmt17.sh ### for MSMT17
With Pytorch 1.2.0, we shall get about 84.7%/93.5% (
Note that we use 4 GPUs.
You can simply run test_*.sh
file for the transferring testing process.
sh ISE_test_market1501.sh ### for Market1501
sh ISE_test_msmt17.sh ### for MSMT17
We shall get about 84.7%/94.0%% top-1/mAP on Market-1501 and 35.0%/64.8% top-1/mAP on MSMT17.
The main results on Market1501 (M) and MSMT17 (MS). PIL denotes the progressive linear interpolation strategy. LP represents the label-preserving loss function.
Methods | M | Link | MS | Link |
---|---|---|---|---|
Baseline | 82.5 (92.5) | - | 30.1 (58.6) | - |
ISE (+PIL) | 83.9 (93.9) | - | 33.5 (63.9) | - |
ISE (+LP) | 83.6 (92.7) | - | 31.4 (59.9) | - |
ISE (Ours) (+PIL+LP) | 84.7 (94.0) | ISE_M | 35.0 (64.8) | ISE_MS |
[1] Our code is conducted based on ClusterContrast.
[2] Cluster Contrast for Unsupervised Person Re-Identification
[3] Implicit Sample Extension for Unsupervised Person Re-Identification, CVPR2022
If you find this code useful in your research, please kindly consider citing our paper:
@inproceedings{zhang2022implicit,
title={Implicit Sample Extension for Unsupervised Person Re-Identification},
author={Zhang, Xinyu and Li, Dongdong and Wang, Zhigang and Wang, Jian and Ding, Errui and Shi, Javen Qinfeng and Zhang, Zhaoxiang and Wang, Jingdong},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={7369--7378},
year={2022}
}