Skip to content
Official source code of Batch Feature Erasing for Person Re-identification and Beyond
Python
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
datasets init bfe Jan 23, 2019
models Update cuhk03 results Mar 15, 2019
trainers make eval_flip false default Mar 15, 2019
utils
.gitignore init bfe Jan 23, 2019
LICENSE Initial commit Dec 24, 2018
README.md Update cuhk03 results Mar 15, 2019
config.py Merge branch 'bfe' into github Jan 23, 2019
main_reid.py Update cuhk03 results Mar 15, 2019
requirements.txt init bfe Jan 23, 2019

README.md

Batch Feature Erasing for Person Re-identification and Beyond

Official source code of paper https://arxiv.org/abs/1811.07130

Update on 2019.3.15

Update CUHK03 results.

Update on 2019.1.29

Traning scripts are released. The best Markt1501 result is 95.3%! Please look at the training section of README.md.

Update on 2019.1.23

In-Shop Clothes Retrieval dataset and pretrained model are released!. The rank-1 result is 89.5 which is a litter bit higher than paper reported.

Please cite this paper if you use this code in your research.

@article{dai2018batch,
  title={Batch Feature Erasing for Person Re-identification and Beyond},
  author={Dai, Zuozhuo and Chen, Mingqiang and Zhu, Siyu and Tan, Ping},
  journal={arXiv preprint arXiv:1811.07130},
  year={2018}
}

Setup running environment

This project requires python3, cython, torch, torchvision, scikit-learn, tensorboardX, fire. The baseline source code is borrowed from https://github.com/L1aoXingyu/reid_baseline.

Prepare dataset

Create a directory to store reid datasets under this repo via
```bash
cd reid
mkdir data
```

For market1501 dataset, 
1. Download Market1501 dataset to `data/` from http://www.liangzheng.org/Project/project_reid.html
2. Extract dataset and rename to `market1501`. The data structure would like:
```
market1501/
    bounding_box_test/
    bounding_box_train/
    query/
```

For CUHK03 dataset,
1. Download CUHK03-NP dataset from https://github.com/zhunzhong07/person-re-ranking/tree/master/CUHK03-NP 
2. Extract dataset and rename folers inside it to cuhk-detect and cuhk-label.
For DukeMTMC-reID dataset,
Dowload from https://github.com/layumi/DukeMTMC-reID_evaluation

For In-Shop Clothes dataset,
1. Downlaod clothes dataset from http://virutalbuy-public.oss-cn-hangzhou.aliyuncs.com/share/bfe_models/clothes.tar
2. Extract dataset and put it to `data/` folder.

Results

Dataset CUHK03-Label CUHK03-Detect DukeMTMC re-ID Market1501 In-Shop Clothes
Rank-1 79.4 76.4 88.9 95.3 89.5
mAP 76.7 73.5 75.9 86.2 72.3
model aliyun aliyun] aliyun aliyun aliyun

You can download the pre-trained models from the above table and evaluate on person re-ID datasets. For example, to evaluate CUHK03-Label dataset, you can download the model to './pytorch-ckpt/cuhk_label_bfe' directory and run the following commands.

Evaluate Market1501

python3 main_reid.py train --save_dir='./pytorch-ckpt/market_bfe' --model_name=bfe --train_batch=32 --test_batch=32 --dataset=market1501 --pretrained_model='./pytorch-ckpt/market_bfe/944.pth.tar' --evaluate

Evaluate CUHK03-Label

python3 main_reid.py train --save_dir='./pytorch-ckpt/cuhk_label_bfe' --model_name=bfe --train_batch=32 --test_batch=32 --dataset=cuhk-label  --pretrained_model='./pytorch-ckpt/cuhk_label_bfe/750.pth.tar' --evaluate

Evaluate In-Shop clothes

python main_reid.py train --save_dir='./pytorch-ckpt/clothes_bfe' --model_name=bfe --pretrained_model='./pytorch-ckpt/clothes_bfe/clothes_895.pth.tar' --test_batch=32 --dataset=clothes --evaluate

Training

Traning Market1501

python main_reid.py train --save_dir='./pytorch-ckpt/market-bfe' --max_epoch=400 --eval_step=30 --dataset=market1501 --test_batch=128 --train_batch=128 --optim=adam --adjust_lr

This traning command is tested on 4 GTX1080 gpus. Here is training log. You shoud get a result around 95%.

You can’t perform that action at this time.