Baseline model (with bottleneck) for person ReID (using softmax and triplet loss). This is PyTorch version, mxnet version has a better result and more SOTA methods.
We support
- multi-GPU training
- easy dataset preparation
- end-to-end training and evaluation
-
cd
to folder where you want to download this repo -
Run
git clone https://github.com/L1aoXingyu/reid_baseline.git
-
Install dependencies:
- pytorch 0.4
- torchvision
- tensorflow (for tensorboard)
- tensorboardX
-
Prepare dataset
Create a directory to store reid datasets under this repo via
cd reid_baseline mkdir data
- Download dataset to
data/
from http://www.liangzheng.org/Project/project_reid.html - Extract dataset and rename to
market1501
. The data structure would like:
market1501/ bounding_box_test/ bounding_box_train/
- Download dataset to
-
Prepare pretrained model if you don't have
from torchvision import models models.resnet50(pretrained=True)
Then it will automatically download model in
~.torch/models/
, you should set this path inconfig.py
You can run
bash scripts/train_triplet_softmax.sh
in reid_baseline
folder if you want to train with softmax and triplet loss. You can find others train scripts in scripts
.
network architecture
config | Market1501 |
---|---|
bs(32) size(384,128) softmax | 92.2 (78.5) |
bs(64) size(384,128) softmax | 92.5 (79.6) |
bs(32) size(256,128) softmax | 92.0 (78.4) |
bs(64) size(256,128) softmax | 91.7 (78.3) |
bs(128) size(256,128) softmax | 91.2 (77.4) |
triplet(p=32,k=4) size(256,128) | 88.3 (73.8) |
triplet(p=16,k=4)+softmax size(384,128) | 93.1 (82.0) |
triplet(p=24,k=4)+softmax size(384,128) | 91.7 (79.0) |