👷 限縮版 PPE 小物件辨識 — 研究報告

Grad-CAM 熱區驅動 · 3.5h 系統性研究 · RAIVISION/DAVIDMAC 限縮版 · 對照現役 rai_hires(706b 512×256)

核心結論:3 個頭部小屬性(眼鏡/安全帽/口罩)辨識不佳的共同根因 = 全身 crop 把頭部壓太小、小物件像素不足。解法 = head-ROI(裁頭部放大)。安全鞋則是標註定義問題(非模型能解)。
head-ROI 實驗(exp1~3)Grad-CAM 證實三者熱區都移到正確位置。AP 因 RAIVISION 同場域 overfit 已到頂(0.98~1.0)分不出差異, 研究價值在定位(熱區)而非 AP

① 安全眼鏡 — 熱區鼻/嘴 → 眼睛 ✅

根因:全身 512×256 把整個人塞進去, 眼睛只佔極少像素, 模型退而抓鼻嘴的口罩/膚色線索。
解法:head-ROI 裁上 40% 頭肩放大 448², 眼睛獲得足夠像素。
Grad-CAM 前後:
before 全身512
after head-ROI
before 全身512
after head-ROI

② 安全帽 — 頭中央 → 頭頂/帽本體 ✅

根因:同上, 頭部像素不足, 熱區糊在頭中央。
解法:head-ROI 放大頭部, 熱區落到安全帽本體。
Grad-CAM 前後:
before 全身512
after head-ROI
before 全身512
after head-ROI

③ 口罩(側臉) — 集中身體 → 臉部 ✅ (原最嚴重)

根因:側臉時口罩被部分遮擋+全身 crop 稀釋, 模型改抓身體/情境捷徑(有無塵服→判有口罩)。
解法:head-ROI + 側臉強化 aug(rotation ±20°/RandomRotation 15°), 強迫注意力回到頭臉。
Grad-CAM 前後:
before 全身512
after head-ROI
before 全身512
after head-ROI

④ 安全鞋 — 無法判別 🔴 (非模型問題)

根因:熱區已正確對到腳部, 但標註定義是「黑鞋都算安全鞋」(safety_shoes pos=6519), 模型只能學到「黑鞋→安全鞋」, 無法區分真安全鞋 vs 黑色非安全鞋。這是標註/規格問題, 非模型能解。
方向(需 operator 決策):(a)改標註定義只標真安全鞋 (b)加細分類(鞋型/鋼頭) (c)加 hard-neg(黑色非安全鞋當負樣本)。

解決方案架構

負責 attr輸入
主幹 全身 512×256body/foot/gloves/vest/harnessfull person crop
head-ROI 分支 448²眼鏡/帽/口罩/護目鏡等頭部小屬性TopCrop 上40%頭肩

建議雙分支: 全身模型顧 body/foot, head-ROI 分支顧頭部小屬性(定位精準)。或 head-ROI 專用頭部 model 搭配現役全身版。

實驗數據(同 test crops_v20260706b_raivision)

實驗設定glasses APface_mask APhard_hat AP
baseline 706b全身 512×2560.9981.0001.000
exp1head-ROI 448 (0.40)0.9830.9951.000
exp2head-ROI 384 緊裁0.300.9871.0001.000
exp3 ⭐head-ROI 448 + 側臉aug0.9990.9991.000

⚠️ AP 皆 overfit 到頂(RAIVISION 同場域), 差異看 Grad-CAM 定位不看 AP。exp3(head-ROI+側臉aug)綜合最佳。head-ROI 模型只顧頭部 attr, body/foot 需主幹全身模型。

結論與建議

→ 所有報告目錄