# Model Zoo — torchreid 1.4.0 documentation

# Model Zoo

- Results are presented in the format of <Rank-1 (mAP)>.

- When computing model size and FLOPs, only layers that are used at test time are considered (see `torchreid.utils.compute_model_complexity`).

- Asterisk (*) means the model is trained from scratch.

- `combineall=True` means all images in the dataset are used for model training.

- Why not use heavy data augmentation like random erasing for model training? It’s because heavy data augmentation might harm the cross-dataset generalization performance (see this paper).

## ImageNet pretrained models

Model | Download
--- | ---
shufflenet | model
mobilenetv2_x1_0 | model
mobilenetv2_x1_4 | model
mlfn | model
osnet_x1_0 | model
osnet_x0_75 | model
osnet_x0_5 | model
osnet_x0_25 | model
osnet_ibn_x1_0 | model
osnet_ain_x1_0 | model
osnet_ain_x0_75 | model
osnet_ain_x0_5 | model
osnet_ain_x0_25 | model

## Same-domain ReID

Model | # Param (10^6) | GFLOPs | Loss | Input | Transforms | Distance | market1501 | dukemtmcreid | msmt17
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
resnet50 | 23.5 | 2.7 | softmax | (256, 128) | `random_flip`, `random_crop` | `euclidean` | 87.9 (70.4) | 78.3 (58.9) | 63.2 (33.9)
resnet50_fc512 | 24.6 | 4.1 | softmax | (256, 128) | `random_flip`, `random_crop` | `euclidean` | 90.8 (75.3) | 81.0 (64.0) | 69.6 (38.4)
mlfn | 32.5 | 2.8 | softmax | (256, 128) | `random_flip`, `random_crop` | `euclidean` | 90.1 (74.3) | 81.1 (63.2) | 66.4 (37.2)
hacnn* | 4.5 | 0.5 | softmax | (160, 64) | `random_flip`, `random_crop` | `euclidean` | 90.9 (75.6) | 80.1 (63.2) | 64.7 (37.2)
mobilenetv2_x1_0 | 2.2 | 0.2 | softmax | (256, 128) | `random_flip`, `random_crop` | `euclidean` | 85.6 (67.3) | 74.2 (54.7) | 57.4 (29.3)
mobilenetv2_x1_4 | 4.3 | 0.4 | softmax | (256, 128) | `random_flip`, `random_crop` | `euclidean` | 87.0 (68.5) | 76.2 (55.8) | 60.1 (31.5)
osnet_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip` | `euclidean` | 94.2 (82.6) | 87.0 (70.2) | 74.9 (43.8)
osnet_x0_75 | 1.3 | 0.57 | softmax | (256, 128) | `random_flip` | `euclidean` | 93.7 (81.2) | 85.8 (69.8) | 72.8 (41.4)
osnet_x0_5 | 0.6 | 0.27 | softmax | (256, 128) | `random_flip` | `euclidean` | 92.5 (79.8) | 85.1 (67.4) | 69.7 (37.5)
osnet_x0_25 | 0.2 | 0.08 | softmax | (256, 128) | `random_flip` | `euclidean` | 91.2 (75.0) | 82.0 (61.4) | 61.4 (29.5)

## Cross-domain ReID

### Market1501 -> DukeMTMC-reID

Model | # Param (10^6) | GFLOPs | Loss | Input | Transforms | Distance | Rank-1 | Rank-5 | Rank-10 | mAP | Download
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
osnet_ibn_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip`, `color_jitter` | `euclidean` | 48.5 | 62.3 | 67.4 | 26.7 | model
osnet_ain_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip`, `color_jitter` | `cosine` | 52.4 | 66.1 | 71.2 | 30.5 | model

### DukeMTMC-reID -> Market1501

Model | # Param (10^6) | GFLOPs | Loss | Input | Transforms | Distance | Rank-1 | Rank-5 | Rank-10 | mAP | Download
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
osnet_ibn_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip`, `color_jitter` | `euclidean` | 57.7 | 73.7 | 80.0 | 26.1 | model
osnet_ain_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip`, `color_jitter` | `cosine` | 61.0 | 77.0 | 82.5 | 30.6 | model

### MSMT17 (`combineall=True`) -> Market1501 & DukeMTMC-reID

Model | # Param (10^6) | GFLOPs | Loss | Input | Transforms | Distance | msmt17 -> market1501 | msmt17 -> dukemtmcreid | Download
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
resnet50 | 23.5 | 2.7 | softmax | (256, 128) | `random_flip`, `color_jitter` | `euclidean` | 46.3 (22.8) | 52.3 (32.1) | model
osnet_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip`, `color_jitter` | `euclidean` | 66.6 (37.5) | 66.0 (45.3) | model
osnet_x0_75 | 1.3 | 0.57 | softmax | (256, 128) | `random_flip`, `color_jitter` | `euclidean` | 63.6 (35.5) | 65.3 (44.5) | model
osnet_x0_5 | 0.6 | 0.27 | softmax | (256, 128) | `random_flip`, `color_jitter` | `euclidean` | 64.3 (34.9) | 65.2 (43.3) | model
osnet_x0_25 | 0.2 | 0.08 | softmax | (256, 128) | `random_flip`, `color_jitter` | `euclidean` | 59.9 (31.0) | 61.5 (39.6) | model
osnet_ibn_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip`, `color_jitter` | `euclidean` | 66.5 (37.2) | 67.4 (45.6) | model
osnet_ain_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip`, `color_jitter` | `cosine` | 70.1 (43.3) | 71.1 (52.7) | model

### Multi-source domain generalization

The models below are trained using multiple source datasets, as described in Zhou et al. TPAMI’21.

Regarding the abbreviations, MS is MSMT17; M is Market1501; D is DukeMTMC-reID; and C is CUHK03.

All models were trained with im_osnet_ain_x1_0_softmax_256x128_amsgrad_cosine.yaml and `max_epoch=50`.

Model | # Param (10^6) | GFLOPs | Loss | Input | Transforms | Distance | MS+D+C->M | MS+M+C->D | MS+D+M->C | D+M+C->MS
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
osnet_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip`, `color_jitter` | `cosine` | 72.5 (44.2) | 65.2 (47.0) | 23.9 (23.3) | 33.2 (12.6)
osnet_ibn_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip`, `color_jitter` | `cosine` | 73.0 (44.9) | 64.6 (45.7) | 25.7 (25.4) | 39.8 (16.2)
osnet_ain_x1_0 | 2.2 | 0.98 | softmax | (256, 128) | `random_flip`, `color_jitter` | `cosine` | 73.3 (45.8) | 65.6 (47.2) | 27.4 (27.1) | 40.2 (16.2)