堆高機 — 六支鏡頭上線判定

2026-08-06 · ISMS「PM 視角:🧠 訓練/驗證 (172 隻)」中 model =「堆高機工安」的 6 支 · 評估模型 forklift_v20260804 · 乾淨 test(train/test 完全不同日期)
🔴 首要結論:新訓的 v20260805b 全面退步,不可上版;建議維持 v20260804
把 SAM3 自動預標的 3,072 個標註(未經人工驗收)納入訓練後,六支鏡頭全部退步, 而且誤報暴增 4.5 倍(全 test FP 從 35 → 159)。詳見第三節。
可上線
2
TC-1-102、自動倉北側
有條件上線
2
頻道4、頻道5(需降 conf)
不建議上線
1
物流A倉充電站
無法判定
1
物流A倉出貨(資料不足)

一、逐鏡頭判定(conf 0.25)

鏡頭test 張bbox PrecisionRecallFP漏偵 R@0.1FP@0.1判定
FOX_[TC-1-102]633627 0.98730.9904 86 0.992013 ✅ 可上線
recall 0.990、FP 僅 8 個。六支中最穩。
HONCHUAN_[自動倉北側]107113 1.00001.0000 00 1.00000 ✅ 可上線
recall 1.000、零誤報。但 test 僅 113 bbox,昨日新錄的兩支影片(156 張)驗收後可再擴充。
IRODA_[頻道5-倉庫大門口]410405 0.97670.9333 927 0.960517 🟡 有條件上線
conf 0.25 時 recall 0.933;降到 0.1 可拉到 0.961、FP 從 9 增至 17。建議用 conf 0.1。
IRODA_[頻道4-倉庫進料區]591548 0.98830.9215 643 0.945314 🟡 有條件上線
漏偵集中在站立式電動堆高機與手動油壓拖板車。train recall(0.86) 低於 test(0.92)=欠擬合,補一般資料無效,需釐清標註定義並補該類樣本。
HONCHUAN_[物流A倉充電站]161543 0.97480.8564 1278 0.874864 ❌ 不建議上線
recall 0.856,降 conf 到 0.1 也只到 0.875。漏偵全是多台並排充電、互相遮擋只露門架。這是六支中唯一明確不合格的。
HONCHUAN_[物流A倉出貨]2312 1.00000.9167 01 0.91671 ⚠️ 資料不足,無法判定
test 僅 12 個 bbox,一個漏偵就是 8.3pp。分數再好也不具統計意義。需補約 100–150 個 bbox(約 230 張有效影像、分 3 天以上)。
判準:recall ≥ 0.95 → 可上線;0.90–0.95 → 有條件(需調 conf 並確認 FP 可接受); < 0.90 → 不建議;test bbox < 73(±5pp 精度門檻)→ 資料不足無法判定。
R@0.1 / FP@0.1 是把信心門檻降到 0.1 的表現 —— cascade 目前的預設就是 0.1。

二、建議的 conf 門檻

鏡頭建議 conf理由
FOX_[TC-1-102]0.250.25 已有 recall 0.990,不需降低
HONCHUAN_[自動倉北側]0.25recall 1.000、零誤報
IRODA_[頻道5-倉庫大門口]0.10recall 0.933→0.961,FP 僅由 9 增至 17
IRODA_[頻道4-倉庫進料區]0.10recall 0.922→0.945,FP 由 6 增至 14
HONCHUAN_[物流A倉充電站]降到 0.1 也只有 0.875,門檻救不了,要補資料
HONCHUAN_[物流A倉出貨]0.10另有實測:堆高機被棧板遮擋時 conf 從 0.871 掉到 0.116,0.25 會漏

三、為什麼 v20260805b 不能上

子集v804 mAP50v805b mAP50Δ v804 FPv805b FP
全部 test0.96400.9558−0.0082 35159
TC-1-1020.99490.9944−0.0005819
頻道4-倉庫進料區0.96340.9490−0.0144639
頻道5-倉庫大門口0.99080.9700−0.0208918
物流A倉充電站0.90630.8915−0.01481276
物流A倉出貨0.92000.9132−0.006801
自動倉北側0.99470.9919−0.002806
根因:自動預標未經人工驗收就進了訓練。
v805b 比 v804 多了宏全三支的 SAM3 預標資料(3,072 個標註),其中 663 個是模型補的矩形框、308 個是 SAM3 單方面認定,兩者都還沒被人檢查過。

最直接的證據是 train recall 反而低於 test recall(TC-1-102 0.949 vs 0.986、頻道4 0.864 vs 0.920、 北側 0.947 vs 0.982)。模型連自己訓練過的畫面都學不會 —— 這是訓練標註互相矛盾的典型症狀, 不是資料量不足。

加了宏全的訓練資料,宏全自己的表現反而更差(充電站 −0.0148、北側 FP 0→6), 排除了「資料量不夠」這個解釋,指向標註品質。

四、各鏡頭的問題根因

「遮擋」是貫穿全部的弱點,已三次獨立驗證:
  1. 物流A倉充電站(recall 0.856,六支最低)— 漏偵全是多台堆高機並排充電、互相遮擋只露門架
  2. IRODA_頻道4(recall 0.922)— 漏的是站立式電動堆高機與手動油壓拖板車,這些只露直立門架、 沒有一般坐式堆高機的車體輪廓。且 train recall 0.864 < test 0.920 = 欠擬合, 可能還混著標註定義不一致(同類設備在 A 鏡頭標、B 鏡頭不標)
  3. 物流A倉出貨(8/5 實測影片)— 堆高機開到棧板後方、下半身被紙箱擋住, conf 從 0.871 崩到 0.116,半秒之內掉 87%
補一般資料對這個弱點無效(train recall 已經偏低=欠擬合),要針對性補「被遮擋只露局部」的樣本。

五、建議行動

  1. production 維持 v20260804,不要切 v805b
  2. 請工程師驗收那 9 個預標 task(cvat 11252–11260,重點看 663 個模型補的矩形框與 308 個 SAM3 單方面框), 驗收修正後再重訓一次 —— 屆時宏全三支的資料才會真的幫上忙
  3. 物流A倉充電站需要針對性補「多台並排遮擋」的樣本,這是唯一明確不合格的鏡頭
  4. 物流A倉出貨需補約 230 張有效影像(100–150 bbox)、分 3 天以上; 另 物流A倉出貨_20260706 上傳失敗(task 11231 空殼),原始檔若在重傳可一次解決
  5. 頻道4 先釐清標註定義:手動油壓拖板車、站立式電動堆高機算不算偵測目標?六支口徑是否一致?

訓練 imgsz 1280 / 推論 imgsz 1280(cascade 對齊,規則 18)· yolo26n · ep100 patience30 · test 為 (鏡頭,日期) 整組切分、同一天絕不跨 subset · IoU 0.5 判定 TP · v20260805b ckpt 保留於 ~/runs_new/forklift_v20260805b/ 供驗收後對照