meaculpitt commited on
Commit
107cac4
·
verified ·
1 Parent(s): bca1798

ep29 weights + miner.py pipeline tuning (NMS sigma 0.3, SAHI overlap 5%, no adaptive fallback)

Browse files
Files changed (2) hide show
  1. miner.py +9 -19
  2. numberplate_weights.onnx +2 -2
miner.py CHANGED
@@ -163,7 +163,9 @@ class Miner:
163
  # given 0.6 weight on map50 vs 0.4 on false_positive in composite.
164
  self.conf_threshold = 0.16
165
  # Soft-NMS hyperparameters (Gaussian variant).
166
- self.soft_nms_sigma = 0.5
 
 
167
  # Final score floor after Soft-NMS decay. Was 0.20 — raised threshold
168
  # killed decayed real plates (e.g. plate adjacent to a higher-conf
169
  # detection gets decayed below 0.20 and dropped). Matches competitor
@@ -445,8 +447,8 @@ class Miner:
445
  """Run the quad-4 tile pipeline and return RAW (pre-Soft-NMS)
446
  detections in original-image coordinates."""
447
  orig_h, orig_w = image_bgr.shape[:2]
448
- OVERLAP_X = 70 # ~10% of 1408/2
449
- OVERLAP_Y = 38 # ~10% of 768/2
450
  mx = orig_w // 2
451
  my = orig_h // 2
452
 
@@ -485,22 +487,10 @@ class Miner:
485
 
486
  all_dets = self._quad4_raw_dets(image_bgr)
487
 
488
- # Adaptive conf fallback: if the quad-4 pass produced nothing, retry
489
- # once at a lower pre-NMS threshold. Rescues archived floor-drops
490
- # where the model had plate signal but nothing crossed 0.18 anywhere
491
- # in the 4 tiles (observed on validator tasks 57803/57836/57848).
492
- if not all_dets:
493
- _orig_conf = self.conf_threshold
494
- try:
495
- self.conf_threshold = 0.10
496
- all_dets = self._quad4_raw_dets(image_bgr)
497
- finally:
498
- self.conf_threshold = _orig_conf
499
- if all_dets:
500
- _cuda_log.warning(
501
- "adaptive conf fallback rescued %d raw dets at conf=0.10",
502
- len(all_dets),
503
- )
504
 
505
  # Keep flipped-view detections SEPARATE from original, so we can use
506
  # them as a cross-view verifier (hermes-style gate) later — not just
 
163
  # given 0.6 weight on map50 vs 0.4 on false_positive in composite.
164
  self.conf_threshold = 0.16
165
  # Soft-NMS hyperparameters (Gaussian variant).
166
+ # Tightened 0.5 → 0.3: sharper decay collapses near-duplicates from SAHI
167
+ # tile-seam overlaps faster, dropping more below the 0.01 score floor.
168
+ self.soft_nms_sigma = 0.3
169
  # Final score floor after Soft-NMS decay. Was 0.20 — raised threshold
170
  # killed decayed real plates (e.g. plate adjacent to a higher-conf
171
  # detection gets decayed below 0.20 and dropped). Matches competitor
 
447
  """Run the quad-4 tile pipeline and return RAW (pre-Soft-NMS)
448
  detections in original-image coordinates."""
449
  orig_h, orig_w = image_bgr.shape[:2]
450
+ OVERLAP_X = 35 # ~5% of 1408/2 (was 70/10%; halved to cut tile-seam duplicates)
451
+ OVERLAP_Y = 19 # ~5% of 768/2 (was 38/10%; halved to cut tile-seam duplicates)
452
  mx = orig_w // 2
453
  my = orig_h // 2
454
 
 
487
 
488
  all_dets = self._quad4_raw_dets(image_bgr)
489
 
490
+ # Adaptive conf fallback removed Apr 26: ep 29 has higher recall than
491
+ # v3 so the empty-first-pass case is rarer, and when it did fire the
492
+ # conf=0.10 retry generated phantoms (FP drag) AND added a ~3s
493
+ # inference pass (latency gate trigger). See mining_history.md.
 
 
 
 
 
 
 
 
 
 
 
 
494
 
495
  # Keep flipped-view detections SEPARATE from original, so we can use
496
  # them as a cross-view verifier (hermes-style gate) later — not just
numberplate_weights.onnx CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:75e91a8ee137d2f52eef752527a3b3ff1159c5b4417c5b40f205af090fb0ea00
3
- size 19579923
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f585a11f502df54f9610520b0cdef3b5414732a61543ab63113d0b0eb1239c41
3
+ size 19761271