face + attr mask。參數 100% 照眼鏡實驗(glasses_v20260730),只換料 + crop 對象是臉部(face bbox)。MobileNetV3-L binary | cvat #46 | face crop 384×384 | 未切 production
cvat #46(face bbox + mask[yes/no])→ face polygon→bbox 臉部 crop → MobileNetV3 二元(戴/沒戴口罩)。訓練參數與 glasses_v20260730 完全相同(384、batch64、ep30、lr5e-4、patience8、camaug、fire 框架)。
train 298(戴 148/沒戴 150,均衡)· val 60(戴 30/沒戴 30)· ⚠️ 無 Test subset· pos_weight 1.01
| 指標 | 值 |
|---|---|
| val mask AP | 1.0000 @ep12 |
| @0.5 accuracy | 0.967 |
| FP(沒戴→判戴) | 0/30 |
| FN(戴→判沒戴) | 2/30 |
ckpt 本身沒存 threshold(fire_smoke 框架不存)。以下由 val 算,但 val 完美可分(AP 1.0),門檻在很寬範圍都 P=R=1 → 數值僅供參考,需場域校準:
| 操作點 | thr | P / R |
|---|---|---|
| 建議 demo 預設 | 0.5 | 穩健起點 |
| F1-opt(val,退化) | 0.0345 | 1.0/1.0(val太好分,不可信) |
| R≥0.90(val) | 0.824 | P 1.0 |
推論定義:mask = sigmoid(logit[0])(fire 框架 index 0,不碰 _dummy)。
ckpt: R2 mask_v20260731/best.pt。demo 待 yolo-face 到位。