Add operator YOLO training dataset tooling
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-07-07 05:19:16 +02:00
parent 306fcd1b24
commit 31a2aa6138
10 changed files with 607 additions and 0 deletions
+32
View File
@@ -1,3 +1,35 @@
## Sprint 129 Operator YOLO training dataset tooling (2026-07-07)
Changed:
- Added `scripts/export_operator_yolo_dataset.py` to export prepared operator samples into a local YOLO detection dataset:
- input manifest: `operator_samples_manifest.json`
- output: `dataset.yaml`, `images/train`, `labels/train`, `images/val`, `labels/val`, `yolo_dataset_summary.json`
- labels are derived from GRB building references with `source_name=grb` and `reference_layer_name=buildings`.
- Added `scripts/train_operator_yolo_detector.sh` as an explicit operator/runtime wrapper around a local Ultralytics training smoke:
- requires `OPERATOR_YOLO_DATASET_DIR`
- requires an existing `YOLO_BASE_MODEL_PATH`
- writes a local `TRAIN_MODEL_OUTPUT_PATH`
- writes `training_summary.json`.
- Added readiness coverage for exporter compile and train-wrapper shell syntax.
- Added regression coverage in `backend/tests/test_sprint129_operator_yolo_training_dataset.py`.
- Updated `scripts/README.md`, `backend/README.md`, `docs/AI_PIPELINES.md`, `docs/TODO.md` and `CHANGELOG.md`.
Tested:
- RED: `python -m pytest backend\tests\test_sprint129_operator_yolo_training_dataset.py -q` failed while the exporter and training wrapper contracts were incomplete.
- `python -m pytest backend\tests\test_sprint129_operator_yolo_training_dataset.py -q` passed.
- `python scripts\export_operator_yolo_dataset.py --help` passed without requiring local GIS dependencies.
- `python -m py_compile scripts\export_operator_yolo_dataset.py` passed.
- `bash -n scripts/train_operator_yolo_detector.sh` passed.
Open:
- Run the exporter and training smoke inside the AI-enabled Tower runtime, then benchmark the trained artifact through the existing multi-sample Detection + QA matrix.
Limitations:
- This is operator tooling only. It does not add Training Studio, browser training controls, provider fetching, fake detections, model auto-provisioning or API contract changes.
Next recommended pass:
- Generate the local YOLO dataset from the current Geel/Mol/Turnhout samples, train a small local model smoke from `yolov8n.pt`, and compare it against the current `yolov8s-building-segmentation-pt` benchmark.
## Sprint 128 Stronger building model runtime benchmark (2026-07-07)
Changed: