2026-05-31 · operator 場域驗證回報 2 問題 · 已查證根因,問題 2 已修復部署
兩版 person detector 都是 person_yolo26n_v20260527,但 推論 imgsz 不同:
| cascade | person 推論 imgsz | 來源 | 遠景人偵測 |
|---|---|---|---|
| forklift_ppe_v526b_p527 | 1280 | register hardcode | ✅ 抓得到 |
| forklift_ppe_v530(修復前) | 640 | load() 自動讀 person v527 訓練值 | ❌ 漏遠景人 |
person v527 訓練 imgsz = 640。我先前(v528)把 cascade 改成「自動讀 ckpt 訓練 imgsz」修 forklift 的 train/infer mismatch——但這對 person 是盲點:
person 雖訓 640,cascade 場域的遠景人是小目標,需要 1280 推論才抓得到。640 推論下遠景人被縮太小、偵測不到。person 的最佳推論 imgsz ≠ 訓練 imgsz(YOLO 全卷積可在更高解析度抓小物體)。v528 同樣有此 bug。
ForkliftPPEHandler.load() 改為:forklift detector 自動讀訓練 imgsz(修 mismatch),person detector 固定 1280(cascade 場域小目標需求,不自動讀)。v528 + v530 都修正。
# 修復後 self.forklift_imgsz = forklift_yolo.overrides["imgsz"] # 自動讀(訓 1280→推 1280) self.person_imgsz = 1280 # 固定,person 訓 640 但場域遠景人需 1280
task 5179 = IRODA-AI_WAREHOUSE_CH05 倉儲遠景,subset=Validation(model 沒見過;訓練集有同場景其他 frame)。對它 forklift standalone 推論:
| model | imgsz | conf 0.25 偵測數/frame | conf 0.1 |
|---|---|---|---|
| v528 | 1280 | [0,0,1,1,1,1] 抓得到 | [0,1,1,1,1,2] |
| v530 | 1280 | [1,0,0,0,0,0] 幾乎全漏 | [1,2,2,2,1,1] 降 conf 就抓到 |
v530 為了降 FP 變保守(precision 0.961→0.988,+2.6pp),整體 confidence 分布壓低——倉儲遠景 forklift 的 conf 掉到 0.25 以下,被 cascade 的 conf=0.25 門檻濾掉。降到 conf 0.1 就抓得到(model 其實看到了,只是不夠自信)。v528 在這場景反而較好。
呼應先前 fair eval:v530 mAP50-95 −2.2pp(recall 面退步)/ precision +2.6pp。場域實測證實了這個 trade-off——v530「框少但準」,對倉儲遠景難 case 會漏。
降 v530 default_forklift_conf 0.25 → 0.1,救回倉儲遠景偵測:
| v530 conf | task5179 偵測 |
|---|---|
| 0.25(舊) | 1/6 frame(漏) |
| 0.15 | 2/6 |
| 0.12 | 3/6 |
| 0.1(新) | 6/6 frame ✅ 全抓到 |
選 0.1 因主訴是「辨識不出」,0.15/0.12 救不夠仍常漏;0.1 穩定救回。FP 增加由 v530 高 precision(0.988)本錢吸收。若場域 FP 過多可回調 0.12~0.15。長期根治建議補 IRODA 倉儲遠景樣本重訓(v530 對該場景 conf 偏低的本質是訓練樣本不足)。
| 問題 | 根因 | 狀態 |
|---|---|---|
| 2. v530 漏人 | person_imgsz 自動讀成 640(應 1280) | ✅ 已修復 + 部署兩台 |
| 1. v530 漏 forklift | v530 保守化 conf 偏低,0.25 門檻濾掉倉儲遠景 | ✅ 已修復(conf 0.25→0.1)部署兩台 |
已寫入 CLAUDE.md / MODELS_INDEX 硬規則 + claude memory。
附帶教訓:cascade 的 detector 推論 imgsz,偵測器訓練尺度(修 mismatch)跟場域目標尺度(小目標需高解析度)是兩個不同考量——forklift 兩者一致(1280)、person 不一致(訓 640 但場域需 1280)。「自動讀 imgsz」只適用前者。