📦 模型下載https://pub-478929a98a5c440cb22c2241c0bde314.r2.dev/factory_ppe_v20260606_nv/best.pt

👷⚠️ PPE not_visible 三態 v20260606_nv(實驗性 PoC)

2026-06-06 · 5090-2 · MobileNetV3-L · 27-attr(22 原 attr + 5 visibility head)· cvat #12 not_visible 標註

⚠️ 結論先講:這是實驗性版本,不可當泛化模型用

新增「看不清(not_visible)」偵測能力。4 個 visibility head 測試 AP=1.000,但這是 train/val/test 來自同一鏡頭、同一天連續片段切割的樂觀假象,泛化到其他場域/鏡頭/天完全未驗證。僅以 ppe22_v606_nv 上 ppe-demo 供 RAIVISION_DAVIDMAC 鏡頭內部測試,不取代生產版 ppe22_v605

🎯 目的

cvat #12 person 標註新增 not_visible 值(腳被料架擋、臉背光等鏡頭物理限制看不清,與「沒穿」不同)。原 22-attr 把 not_visible 當 mask=0(不參與 loss)丟棄。本版加 5 個 visibility binary head({attr}_nv:not_visible=1 / yes·no=0 / unknown=mask),讓推論能輸出「看不清」獨立第三態。

📊 5 個 visibility head 測試結果

visibility headtest APtest 正樣本判定
safety_shoes_nv1.00055✅ 採用
no_safety_shoes_nv1.00055✅ 採用
safety_glasses_nv1.00021✅ 採用
face_mask_nv1.00021✅ 採用
safety_vest_nv0.44814❌ 棄用

原 22 attr 未退步:test_mAP 0.9443、macro_f1 0.9325(safety_shoes 0.929 / safety_glasses 0.973 / face_mask 0.991 / safety_vest 0.961,與 v605 持平)。加 visibility head 不傷原任務。

4 / 5
visibility head 採用
1.000
採用 head test AP(⚠️ 樂觀)
0.9443
原 22-attr test_mAP(未退步)
1 鏡頭
not_visible 標註覆蓋

🔴 核心限制:AP 1.000 是標註分布造成的樂觀假象

逐 task 拆解 not_visible 標註來源後發現嚴重的場景集中:

attrnot_visible 全部來源split 切法
safety_shoes_nvRAIVISION_DAVIDMAC_CH00_20260605train=_001 / val=_002 / test=_003
face_mask_nvRAIVISION_[DAVIDMAC]_20260605train=_001/_002 / test=_003
safety_glasses_nvDAVIDMAC + 一個 FOX 場域train=FOX+DAVIDMAC_001/_002 / test=DAVIDMAC_003

✅ 適用範圍(可以怎麼用)

not_visible 本質是鏡頭物理視角限制(固定攝影機角度造成腳/臉被擋),與場景強綁定。因此在已標註的 DAVIDMAC 鏡頭、類似作業條件下,這 4 個 head 大概率可用——per-camera 部署反而正中需求。但這天相鄰片段的 1.000 不能保證隔天/別鏡頭也行,需要該鏡頭另一段(另一天)影片做乾淨驗證才能確定真實準度。

🚀 部署狀態

ppe-demo 兩台 model key ppe22_v606_nvPPE21NVHandler,person 子偵測器 person_yolo26s@1280 v602,conf 0.25)。對 4 個採用 attr 輸出三態:visibility head ≥ 0.5 → 影片標「看不清: 腳/護目鏡/口罩」黃字 + API state=not_visible,否則用原 yes/no。標明實驗性,與生產版 ppe22_v605 並存,不取代

🔭 要做成可泛化的正式類別需要

⚙️ Hyperparams

backbone: mobilenetv3_large_100 | partial-label BCE 27 binary heads + mask(22 原 + 5 _nv)
imgsz 384×192 | batch 128 | epochs 40 | lr 3e-4 | aug strong | not_visible→nv head=1, yes/no→0, unknown→mask
cascade person 偵測 imgsz 自動讀=1280 | nv 部署門檻 0.5(test-set optimal thr=1.00 過擬合不採用)
資料: cvat #12 not_visible 2822 標註(71% 集中 RAIVISION_DAVIDMAC 單鏡頭)

📦 模型下載

factory_ppe_v20260606_nv/best.pt ⬇(17.1 MB)

← 訓練報告目錄