😷 mask_v20260731 口罩辨識 實驗報告

🧪 測試實驗。cvat #46 辦公室口罩AI,label face + attr mask參數 100% 照眼鏡實驗(glasses_v20260730),只換料 + crop 對象是臉部(face bbox)。

MobileNetV3-L binary | cvat #46 | face crop 384×384 | 未切 production

best.pt ⬇ (實驗版)

做法

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

臉部 crop 樣本

📈 訓練曲線

結果(val,無 test)

指標
val mask AP1.0000 @ep12
@0.5 accuracy0.967
FP(沒戴→判戴)0/30
FN(戴→判沒戴)2/30

🎚️ 推論門檻(ckpt 未內含,另給)

ckpt 本身沒存 threshold(fire_smoke 框架不存)。以下由 val 算,但 val 完美可分(AP 1.0),門檻在很寬範圍都 P=R=1 → 數值僅供參考,需場域校準:

操作點thrP / R
建議 demo 預設0.5穩健起點
F1-opt(val,退化)0.03451.0/1.0(val太好分,不可信)
R≥0.90(val)0.824P 1.0

推論定義:mask = sigmoid(logit[0])(fire 框架 index 0,不碰 _dummy)。

實驗判讀

  1. 口罩比眼鏡好判(臉部大面積遮蓋 vs 眼鏡小物件)→ val AP 1.0 合理
  2. ⚠️ AP 1.0 是 val 非 test(#46 無 test)+ 辦公室AI料同少數人 → 偏樂觀,非泛化。要真數字得補 test 或換場域驗
  3. demo 測試需 yolo-face PGIE(face 偵測器 → face crop → mask),待部署

ckpt: R2 mask_v20260731/best.pt。demo 待 yolo-face 到位。