pytorch >= 1.6
-
分割前景背景训练模型
-
复现fast-reid 各类trick
- soft margin
- non-local
- gem pooling
- circle loss
- cosine lr scheduler 并绘图
- 384×128
-
使用Cpython 提高eval速度
-
监督学习框架绘图
-
迁移学习框架绘图
-
增量学习框架绘图
-
搜索结果可视化
-
聚类效果绘图
-
特征绘图
-
[ ]
baseline:
- batch-size: 64
- instance: 4
- loss: softmax_triplet
- METRIC_LOSS_WEIGHT:1
train
backbone | id | tricks | mAP | rank1 | mean |
---|---|---|---|---|---|
resnet50 | 01/02 | baseline | 85.8 | 94.2 | 90.10 |
resnet50 | 03 | batch-size: 128 | 85.0 | 93.8 | 89.97 |
resnet50 | 04 | loss: softmax_arcface_triplet | 70.9 | 89.2 | 81.01 |
resnet50 | 05 | METRIC_LOSS_WEIGHT: 2.0 | 86.5 | 94.1 | 90.30 |
resnet50 | 07 | METRIC_LOSS_WEIGHT: 10.0 | 84.4 | 92.6 | 88.50 |
resnet50 | 08 | METRIC_LOSS_WEIGHT: 5 | 85.6 | 93.9 | 89.70 |
resnet50 | 09 | learning weight | 86.7 | 93.9 | 90.36 |
se_resnet50 | 11 | merge resnet50: 09 | 86.2 | 93.6 | 89.94 |
ibn_a_resnet50 | 12 | merge resnet50: 09 | 88.3 | 95.0 | 91.68 |
ibn_b_resnet50 | 13 | merge resnet50: 09 | 83.6 | 92.8 | 88.17 |
se_ibn_a_resnet50 | 14 | merge resnet50: 09 | 87.9 | 94.5 | 91.21 |
se_ibn_b_resnet50 | 15 | merge resnet50: 09 | 82.6 | 92.6 | 87.63 |
resnet50 | 16 | merge resnet50: 05+09 | 86.5 | 93.9 | 90.18 |
resnet50 | 17 | merge resnet50: 16 |
86.2 | 94.3 | 90.26 |
resnet101 | 01 | learning weight | 87.7 | 94.6 | 91.15 |
se_resnet101 | 02 | merge resnet101: 01 | 87.5 | 94.3 | 90.98 |
ibn_a_resnet101 | 03 | merge resnet101: 01 | 88.6 | 95 | 91.77 |
ibn_b_resnet101 | 04 | merge resnet101: 01 | 83.6 | 92.8 | 88.22 |
se_ibn_a_resnet101 | 05 | merge resnet101: 01 | 88.6 | 94.8 | 91.70 |
se_ibn_b_resnet101 | 06 | merge resnet101: 01 | 83.7 | 93.5 | 88.57 |
resnext101_32x8d | 01 | learning weight | 88.6 | 95.0 | 91.81 |
se_resnext101_32x8d | 02 | merge resnext101_32x8d: 01 | 88.3 | 95.0 | 91.66 |
ibn_a_resnext101_32x8d | 03 | merge resnext101_32x8d: 01 | 89.0 | 95.3 | 92.16 |
ibn_b_resnext101_32x8d | 04 | merge resnext101_32x8d: 01 | 84.1 | 93.1 | 88.61 |
se_ibn_a_resnext101_32x8d | 05 | merge resnext101_32x8d: 01 | 88.6 | 95.3 | 91.98 |
se_ibn_b_resnext101_32x8d | 06 | merge resnext101_32x8d: 01 | 83.4 | 92.7 | 88.29 |
test |
using rerank
backbone | id | mAP | rank1 | mean |
---|---|---|---|---|
resnet50 | 02 | 94.2 | 95.0 | 94.6 |
ibn_a_resnet50 | 12 | 94.4 | 95.6 | 94.97 |
ibn_a_resnet101 | 03 | 94.5 | 95.8 | 95.17 |
ibn_a_resnext101_32x8d | 03 | 94.5 | 95.7 | 95.11 |
backbone | id | tricks | mAP | rank1 | mean |
---|---|---|---|---|---|
resnet50 | 01 | 76.4 | 86.7 | 81.58 | |
ibn_a_resnet50 | 02 | learning weight | 75.4 | 86.0 | 80.65 |
ibn_a_resnet50 | 03 | learning weight | 76.8 | 87.9 | 82.33 |
train
backbone | id | tricks | mAP | rank1 | mean |
---|---|---|---|---|---|
resnet50 | 01 | learning weight | 46.2 | 64.8 | 55.6 |
ibn_a_resnet50 | 02 | learning weight | 51.4 | 69.8 | 60.6 |
market1501--DukeMTMC--msmt17
baseline and target
backbone | id | tricks | market1501 map/rank-1 |
dukemtmc map/rank-1 |
msmt17 map/rank-1 |
---|---|---|---|---|---|
resnet50 | 01 | Epoch: 520 | 86.8/94.6 | 78.6/88.0 | 48.9/67.5 |
ibn_a_resnet50 | 02 | learning weight Epoch: 540 |
|||
- LOSS_TYPE: softmax_triplet
- ID_LOSS_WEIGHT: 1.0
- BASE_LR: 0.000035
backbone | id | tricks | market map/forget |
duck map |
---|---|---|---|---|
ibn_b_50 | 01 | ce_dist:10 | 47.0/-36.3 | 66.3 |
ibn_b_50 | 02 | merge ibn_b_resnet50: 01 ID_LOSS_WEIGHT: 0.2 |
46.7/-36.6 | 65.0 |
ibn_b_50 | 03 | tr_dist | 48.6/-34.7 | 66.6 |
ibn_b_50 | 04 | ce_dist:10 tr_dist | 48.6/-34.7 | 66.6 |
ibn_b_50 | 05 | LOSS_TYPE: triplet 30 epoch |
47.1/-36.2 | 57.2 |
ibn_a_50 | tr_dist | |||
ibn_a_50 | ce_dist:10 | |||
ibn_a_50 | ce_dist:10 tr_dist | |||
first-step: training market with autoencoder
backbone | id | tricks | ae-loss | market map |
market rank-1 |
---|---|---|---|---|---|
ibn_a_50 | 18 | CODE_SIZE: 1024 LAMBDA: 0.01 |
ae: 0.0010 ae_l1: 0.0194 ae_l2: 0.0014 |
88 | 95 |
ibn_a_50 | 19 | CODE_SIZE: 512 LAMBDA: 0.01 |
ae: 0.0010 ae_l1: 0.0104 ae_l2: 0.0014 |
88.1 | 94.9 |
ibn_a_50 | 20 | CODE_SIZE: 1024 LAMBDA: 0.1 |
ae: 0.0029 ae_l1: 0.6125 ae_l2: 0.1796 |
87.7 | 94.7 |
ibn_a_50 | 21 | CODE_SIZE: 1024 LAMBDA: 0.05 |
ae: 0.0010 ae_l1: 0.0915 ae_l2: 0.0014 |
88 | 94.6 |
second-step: training duck, using ibn_a_50: 19 weight.
CONTINUATION.LOSS_TYPE = 'tr_dist'
backbone | id | tricks | market map/forget |
duck map |
---|---|---|---|---|
ibn_a_50 | 06 | ae_bce_loss | 42 | 72.8 |
ibn_a_50 | 07 | ae_l1_bce_loss | 41.8 | 72.9 |
ibn_a_50 | 08 | ae_l2_bce_loss | 41.6 | 73.0 |
ibn_a_50 | 09 | bce: ae_loss ae_l1 ae_l2 | 41.8 | 72.7 |
ibn_a_50 | 10 | ae_mse_loss | 41.9 | 72.9 |
ibn_a_50 | 11 | ae_l1_mse_loss | 42.4 | 72.7 |
ibn_a_50 | 12 | ae_l2_mse_loss | 42.9 | 72.8 |
ibn_a_50 | 13 | mse: ae_loss ae_l1 ae_l2 | 43.2 | 72.6 |
Bag of Tricks and A Strong ReID Baseline
michuanhaohao/reid-strong-baseline
Unsupervised Deep Embedding for Clustering Analysis
A Discriminative Feature Learning Approach for Deep Face Recognition
Self-similarity Grouping: A Simple Unsupervised Cross Domain Adaptation Approach for Person Re-identification(SSG)
OasisYang/SSG visualizing-dbscan-clustering
Learning without Forgetting
Encoder Based Lifelong Learning