🦺 Factory PPE 19-attr — v20260429(4-task 3-way split)

partial-label BCE / 19 binary heads / per-attr mask(unknown→mask=0 不算 loss/metric)

v20260429 主改動:將原本 single-Train 的 4 個 cvat task(GUANXI / raicvat_p9 / p17 / p26)拆 3-way (Train/Val/Test 80/10/10), 讓所有 19 個 attribute(含 cotton_gloves / hair_cover / sleeves / heartbeat / no_X 系列)在 val/test 都有 mask=1 樣本,可以實際評估。

資料:cvat2 project 5(27 tasks, 8 sources)= 6 baseline + CPPE-5 + R2PPE + 4-task 拆分後(共 ~133k person crops)。

🏆 推薦 deploy

val_mAP
0.9712
test_mAP
0.9833
macro_f1
0.9650
params
4.2M
train time
33min

v20260429_mobilenetv3l — 10 個版本中 val_mAP 最高 / params 最少 / wall time 最短。 但與 v20260428 比 test_mAP 下降,是因為 v20260428 test 只有 raicvat_p2 part07 單 source(容易), v20260429 test 包含全 8 source 的 part03 — 更廣泛 + 更難,0.98+ 仍是好結果。

checkpoint: 5090-2:~/factory_ppe/runs/factory_ppe_v20260429_mobilenetv3l/best.pt

10 版本完整對照

versionbackbonedataval_mAPtest_mAPmacro_f1paramsepochstime
v20260426_mobilenetv3lMobileNetV3-Lbase 6src0.66550.98500.95324.2M21 (best=13)22 min
v20260426_efficientnetb0EfficientNet-B0base 6src0.65120.98300.96114.0M33 (best=25)37 min
v20260426_convnexttinyConvNeXt-Tinybase 6src0.69740.98800.960527.9M22 (best=16)68 min
v20260427_efficientnetb0_cppe5EfficientNet-B0+CPPE-50.76400.98290.95374.0M17 (best=9)19 min
v20260427_convnexttiny_cppe5ConvNeXt-Tiny+CPPE-50.76020.98050.942127.9M11 (best=5)35 min
v20260427_mobilenetv3l_cppe5MobileNetV3-L+CPPE-50.77290.97880.94804.2M18 (best=10)19 min
v20260428_convnexttinyConvNeXt-Tiny+R2PPE0.92400.99250.977327.9M16 (best=10)61 min
v20260428_mobilenetv3lMobileNetV3-L+R2PPE0.92380.99450.97704.2M17 (best=9)22 min
v20260429_convnexttinyConvNeXt-Tiny+4-task split0.97020.97790.961527.9M24 (best=18)86 min
v20260429_mobilenetv3l ⭐MobileNetV3-L+4-task split0.97120.98330.96504.2M27 (best=19)33 min

觀察

訓練曲線(10 版本)

10-version val_mAP curves

4-task split 效果(MobileNetV3-L v428 → v429)

final epoch val_AP per attribute:

attributev428 (R2PPE)v429 (4-split)delta
hard_hat
安全帽
0.97380.9913+0.0175
no_head_protection
無護頭
0.99670.9960-0.0007
full_face_mask
全面罩
0.99800.9972-0.0008
face_mask
口罩
0.98900.9914+0.0024
no_gloves
無手套
0.98600.9901+0.0041
cotton_gloves
棉手套
0.00000.8143+0.8143
rubber_gloves
橡膠手套
1.00001.0000-0.0000
no_protective_clothing
無防護衣
0.99850.9999+0.0014
cleanroom_suit
無塵衣
1.00000.9996-0.0004
splash_proof_gown
防潑罩袍
1.00001.0000+0.0000
safety_vest
反光背心
0.97350.9768+0.0032
safety_shoes
安全鞋
0.00000.8169+0.8169
no_safety_shoes
無安全鞋
0.15790.9891+0.8311
no_sleeves
無絕緣袖
0.00000.9997+0.9997
heartbeat
生命徵象器
0.00000.9633+0.9633
sleeves
絕緣袖
0.00001.0000+1.0000
safety_glasses
護目鏡
0.85390.8547+0.0008
hair_cover
髮帽
0.00001.0000+1.0000
helmet_goggles
頭盔護目
1.00001.0000-0.0000

Best Model Per-attribute Test Metrics

v20260429_mobilenetv3l 在 test split (raicvat_p2 part07 + 7 source 各 part03 = 跨 8 source ~13k samples):

attributeAPF1PRbest_thr
hard_hat
安全帽
0.9960.9790.9740.9830.42
no_head_protection
無護頭
0.9950.9730.9800.9660.64
full_face_mask
全面罩
1.0000.9940.9910.9980.75
face_mask
口罩
0.9980.9770.9730.9800.35
no_gloves
無手套
0.9990.9880.9900.9860.79
cotton_gloves
棉手套
0.8670.7920.7600.8260.76
rubber_gloves
橡膠手套
1.0001.0001.0001.0000.96
no_protective_clothing
無防護衣
1.0000.9970.9960.9990.53
cleanroom_suit
無塵衣
1.0000.9971.0000.9940.80
splash_proof_gown
防潑罩袍
1.0001.0001.0001.0000.80
safety_vest
反光背心
0.9800.9370.9430.9300.83
safety_shoes
安全鞋
0.8940.8190.8950.7560.96
no_safety_shoes
無安全鞋
1.0000.9970.9950.9990.16
no_sleeves
無絕緣袖
1.0000.9910.9910.9920.63
heartbeat
生命徵象器
0.9600.9230.9270.9190.96
sleeves
絕緣袖
1.0001.0001.0001.0000.50
safety_glasses
護目鏡
0.9950.9780.9800.9760.87
hair_cover
髮帽
1.0001.0001.0001.0001.00
helmet_goggles
頭盔護目
0.9990.9940.9920.9960.65

0/19 attribute 在 test 仍無 mask=1 sample(極稀缺)

已知議題(剩餘)

下一步候選

報告生成時間:2026-04-26|v20260428 報告v20260427 報告19-attr label guide