fix(auto-batch): truck presence needs 50% polygon overlap, config-authoritative timers
ci / smoke (push) Canceled after 0s

Big docked truck bbox rests 1-2px past detection_polygon bottom edge, so
100%-containment made truck_in_area flicker False -> batch 15 split (6+276)
on 2026-09-29 while the truck never left. v4-best.engine detected it at
conf 0.92-0.97 in every replayed frame (no model miss, no retraining).

- truck gate: frac_inside >= 0.5 instead of contains(bbox)
- batch.truck_gone_tolerance_seconds (new, 30) authoritative; drop the
  hardcoded batch_mgr._truck_gone_tolerance = 30.0 override;
  batch.timeout_seconds documented as sack-idle pause only
- [TRUCK] truck_in_area transition debug log
This commit is contained in:
andrew committed 2026-09-30 09:40:15 +07:00
1 parent 12f921f81c
commit f621ae86fb
8 files changed
+74 -9

No files matched your search

+2 -1
View File
@@ -119,7 +119,8 @@ counting:
debounce_frames: 8
batch:
timeout_seconds: 20.0
timeout_seconds: 20.0 # sack-idle: N s with no sack crossing AND no sack visible in the truck area -> batch pauses (WAITING_FOR_ACTIVITY); truck/sacks visible later resume the SAME batch
truck_gone_tolerance_seconds: 30.0 # truck-gone: in WAITING_FOR_ACTIVITY, N s with no sack crossing + no visible sack + no valid truck signal -> finalize the batch (auto-mode end condition)
merge_threshold_seconds: 300 # deprecated by timeout_seconds and detecting sacks within the ROI
daily_cutoff_time: "06:00"
default_mode: "auto" # auto | do_manual | manual (seed when batch_mode.json missing)