🚜 PPE v20260616b — 堆高機工安專用
factory_ppe_v20260616b_nv · 2026-06-16 · cvat #12 + IRODA頻5/FOX 新標 · ppe-demo register: forklift_ppe_v616b
一句話:專為堆高機工安鏡頭訓練的 PPE 版本,在核心痛點鏡頭 IRODA頻5 把安全帽誤報從 40 壓到 1。因整體稀有屬性略退,定位為堆高機場域專用、不取代通用 ppe22 預設。
🎯 核心成果:堆高機鏡頭 hard_hat(安全帽)
同 test 集對照(v616 Test split 排除 v610 train 洩漏),按鏡頭拆 hard_hat:
| 鏡頭 | n | pos/neg | AP v610→v616b | @R90 場域 FP v610→v616b |
| IRODA_頻道5 | 123 | 54/69 | 0.860 → 0.932(+0.072) | 40 → 1 |
| 全體堆高機鏡頭 | 251 | 113/138 | 0.952 → 0.973 | 16 → 1 |
| FOX-AI / IRODA頻4 / HONCHUAN | — | 單一類 | 該鏡頭全戴或全沒戴,無法算 AP(FOX-AI 未標 hard_hat) |
→ IRODA頻5(唯一有正負樣本能評的堆高機鏡頭):v610 需容忍 40 個誤報才達 90% recall,v616b 只剩 1 個。這正是先前點名「安全帽信心不穩」的鏡頭,新標補強直接對症。全體 hard_hat @R90 FP 也從 29→23。
⚖️ 全屬性對照(v610_nv vs v616b,同 test 集 16883 樣本)
| 屬性 | v610_nv | v616b | Δ |
| hard_hat | 0.9933 | 0.9952 | +0.0019 🟢 |
| harness | 0.9006 | 0.9165 | +0.0159 🟢 |
| heartbeat | 0.8773 | 0.8903 | +0.0130 🟢 |
| no_head_protection / safety_glasses / helmet 等 | 微升或持平 |
| sleeves | 0.9832 | 0.9635 | −0.0197 🔴 |
| safety_shoes | 0.9532 | 0.9398 | −0.0134 🔴 |
| hair_cover | 0.8458 | 0.7664 | −0.0794 🔴 |
| cotton_gloves | 0.7705 | 0.6859 | −0.0846 🔴 |
| macro mAP(排 NV head) | 0.9633 | 0.9558 | −0.0075 |
⚠️ 為什麼定位「堆高機專用」而非取代預設:v616b 加了大量 IRODA/FOX 堆高機新場域(+19 萬 crop),這些場域沒有 hair_cover / cotton_gloves 標註,把這些稀有屬性的訊號稀釋了 → 整體 macro mAP 略退。所以 v616b 在堆高機場域是贏的,但通用場域的稀有屬性會退步。通用 ppe22 預設維持 v610_nv,v616b 僅供堆高機工安場域選用。
🔧 訓練細節
| 項目 | 值 |
| backbone | MobileNetV3-L (mobilenetv3_large_100.ra_in1k),27-attr NV multi-label BCE + partial-label mask |
| 訓練 imgsz / 推論 imgsz | 384×192 / 384×192(cascade person 偵測器 @1280、forklift @1280 沿用現役) |
| 資料 | crops_v20260616_nv(193,978 crops;含 IRODA頻5/頻4 + FOX-AI 新標) |
| epochs / patience | 40 跑滿(patience 99 關早停)· best ep38 · val_mAP 0.9579 |
| lr / batch / aug | 3e-4 OneCycleLR / 128 / strong + mixup 0.2 / neg_weight 全 1.0 |
| 修早停 | v616 早停在 ep11 致 hair_cover/sleeves 未收斂;v616b 跑滿讓 best 移到 ep38,sleeves 0.849→0.964 大幅救回 |
📌 限制與後續
- 樣本量:IRODA頻5 對照僅 123 樣本(54 pos),FP 40→1 趨勢明確但需場域累積更多數據複驗
- NV head 不計入評估:5 個 not_visible head 的標註集中單鏡頭(safety_shoes_nv/face_mask_nv 100% RAIVISION),同鏡頭切 split 給 AP 1.000 假象,故 macro mAP 排除;NV 泛化需補多鏡頭標
- 後續:補 FOX-AI 的 hard_hat 標註(目前只標 person bbox);通用場域稀有屬性退步可靠給稀有 attr 加權或限制新場域稀釋解決
ckpt:R2 factory_ppe_v20260616b_nv/best.pt · ppe-demo:forklift_ppe_v616b(堆高機專用、並列、不取代預設)
對照方法:同 test 集(v616 Test split)載 v610_nv + v616b 兩 ckpt 跑,排除 v610 train 洩漏樣本,確保兩 model 皆 held-out。