Record filtered YOLO dataset evidence
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-07-11 23:04:54 +02:00
parent a159370a11
commit c9b22f8f8b
3 changed files with 45 additions and 6 deletions
+40 -2
View File
@@ -6895,12 +6895,50 @@ Open:
- Ran `python scripts/export_operator_yolo_tile_dataset.py --help`: the CLI exposes `--drop-low-variance-negatives`, `--no-drop-low-variance-negatives` and `--blank-range-threshold` without loading GIS dependencies. - Ran `python scripts/export_operator_yolo_tile_dataset.py --help`: the CLI exposes `--drop-low-variance-negatives`, `--no-drop-low-variance-negatives` and `--blank-range-threshold` without loading GIS dependencies.
- Ran `bash scripts/run_readiness_check.sh`: 460 backend tests passed, frontend typecheck passed, frontend build passed, readiness passed. - Ran `bash scripts/run_readiness_check.sh`: 460 backend tests passed, frontend typecheck passed, frontend build passed, readiness passed.
## Tower runtime evidence
- Pushed commit `a159370` and redeployed the all-in-one Tower runtime at `http://192.168.10.150:1202`.
- Deploy validation passed:
- live migration smoke passed;
- browser runtime verification passed;
- container exposed `0.0.0.0:1202->80/tcp`.
- Regenerated the AOI1024 cleanpx dataset with low-variance negative filtering enabled:
- dataset: `/app/storage/operator-data/yolo-building-aoi1024-cleanpx12vis035`
- `drop_low_variance_negatives=true`
- `blank_range_threshold=3`
- tile count: `135`
- positive tiles: `114`
- negative tiles: `21`
- skipped negative tiles: `9`
- skipped low-variance negative tiles: `9`
- labels: `14632`
- train tiles: `108`
- validation tiles: `27`
- Dataset audit:
- report: `/app/artifacts/operator-yolo-dataset-audit/aoi1024-cleanpx12vis035-lowvarfilter/operator_yolo_dataset_quality_audit.json`
- status: `ok`
- invalid labels: `0`
- missing label files: `0`
- median normalized box area: `0.001373291016`
- small-box share: `0.0`
- Visual label QA:
- report: `/app/artifacts/operator-yolo-label-qa/aoi1024-cleanpx12vis035-lowvarfilter/operator_yolo_label_qa_summary.json`
- contact sheet: `/app/artifacts/operator-yolo-label-qa/aoi1024-cleanpx12vis035-lowvarfilter/contact_sheet_001.png`
- selected tiles: `32`
- rendered tiles: `32`
- valid labels: `7670`
- invalid labels: `0`
- missing images: `0`
- missing label files: `0`
- low-variance rendered tiles: `0`
- Visual inspection confirmed that the previous blank white `arendonk_heide` negatives are no longer present in the review sheet. The remaining selected pure-empty negatives are real visible orthophoto/context tiles.
## Known limitations ## Known limitations
- The low-variance gate is deliberately simple and only identifies visually blank/no-data-looking negative tiles. - The low-variance gate is deliberately simple and only identifies visually blank/no-data-looking negative tiles.
- It is opt-in to avoid silently changing historical dataset exports.
- Operator visual contact-sheet review remains required before any new training run. - Operator visual contact-sheet review remains required before any new training run.
- The filtered dataset is now a cleaner input candidate, but model training is still not guaranteed to improve QA/QC; another training run must be gated through the existing positive-AOI and background promotion reports.
## Next recommended pass ## Next recommended pass
- Redeploy Tower, regenerate the AOI1024 cleanpx dataset with `--drop-low-variance-negatives`, rerun dataset audit and contact-sheet QA, then decide whether the filtered dataset is suitable for another training run. - Train one inactive candidate from the filtered AOI1024 cleanpx dataset, then run the existing positive-AOI matrix and split-background promotion workflow before considering default activation.
+2 -1
View File
@@ -132,7 +132,8 @@ This file now starts with the current implementation status. Older preparation/b
- [x] Add per-sample YOLO dataset audit diagnostics for parsed labels, median box area, small-box share and AOI-specific warning codes. - [x] Add per-sample YOLO dataset audit diagnostics for parsed labels, median box area, small-box share and AOI-specific warning codes.
- [x] Add deterministic visual YOLO label QA contact sheets before spending more CPU on another training run. - [x] Add deterministic visual YOLO label QA contact sheets before spending more CPU on another training run.
- [x] Filter no-data/low-variance pure-empty negative tiles from operator YOLO exports before the next training run. - [x] Filter no-data/low-variance pure-empty negative tiles from operator YOLO exports before the next training run.
- [ ] Regenerate the AOI1024 cleanpx YOLO dataset with low-variance negative filtering and rerun visual contact-sheet QA before training. - [x] Regenerate the AOI1024 cleanpx YOLO dataset with low-variance negative filtering and rerun visual contact-sheet QA before training.
- [ ] Train one inactive candidate from the filtered AOI1024 cleanpx YOLO dataset and gate it through the positive-AOI plus split-background promotion workflow.
- [ ] Apply promoted V1 default building detector only after explicit operator review of the emitted `.env` updates, followed by rebuild/restart and browser/runtime smoke. - [ ] Apply promoted V1 default building detector only after explicit operator review of the emitted `.env` updates, followed by rebuild/restart and browser/runtime smoke.
## Sprint 8 status ## Sprint 8 status
@@ -51,6 +51,6 @@
- [x] Run targeted pytest for the exporter/contact-sheet tests. - [x] Run targeted pytest for the exporter/contact-sheet tests.
- [x] Run `bash scripts/run_readiness_check.sh`. - [x] Run `bash scripts/run_readiness_check.sh`.
- [ ] Commit and push. - [x] Commit and push.
- [ ] Rebuild/deploy Tower if code changed. - [x] Rebuild/deploy Tower if code changed.
- [ ] Regenerate the AOI1024 dataset with the new filter enabled, then render contact sheets and record the result. - [x] Regenerate the AOI1024 dataset with the new filter enabled, then render contact sheets and record the result.