Add hard-negative balanced YOLO tile export
This commit is contained in:
@@ -328,6 +328,27 @@ negative tiles, and records `yolo_tile_dataset_summary.json` with
|
||||
It remains operator tooling only: no provider fetch, no API mutation and no
|
||||
automatic model training.
|
||||
|
||||
For hard-negative-balanced experiments, repeat only train-split negative tiles
|
||||
from samples marked `sample_role=background_candidate`:
|
||||
|
||||
```bash
|
||||
docker exec -it geointel python3 /app/scripts/export_operator_yolo_tile_dataset.py \
|
||||
--manifest-path /app/storage/operator-data/operator_samples_manifest.json \
|
||||
--output-dir /app/storage/operator-data/yolo-building-tile-hardneg160r8 \
|
||||
--tile-size 160 \
|
||||
--stride 80 \
|
||||
--negative-keep-ratio 1.0 \
|
||||
--background-negative-repeat 8 \
|
||||
--val-samples turnhout,retie,kasterlee_bos \
|
||||
--force
|
||||
```
|
||||
|
||||
The repeat option can also be set with
|
||||
`OPERATOR_YOLO_BACKGROUND_NEGATIVE_REPEAT`. It does not duplicate validation
|
||||
tiles, positive tiles or normal reference-sample negatives. Repeated background
|
||||
tiles receive deterministic `_hnXX` filenames and tile metadata records
|
||||
`sample_role`, `repeat_index` and `is_repeated_background_negative`.
|
||||
|
||||
Train against the tile dataset by pointing the existing wrapper at the tile
|
||||
output directory:
|
||||
|
||||
@@ -388,6 +409,13 @@ was clean on Postel-bos and Lommel-heide at thresholds `0.25` and `0.15`, but
|
||||
produced 38 detections on Kasterlee-bos even at `0.25`. That blocks it from
|
||||
becoming a V1 default until a hard-negative-balanced candidate improves.
|
||||
|
||||
The hard-negative-balanced `geointel-building-yolov8n-hardneg160r8e40-pt`
|
||||
candidate reduced Kasterlee-bos false-positive pressure to 5/9/25 detections
|
||||
at thresholds `0.25`/`0.15`/`0.05` and stayed at 0 detections on Postel-bos and
|
||||
Lommel-heide across all tested thresholds. It also regressed dense-AOI F1
|
||||
against `geointel-building-yolov8n-expanded160e50-pt`, so it is useful model
|
||||
quality evidence but not a V1 default.
|
||||
|
||||
Export calibration QA evidence for visual review:
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user