Prepare unique hard-negative training dataset
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:20:49 +02:00
parent 54e6ad888e
commit 20c942df50
6 changed files with 39 additions and 5 deletions
+16 -3
View File
@@ -5679,16 +5679,29 @@ Open:
- 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.
- Fixed the all-in-one Dockerfile so the documented operator scripts are copied into `/app/scripts/` during normal rebuilds.
- Prepared the expanded Tower operator manifest and exported `yolo-building-tile-uniquehardneg160`.
## What was tested
- `python -m pytest backend\tests\test_sprint131_operator_sample_expansion.py -q`
- `python -m pytest backend\tests\test_sprint127_operator_sample_quality_matrix.py backend\tests\test_sprint131_operator_sample_expansion.py -q`
- `bash scripts/run_readiness_check.sh`
- Tower live operator sample prep:
- manifest samples: 16 total, 7 reference and 9 background candidates.
- background candidate GRB feature counts: Postel-bos 0, Lommel-heide 0, Kasterlee-bos 7, Dessel-heide 30, Ravels-bos 3, Meerhout-bos 20, Geel-Bel 17, Arendonk-heide 0, Herenthout-bos 90.
- Tower live tile export and audit for `yolo-building-tile-uniquehardneg160`:
- status `ok`
- 576 tiles, 346 positive, 230 negative
- 16 samples, 13 positive samples, 9 background samples
- 11,757 labels, 0 missing label files, 0 invalid label rows
- repeated background negative share 0.0
## 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.
- Some background candidates contain real GRB buildings. They are still useful as mixed rural/background samples, but the pure negative pressure currently comes mostly from Postel-bos, Lommel-heide and Arendonk-heide plus empty tiles inside sparse candidates.
- The running Tower container was updated via temporary `docker cp` for live data prep before the Dockerfile copy fix existed; a normal rebuild is needed for `/app/scripts/prepare_operator_real_data_samples.py` to exist inside the image automatically.
## 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.
- Rebuild the Tower all-in-one image, then use `yolo-building-tile-uniquehardneg160` as the next safer hard-negative training dataset candidate. Benchmark after training before changing defaults.