partial-label BCE / 19 binary heads / per-attr mask(unknown→mask=0 不算 loss/metric)
資料:cvat2 project 5(8 sources, 133,751 person crops)= 6 baseline + CPPE-5 (1444) + R2PPE (25349)。
2026-04-26 過夜 + 早晨擴充訓練。
v20260428_mobilenetv3l — 8 個版本中 三冠王(最高 val_mAP / 最少 params / 最快訓練;test 比 ConvNeXt 略高)
checkpoint: 5090-2:~/factory_ppe/runs/factory_ppe_v20260428_mobilenetv3l/best.pt
| version | backbone | data | val_mAP | test_mAP | macro_f1 | params | epochs | time |
|---|---|---|---|---|---|---|---|---|
| v20260426_mobilenetv3l | MobileNetV3-L | base 6src | 0.6655 | 0.9850 | 0.9532 | 4.2M | 21 (best=13) | 22 min |
| v20260426_efficientnetb0 | EfficientNet-B0 | base 6src | 0.6512 | 0.9830 | 0.9611 | 4.0M | 33 (best=25) | 37 min |
| v20260426_convnexttiny | ConvNeXt-Tiny | base 6src | 0.6974 | 0.9880 | 0.9605 | 27.9M | 22 (best=16) | 68 min |
| v20260427_efficientnetb0_cppe5 | EfficientNet-B0 | +CPPE-5 | 0.7640 | 0.9829 | 0.9537 | 4.0M | 17 (best=9) | 19 min |
| v20260427_convnexttiny_cppe5 | ConvNeXt-Tiny | +CPPE-5 | 0.7602 | 0.9805 | 0.9421 | 27.9M | 11 (best=5) | 35 min |
| v20260427_mobilenetv3l_cppe5 | MobileNetV3-L | +CPPE-5 | 0.7729 | 0.9788 | 0.9480 | 4.2M | 18 (best=10) | 19 min |
| v20260428_convnexttiny | ConvNeXt-Tiny | +CPPE-5+R2PPE | 0.9240 | 0.9925 | 0.9773 | 27.9M | 16 (best=10) | 61 min |
| v20260428_mobilenetv3l ⭐ | MobileNetV3-L | +CPPE-5+R2PPE | 0.9238 | 0.9945 | 0.9770 | 4.2M | 17 (best=9) | 22 min |
關鍵觀察:
虛點線 = baseline (v426)、虛線 = +CPPE-5 (v427)、實線 = +CPPE-5+R2PPE (v428);顏色對應 backbone。
Final epoch val_AP per attribute:
| attribute | v427 (+CPPE-5) | v428 (+R2PPE) | delta |
|---|---|---|---|
| hard_hat 安全帽 | 0.9484 | 0.9738 | +0.0255 |
| no_head_protection 無護頭 | 0.9973 | 0.9967 | -0.0007 |
| full_face_mask 全面罩 | 0.4242 | 0.9980 | +0.5739 |
| face_mask 口罩 | 0.9192 | 0.9890 | +0.0698 |
| no_gloves 無手套 | 0.9840 | 0.9860 | +0.0020 |
| cotton_gloves 棉手套 | 0.0000 | 0.0000 | +0.0000 |
| rubber_gloves 橡膠手套 | 0.0000 | 1.0000 | +1.0000 |
| no_protective_clothing 無防護衣 | 0.0000 | 0.9985 | +0.9985 |
| cleanroom_suit 無塵衣 | 1.0000 | 1.0000 | +0.0000 |
| splash_proof_gown 防潑罩袍 | 1.0000 | 1.0000 | +0.0000 |
| safety_vest 反光背心 | 0.9603 | 0.9735 | +0.0132 |
| safety_shoes 安全鞋 | 0.0000 | 0.0000 | +0.0000 |
| no_safety_shoes 無安全鞋 | 0.1586 | 0.1579 | -0.0007 |
| no_sleeves 無絕緣袖 | 0.0000 | 0.0000 | +0.0000 |
| heartbeat 生命徵象器 | 0.0000 | 0.0000 | +0.0000 |
| sleeves 絕緣袖 | 0.0000 | 0.0000 | +0.0000 |
| safety_glasses 護目鏡 | 0.7219 | 0.8539 | +0.1320 |
| hair_cover 髮帽 | 0.0000 | 0.0000 | +0.0000 |
| helmet_goggles 頭盔護目 | 1.0000 | 1.0000 | +0.0000 |
v20260428_mobilenetv3l 在 test split (raicvat_p2 part07 + cppe5 part03 + r2ppe part03) 的指標:
| attribute | AP | F1 | P | R | best_thr |
|---|---|---|---|---|---|
| hard_hat 安全帽 | 0.988 | 0.956 | 0.960 | 0.951 | 0.60 |
| no_head_protection 無護頭 | 0.982 | 0.936 | 0.931 | 0.942 | 0.43 |
| full_face_mask 全面罩 | 1.000 | 1.000 | 1.000 | 1.000 | 0.50 |
| face_mask 口罩 | 0.994 | 0.960 | 0.961 | 0.960 | 0.83 |
| no_gloves 無手套 | 0.998 | 0.977 | 0.970 | 0.984 | 0.59 |
| cotton_gloves 棉手套 | val 無 mask=1 sample(無法評估) | ||||
| rubber_gloves 橡膠手套 | 1.000 | 1.000 | 1.000 | 1.000 | 0.50 |
| no_protective_clothing 無防護衣 | 0.999 | 0.989 | 0.988 | 0.991 | 0.34 |
| cleanroom_suit 無塵衣 | 1.000 | 1.000 | 1.000 | 1.000 | 0.50 |
| splash_proof_gown 防潑罩袍 | 1.000 | 1.000 | 1.000 | 1.000 | 0.50 |
| safety_vest 反光背心 | 0.982 | 0.949 | 0.916 | 0.985 | 0.71 |
| safety_shoes 安全鞋 | val 無 mask=1 sample(無法評估) | ||||
| no_safety_shoes 無安全鞋 | val 無 mask=1 sample(無法評估) | ||||
| no_sleeves 無絕緣袖 | val 無 mask=1 sample(無法評估) | ||||
| heartbeat 生命徵象器 | val 無 mask=1 sample(無法評估) | ||||
| sleeves 絕緣袖 | val 無 mask=1 sample(無法評估) | ||||
| safety_glasses 護目鏡 | 0.991 | 0.959 | 0.957 | 0.960 | 0.85 |
| hair_cover 髮帽 | val 無 mask=1 sample(無法評估) | ||||
| helmet_goggles 頭盔護目 | 1.000 | 0.998 | 1.000 | 0.996 | 0.50 |
所有 script 在 5090-2:~/factory_ppe/scripts/:
export_p5_v3.py — cvat2 project 5 → manifest(含 v3/v4/v5)cppe5_preprocess.py + cppe5_to_crops.py — CPPE-5 整合r2ppe_preprocess.py + r2ppe_upload_3way.py — R2PPE 整合(CC-BY-NC,注意 license)upload_cppe5_3way.py — CPPE-5 3-way split 上傳train_p9_attr_v4.py — 19-head BCE + per-attr mask 訓練infer_ppe_v427.py — 單張 inference helper(適用 v428)報告生成時間:2026-04-26|v20260427 報告|19-attr label guide (中文)