feat: config-authoritative conf gates + cross-model IoU sack suppression
ci / smoke (push) Canceled after 0s

This commit is contained in:
andrew committed 2026-09-25 14:06:04 +07:00
1 parent 1e4dc4201c
commit a12056a5ad
7 files changed
+80 -7

No files matched your search

+1
View File
@@ -84,6 +84,7 @@ def test_counting_knobs_match_production_defaults(repo_config_path):
assert c.exit_overlap_threshold == 0.05
assert c.camera_noise_deadband == 50
assert c.duplicate_circle_radius == 30
assert c.cross_class_iou == 0.4
assert c.min_valid_area == 15000
assert c.max_reid_transit_distance == 400
assert c.circle_stay_timeout_sec == 10.0
+16
View File
@@ -96,3 +96,19 @@ def test_multiclass_geometry_sync_and_reset():
assert c.loading_count == 1
c.reset()
assert (c.loading_count, c.box_loading_count, c.box_net_count) == (0, 0, 0)
def test_drop_sacks_overlapping_boxes():
from src.counting import drop_sacks_overlapping_boxes
box = _det(9, y1=100, cx=500.0, class_name="box")
# identical footprint -> IoU 1.0 >= 0.4 -> sack dropped
assert drop_sacks_overlapping_boxes([_det(1, y1=100, cx=500.0)], [box]) == []
# partial overlap (cx 515) -> IoU ~0.45 -> dropped
assert drop_sacks_overlapping_boxes([_det(2, y1=100, cx=515.0)], [box]) == []
# no overlap -> kept
kept = drop_sacks_overlapping_boxes([_det(3, y1=100, cx=700.0)], [box])
assert len(kept) == 1 and kept[0].track_id == 3
# no boxes / disabled -> kept
assert len(drop_sacks_overlapping_boxes([_det(4, y1=100)], [], 0.4)) == 1
assert len(drop_sacks_overlapping_boxes([_det(5, y1=100)], [box], 0.0)) == 1
# box dets in sack list never dropped
assert len(drop_sacks_overlapping_boxes([_det(6, y1=100, class_name="box")], [box])) == 1