Home

Awesome

Feel free to visit my homepage and awesome person re-id github page


Meta Batch-Instance Normalization for Generalizable Person Re-Identification (MetaBIN), [CVPR 2021]


<Illustration of unsuccessful generalization scenarios and our framework>

<img src='concept.png' width='650'>

MetaBIN

git clone our_repository

1) Prerequisites

2) Preparation

conda create -n MetaBIN python=3.6
conda activate MetaBIN
conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.1 -c pytorch
pip install tensorboard
pip install Cython
pip install yacs
pip install termcolor
pip install tabulate
pip install scikit-learn

pip install h5py
pip install imageio
pip install openpyxl 
pip install matplotlib 
pip install pandas 
pip install seaborn

3) Test only

├── MetaBIN/logs/Sample/DG-mobilenet
│   ├── last_checkpoint
│   ├── model_0099999.pth
│   ├── result.png
├── MetaBIN/datasets
│   ├── GRID
│   ├── prid_2011
│   ├── QMUL-iLIDS
│   ├── viper
DatasetsRank-1Rank-5Rank-10mAPmINPTPR@FPR=0.0001TPR@FPR=0.001TPR@FPR=0.01
ALL_GRID_average49.68%67.52%76.80%58.10%58.10%0.00%0.00%46.35%
ALL_GRID_std2.30%3.56%3.14%2.58%2.58%0.00%0.00%26.49%
ALL_VIPER_only_10_average56.90%76.71%82.03%65.98%65.98%0.00%0.00%50.97%
ALL_VIPER_only_10_std2.97%2.11%2.06%2.35%2.35%0.00%0.00%8.45%
ALL_PRID_average72.50%88.20%91.30%79.78%79.78%0.00%0.00%91.00%
ALL_PRID_std2.20%2.60%2.00%1.88%1.88%0.00%0.00%1.47%
ALL_iLIDS_average79.67%93.33%97.33%85.51%85.51%0.00%0.00%56.13%
ALL_iLIDS_std4.40%2.47%2.26%2.80%2.80%0.00%0.00%15.77%
** all_average **64.69%81.44%86.86%72.34%72.34%0.00%0.00%61.11%

Advanced (train new models)

4) Check the below repository structure

MetaBIN/
├── configs/
├── datasets/ (*need to download and connect it by symbolic link [check section 4], please check the folder name*)
│   ├── *cuhk02
│   ├── *cuhk03
│   ├── *CUHK-SYSU
│   ├── *DukeMTMC-reID
│   ├── *GRID
│   ├── *Market-1501-v15.09.15
│   ├── *prid_2011
│   ├── *QMUL-iLIDS
│   ├── *viper
├── demo/
├── fastreid/
├── logs/ 
├── pretrained/ 
├── tests/
├── tools/
'*' means symbolic links which you make (check below sections) 

5) download dataset and connect it

6) Create pretrained and logs folder

├── MetaBIN
│   ├── configs/
│   ├── ....
│   ├── tools/
├── MetaBIN(logs)
├── MetaBIN(pretrained)

7) Train

python3 ./tools/train_net.py --config-file ./configs/Sample/DG-mobilenet.yml

python3 ./tools/train_net.py --config-file ./configs/Sample/DG-mobilenet.yml MODEL.DEVICE "cuda:0"

python3 ./tools/train_net.py --config-file ./configs/Sample/DG-mobilenet.yml --resume

python3 ./tools/train_net.py --config-file ./configs/Sample/DG-mobilenet.yml --eval-only

8) Datasets

9) Code structure

10) Handling errors

Citation

@InProceedings{choi2021metabin,
title = {Meta Batch-Instance Normalization for Generalizable Person Re-Identification},
author = {Choi, Seokeon and Kim, Taekyung and Jeong, Minki and Park, Hyoungseob and Kim, Changick},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2021}
}