👷 PPE 27-attr NV v20260624 — 對照記錄(判定不上版)
MobileNetV3-L · 22 attr + 5 visibility(NV) head · partial-label BCE · cvat #12 全資料重訓(含 6/23 新標)
結論:不上 production,通用版維持 v20260610_nv。
納 6/23 新標的全資料重訓未帶來進步,反而稀釋稀有 attr:同一 test 集 macro mAP(排NV) 0.9629 → 0.9506(−0.012),sleeves/safety_shoes 嚴重退步。
此為「全資料重訓稀釋稀有 attr」第四次實證(前三次 v616b/v616c/v618)。本次僅 +1808 crop 小增量。本報告僅作決策對照記錄。
📊 三版同 test 集對照(17,199 crops,三模型推論同一批;v624 Test 排 v610/v618-train leak)
| attr | n | v610_nv(現役) | v618_nv | v624_nv(新) | Δ v624 vs v610 |
| macro mAP(排 NV) | — | 0.9629 | 0.9352 | 0.9506 | −0.0123 |
| sleeves | 2088 | 0.9832 | 0.7597 | 0.6721 | −0.311 🔴 |
| safety_shoes | 1962 | 0.9532 | 0.9219 | 0.8633 | −0.090 🔴 |
| heartbeat | 3802 | 0.8773 | 0.8354 | 0.8535 | −0.024 🔴 |
| fall | 2523 | 0.9817 | 0.9766 | 0.9715 | −0.010 🔴 |
| face_mask | 1920 | 0.9904 | 0.9871 | 0.9850 | −0.005 🔴 |
| cotton_gloves | 2223 | 0.7705 | 0.8552 | 0.8753 | +0.105 🟢 |
| harness | 13106 | 0.9006 | 0.9219 | 0.9278 | +0.027 🟢 |
| hair_cover | 2076 | 0.8458 | 0.4297 | 0.8646 | +0.019 🟢 |
| safety_vest | 6486 | 0.9621 | 0.9636 | 0.9742 | +0.012 🟢 |
| safety_glasses | 1879 | 0.9591 | 0.9662 | 0.9651 | +0.006 🟢 |
| no_head_protection | 6800 | 0.9900 | 0.9907 | 0.9938 | +0.004 |
| hard_hat | 7105 | 0.9929 | 0.9942 | 0.9943 | +0.001 |
其餘 attr(gloves / clothing / no_safety_shoes / helmet_goggles / aluminized_apron 等)三版皆 ≥0.98 持平,省略。NV head 不計入 macro(單鏡頭 leak,另議;safety_vest_nv v624 0.366 仍不可用)。
🎯 hard_hat 場域 KPI @R90(規則 3.5)
| 模型 | P | FP | TP | FN |
| v610_nv(現役) | 0.991 | 32 | 3359 | 373 |
| v618_nv | 0.991 | 29 | 3359 | 373 |
| v624_nv(新) | 0.989 | 39 | 3359 | 373 |
hard_hat 三版同 recall 幾乎打平(FP 32/29/39 無顯著差),不是退步來源。退步集中在稀有 attr(sleeves/safety_shoes)。
📦 訓練 stack
- Backbone:MobileNetV3-L(4.24M params)
- 架構:27 head(22 attr + 5 visibility NV)· partial-label BCE(unknown mask=0)· per-attr pos_weight · aug strong + mixup 0.2
- Hyperparams:40 ep / patience 16(2026-06-11 標準)/ batch 128 / AdamW lr 3e-4 wd 0.01 — best ep11(early stop at ep27)
- 訓練 imgsz:384×192 推論 imgsz:384×192(person crop,cascade 上游 person YOLO26m@1280)
- Dataset:cvat #12 全資料 197,457 crops(acceptance 過濾 + video-mode fix),含 6/23 新標;vs v618 僅 +1808 crop
- v624 自身 test(不同集,僅參考):test_mAP 0.9357 / macro_F1 0.9169
📝 根因 + 建議
- 根因:6/23 新標增量極少(+1808 crop),全資料重訓把 sleeves(全集 pos 少)/safety_shoes 等稀有 attr 稀釋;與零星新標重訓多持平/退步、全資料重訓稀釋稀有 attr 的歷史教訓(v616b/c/v618)一致,此為第四次重演。
- 通用 production 維持 v20260610_nv 不動。
- 可救的:cotton_gloves(+0.105)/harness(+0.027)/safety_vest(+0.012) 確有進步——若特定場域吃這幾個 attr,建議仿 forklift_ppe_v616b 走場域專用版,不污染通用版。
- 下一步若要真進步:對 sleeves/safety_shoes 加權重或分離資料補標,而非整批重訓(見 feedback:全資料重訓稀釋稀有 attr)。
- 方法論註記:對照 = v624 Test split(排 v610-train + v618-train leak by path),跨版本 crop 檔名不同 leak 排除可能未完全生效,但三模型推論同一批、head-to-head Δ 有效;即便 v610 絕對值偏樂觀,v624 仍未超越,結論穩固。