Add operator YOLO training dataset tooling
This commit is contained in:
@@ -229,6 +229,42 @@ The multi-sample summary exposes `best_overall_by_score`,
|
||||
model-quality decisions are based on repeated persisted QA/QC evidence rather
|
||||
than one AOI.
|
||||
|
||||
When repeated public model benchmarks remain too weak, the operator can convert
|
||||
the prepared real-data samples into a local YOLO training dataset:
|
||||
|
||||
```bash
|
||||
docker exec -it geointel python /app/scripts/export_operator_yolo_dataset.py \
|
||||
--manifest-path /app/storage/operator-data/operator_samples_manifest.json \
|
||||
--output-dir /app/storage/operator-data/yolo-building-dataset \
|
||||
--val-samples turnhout \
|
||||
--force
|
||||
```
|
||||
|
||||
The exporter creates a standard YOLO detection layout with `dataset.yaml`,
|
||||
`images/train`, `labels/train`, `images/val` and `labels/val`. It converts GRB
|
||||
building reference geometries to pixel-space bounding boxes for the matching
|
||||
orthophoto sample and records `yolo_dataset_summary.json`.
|
||||
|
||||
A minimal local training smoke can then be run explicitly in an AI-enabled
|
||||
runtime:
|
||||
|
||||
```bash
|
||||
docker exec \
|
||||
-e OPERATOR_YOLO_DATASET_DIR=/app/storage/operator-data/yolo-building-dataset \
|
||||
-e YOLO_BASE_MODEL_PATH=/app/models/yolov8n.pt \
|
||||
-e TRAIN_MODEL_OUTPUT_PATH=/app/models/geointel-building-detector.pt \
|
||||
-e TRAIN_EPOCHS=8 \
|
||||
-e TRAIN_IMGSZ=512 \
|
||||
-e TRAIN_BATCH=2 \
|
||||
-e TRAIN_WORKERS=0 \
|
||||
-e TRAIN_DEVICE=cpu \
|
||||
geointel bash /app/scripts/train_operator_yolo_detector.sh
|
||||
```
|
||||
|
||||
This remains operator tooling only. GeoIntel does not expose Training Studio in
|
||||
V1, does not generate labels from predictions and does not treat the trained
|
||||
artifact as useful until it passes the same real-data Detection + QA matrix.
|
||||
|
||||
For visual error inspection, export the persisted QA evidence from a calibration
|
||||
summary:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user