All our code is implemented in Keras, Tensorflow (Python). Installation instructions are as follows:
pip install --user tensorflow-gpu
pip install --user keras
pip install --user sklearn
We provide the fine-tuned models as follows:
- Duke 2. Market 3. CUHK03 4. Duke + Market 5. Duke + CUHK03 6. Market + CUHK03
To reappear Duke -> Market:
-
Rename the above fine-tuned "Duke" model as "0.ckpt", which is treated as original model for PUL;
-
Create directory "checkpoint" under the folder "PUL", and move the original model "0.ckpt" into the "checkpoint";
-
Modify PUL/unsupervised.py or PUL/semi-supervised.py and PUL/evaluate.py to train and evaluate Duke -> Market.
If you find this code useful, consider citing our work:
@article{fan18unsupervisedreid,
author = {Hehe Fan and Liang Zheng and Chenggang Yan and Yi Yang},
title = {Unsupervised Person Re-identification: Clustering and Fine-tuning},
journal = {{ACM} Transactions on Multimedia Computing, Communications, and Applications {TOMM}},
volume = {14},
number = {4},
pages = {83:1--83:18},
year = {2018},
doi = {10.1145/3243316}
}