Expand operator hard-negative AOIs
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-07-09 02:15:54 +02:00
parent 34f09fe323
commit 54e6ad888e
6 changed files with 127 additions and 10 deletions
+22
View File
@@ -5670,3 +5670,25 @@ Open:
## Next recommended pass
- Add more unique hard-negative/background AOIs before another hard-negative training run. The current label files are clean, so the bottleneck is dataset diversity and balance rather than label-file corruption.
# Sprint 147 - Unique hard-negative AOI expansion
## What changed
- Expanded `scripts/prepare_operator_real_data_samples.py` with six additional explicit background-candidate AOIs: Dessel-heide, Ravels-bos, Meerhout-bos, Geel-Bel, Arendonk-heide and Herenthout-bos.
- Background candidates remain operator/runtime samples only. They are not product providers, not fixtures and not automatic app fetches.
- Added sample-registry test coverage for minimum unique background count, unique centers and regional spread.
- Updated operator documentation with the expanded default corpus and the next required Tower regeneration step.
## What was tested
- `python -m pytest backend\tests\test_sprint131_operator_sample_expansion.py -q`
## Known limitations
- The new AOIs still need to be prepared on Tower before they affect the live operator YOLO tile exports.
- GRB may return sparse buildings in some background candidates; they remain valid hard-negative candidates only after the manifest and tile audit confirm their actual labels.
## Next recommended pass
- Pull this commit on Tower, rerun `prepare_operator_real_data_samples.py`, export a new hard-negative tile dataset without excessive repeat pressure and audit it before training.
+9 -1
View File
@@ -442,5 +442,13 @@ This file now starts with the current implementation status. Older preparation/b
- [x] Report sample coverage, validation coverage, repeated hard-negative pressure and YOLO label area integrity.
- [x] Wire the audit script into the readiness syntax gate.
- [x] Use live audit output to decide whether the next model pass needs more positive AOIs, label cleanup or unique hard negatives.
- [ ] Add more unique background/hard-negative AOIs before repeating hard-negative-balanced YOLO training.
- [x] Add more unique background/hard-negative AOIs before repeating hard-negative-balanced YOLO training.
- [ ] Keep `yolo-building-tile-expanded160` as the clean current training baseline; avoid promoting r4/r8 repeat-heavy datasets as defaults.
- [ ] Regenerate Tower operator samples, export a new unique-hard-negative tile dataset and rerun the dataset audit before training.
# Sprint 147 - Unique hard-negative AOI expansion
- [x] Expand the documented operator background candidates from 3 to 9 unique AOIs.
- [x] Keep every new background AOI explicit, `allow_empty_reference=True`, and `sample_role='background_candidate'`.
- [x] Add test coverage for minimum background candidate count, unique centers and regional spread.
- [ ] Prepare the new samples on Tower and build a fresh hard-negative tile dataset.