👷 PPE 27-attr NV v20260630 — 對照記錄(判定不上版)
MobileNetV3-L · 22 attr + 5 visibility(NV) head · partial-label BCE · cvat #12 全資料重訓(含 6/23~6/30 IRODA/DAVIDMAC/SINON 新標)
結論:不上 production,通用版維持 v20260610_nv。
cvat #12 雖 +413 task,但多數新 task 尚未驗收(acceptance 過濾後實際只 +1,728 crop)。全量重訓再次稀釋稀有 attr:同一 test 集 macro mAP(排NV) 0.9601 → 0.9302(−0.030),比 v624 更差,hair_cover 崩到 0.39。
此為「飽和線全資料重訓稀釋稀有 attr」第五次實證(v616b/c/v618/v624)。本報告僅作決策對照記錄。
📊 三版同 test 集對照(v630 Test 17,085 crops,三模型推論同一批)
| attr | n | v610_nv(現役) | v624_nv | v630_nv(新) | Δ v630 vs v610 |
| macro mAP(排 NV) | — | 0.9601 | 0.9486 | 0.9302 | −0.0299 |
| hair_cover | 2076 | 0.8458 | 0.8646 | 0.3917 | −0.454 🔴 |
| sleeves | 2158 | 0.9823 | 0.6717 | 0.7190 | −0.263 🔴 |
| cotton_gloves | 2293 | 0.7673 | 0.8734 | 0.6988 | −0.069 🔴 |
| harness | 13106 | 0.9006 | 0.9278 | 0.9207 | +0.020 🟢 |
| safety_shoes | 1999 | 0.9586 | 0.8662 | 0.9849 | +0.026 🟢 |
| heartbeat | 3802 | 0.8773 | 0.8535 | 0.8870 | +0.010 🟢 |
| safety_vest | 6587 | 0.9620 | 0.9740 | 0.9582 | −0.004 |
| fall | 2583 | 0.9816 | 0.9725 | 0.9821 | +0.000 |
其餘 attr 三版皆 ≥0.98 持平,省略。NV head 不計入 macro(單鏡頭 leak;本版 DAVIDMAC 新標使 safety_shoes_nv 跳 0.99 但仍單鏡頭參考性低)。
📦 訓練 stack
- 架構:27 head(22 attr + 5 NV)· partial-label BCE(unknown mask=0)· aug strong + mixup 0.2
- Hyperparams:40 ep / patience 16 / batch 128 / AdamW lr 3e-4 wd 0.01(early stop)
- 訓練 imgsz:384×192 推論 imgsz:384×192(person crop,cascade 上游 person YOLO26s@1280)
- Dataset:cvat #12 全資料 199,184 crops(vs v624 僅 +1,728;413 新 task 多未驗收)
- v630 自身 test(不同集,僅參考):test_mAP 0.9077 / macro_F1 0.9008
📝 根因 + 建議
- 根因:新 task 多未過 acceptance,實際訓練增量極小;全量重訓把 hair_cover(全集 pos 少)/sleeves 稀釋,第五次重演。
- 通用 production 維持 v20260610_nv 不動。
- 下一步:等 cvat #12 新 task 驗收累積再訓;或對 hair_cover/sleeves 加權 / 分離資料補標,而非整批重訓。
- ppe-demo 已上並列 key
ppe22_v630_nv(兩台 + origin/main),production 預設不動。