Expand operator hard-negative AOIs
This commit is contained in:
+11
-8
@@ -182,13 +182,14 @@ This writes GeoTIFF/GeoJSON pairs and `operator_samples_manifest.json` under
|
||||
`/app/storage/operator-data` inside the container, which maps to
|
||||
`storage/operator-data` in the Tower appdata checkout. The default corpus
|
||||
contains reference AOIs for Geel, Mol, Turnhout, Herentals, Balen, Retie and
|
||||
Westerlo plus background candidates for Postel-bos, Lommel-heide and
|
||||
Kasterlee-bos. Normal reference AOIs still fail when GRB returns no buildings;
|
||||
background candidates are explicitly marked with `sample_role` and may write an
|
||||
empty reference FeatureCollection for negative-tile training. The helper fetches
|
||||
only the explicit documented AOIs, records Digitaal Vlaanderen attribution and
|
||||
reuses existing files by default. Use `--force` only when the local runtime
|
||||
artifacts should be regenerated.
|
||||
Westerlo plus background candidates for Postel-bos, Lommel-heide,
|
||||
Kasterlee-bos, Dessel-heide, Ravels-bos, Meerhout-bos, Geel-Bel,
|
||||
Arendonk-heide and Herenthout-bos. Normal reference AOIs still fail when GRB
|
||||
returns no buildings; background candidates are explicitly marked with
|
||||
`sample_role` and may write an empty reference FeatureCollection for
|
||||
negative-tile training. The helper fetches only the explicit documented AOIs,
|
||||
records Digitaal Vlaanderen attribution and reuses existing files by default.
|
||||
Use `--force` only when the local runtime artifacts should be regenerated.
|
||||
|
||||
The real-data smoke is intentionally mutating and refuses to run without
|
||||
operator-supplied files. Current V1 upload support expects a georeferenced
|
||||
@@ -351,6 +352,8 @@ Current Tower audit status:
|
||||
- `yolo-building-tile-hardneg160r4` and `yolo-building-tile-hardneg160r8`:
|
||||
repeat-heavy hard-negative variants; useful evidence, but add more unique
|
||||
background AOIs before training another hard-negative-balanced candidate.
|
||||
- Regenerate `operator_samples_manifest.json` after pulling Sprint 147+ so the
|
||||
expanded unique background AOI set is available for the next tile export.
|
||||
|
||||
For hard-negative-balanced experiments, repeat only train-split negative tiles
|
||||
from samples marked `sample_role=background_candidate`:
|
||||
@@ -415,7 +418,7 @@ before changing model defaults:
|
||||
|
||||
```bash
|
||||
OPERATOR_SAMPLE_MANIFEST_PATH=storage/operator-data/operator_samples_manifest.json \
|
||||
OPERATOR_BACKGROUND_SAMPLE_SLUGS="postel_bos lommel_heide kasterlee_bos" \
|
||||
OPERATOR_BACKGROUND_SAMPLE_SLUGS="postel_bos lommel_heide kasterlee_bos dessel_heide ravels_bos meerhout_bos geel_bel arendonk_heide herenthout_bos" \
|
||||
QUALITY_MODEL_ASSET_IDS="geointel-building-yolov8n-expanded160e50-pt geointel-building-yolov8n-tile30-pt yolov8s-building-segmentation-pt" \
|
||||
QUALITY_TILE_SIZES="640" \
|
||||
QUALITY_TILE_OVERLAPS="64" \
|
||||
|
||||
@@ -114,6 +114,60 @@ SAMPLES: dict[str, OperatorSample] = {
|
||||
sample_role="background_candidate",
|
||||
allow_empty_reference=True,
|
||||
),
|
||||
"dessel_heide": OperatorSample(
|
||||
slug="dessel_heide",
|
||||
display_name="Dessel heath background candidate",
|
||||
center_lon=5.092,
|
||||
center_lat=51.235,
|
||||
half_size_m=260.0,
|
||||
sample_role="background_candidate",
|
||||
allow_empty_reference=True,
|
||||
),
|
||||
"ravels_bos": OperatorSample(
|
||||
slug="ravels_bos",
|
||||
display_name="Ravels forest background candidate",
|
||||
center_lon=4.977,
|
||||
center_lat=51.384,
|
||||
half_size_m=260.0,
|
||||
sample_role="background_candidate",
|
||||
allow_empty_reference=True,
|
||||
),
|
||||
"meerhout_bos": OperatorSample(
|
||||
slug="meerhout_bos",
|
||||
display_name="Meerhout forest background candidate",
|
||||
center_lon=5.069,
|
||||
center_lat=51.115,
|
||||
half_size_m=260.0,
|
||||
sample_role="background_candidate",
|
||||
allow_empty_reference=True,
|
||||
),
|
||||
"geel_bel": OperatorSample(
|
||||
slug="geel_bel",
|
||||
display_name="Geel-Bel rural background candidate",
|
||||
center_lon=5.046,
|
||||
center_lat=51.137,
|
||||
half_size_m=260.0,
|
||||
sample_role="background_candidate",
|
||||
allow_empty_reference=True,
|
||||
),
|
||||
"arendonk_heide": OperatorSample(
|
||||
slug="arendonk_heide",
|
||||
display_name="Arendonk heath background candidate",
|
||||
center_lon=5.238,
|
||||
center_lat=51.334,
|
||||
half_size_m=260.0,
|
||||
sample_role="background_candidate",
|
||||
allow_empty_reference=True,
|
||||
),
|
||||
"herenthout_bos": OperatorSample(
|
||||
slug="herenthout_bos",
|
||||
display_name="Herenthout forest background candidate",
|
||||
center_lon=4.781,
|
||||
center_lat=51.143,
|
||||
half_size_m=260.0,
|
||||
sample_role="background_candidate",
|
||||
allow_empty_reference=True,
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user