🚜 堆高機廠商研究 — IRODA 低信心 + FOX 誤報

問題: IRODA 清晰堆高機信心異常低 / FOX 大量非堆高機誤報 · 研究方向: 資料 vs 訓練方式(operator: 資料量夠) · 模型 v702

核心結論: 兩問題都是「特定資料覆蓋不足」, 不是訓練方式問題。訓練方式沒問題(train/val 表現都好)—— FOX 缺特定 confusable 機車的 hard-neg、IRODA 缺特定場域鏡頭覆蓋。operator「資料量夠」正確, 但缺的是特定難例而非總量

① FOX 誤報 = 機車誤判成堆高機 (資料覆蓋)

證據: dump FOX test 的 FP crop — 模型把電動機車(scooter)反覆偵測成堆高機:

root cause 反轉分析:
FOX split負樣本圖FP
train9642032
val55200
test7145
模型在 train/val 幾乎不誤報(FP 2/0)→ 看過的機車都學會當負樣本; 只在 test 爆 45 → 那台特定機車只在 test/場域, train 沒覆蓋。非「學不會機車」, 是「該 confusable 機車沒進 train」。

解法方向: 把該機車場景 frame 放進 train 當 hard-neg(有機車無堆高機標)。模型已證明「看過就學會」, 補該場景即可修。或場域各廠先掃 confusable 物(機車/推車/貨架)補 hard-neg。

② IRODA 低信心 = 場域 domain-gap (資料覆蓋)

證據: IRODA 逐 task GT 信心分布 (v702)
IRODA val 16 task + test 12 task, 信心中位全 0.81~0.97, 幾乎全 <0.25 比 = 0%。僅零星個別實例低(t5486 17% / t4902 有漏偵測)。
標註料信心其實很高, 場域低信心重現不出 → 是 live feed domain-gap(特定鏡頭/光線/壓縮 ≠ 標註料), 非訓練方式或資料量。IRODA 資料量甚至比 FOX 多(53 vs 27 task)。

解法方向: 需擷取實際發生低信心的場域 frame(該特定鏡頭)加入訓練 — 現有標註料救不了。建議在 ppe-demo/iSeek 側錄下低信心 IRODA 片段, 標註後補料。

③ 為何用 test 集看得出/看不出

建議行動 (不切 production)

  1. FOX: 蒐集含機車(及推車/貨架等 confusable)的 FOX 場景 frame, 標為無堆高機 hard-neg, 加入 train 重訓
  2. IRODA: 從場域錄下實際低信心片段, 標註後補入 train(針對該鏡頭 domain)
  3. 重訓後同 test + 場域實測驗證(規則#17 per-vendor conf)

證據存 5090-2 ~/factory_ppe/forklift_vendor_research/(fox_fp/ + findings.md)

→ 所有報告目錄