Expand regional training contexts to 75 AOIs
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s

This commit is contained in:
Jens
2026-07-27 02:44:46 +02:00
parent 65d263a37b
commit 8ddb5e1103
3 changed files with 17 additions and 2 deletions
@@ -19,7 +19,7 @@ def test_portfolio_covers_every_region_split_and_context_family() -> None:
assert len({aoi.slug for aoi in module.AOIS}) == len(module.AOIS)
counts = Counter((aoi.region, aoi.split) for aoi in module.AOIS)
for region in module.REGION_CONTRACT:
assert counts[(region, "train")] >= 10
assert counts[(region, "train")] >= 15
assert counts[(region, "val")] >= 2
assert counts[(region, "calibration")] >= 3
assert counts[(region, "test")] >= 3
+1 -1
View File
@@ -28,7 +28,7 @@ data. A new iteration adds independent training AOIs instead.
| --- | --- |
| Runtime | CUDA required; NVIDIA device visible; no CPU fallback |
| Corpus | Immutable manifest and artifacts with SHA-256 evidence |
| Geographic composition | Each land region has at least 10 train, 2 val, 3 calibration, 3 test and 2 background-test AOIs |
| Geographic composition | Each land region has at least 15 train, 2 val, 3 calibration, 3 test and 2 background-test AOIs |
| Contexts | Dense urban, suburban, rural, industrial and difficult negative contexts represented |
| Leakage | No intersecting AOIs across protected split roles |
| Label integrity | No malformed rows; sub-resolution labels explicitly rejected |
@@ -37,6 +37,11 @@ AOIS = (
Aoi("roeselare-industry-train", "flanders", "industrial", "train", 3.120, 50.945),
Aoi("dendermonde-suburban-train", "flanders", "suburban", "train", 4.100, 51.030),
Aoi("houthalen-forest-train-bg", "flanders", "forest-negative", "train", 5.380, 51.030, "background_candidate"),
Aoi("lier-urban-train", "flanders", "historic-urban", "train", 4.570, 51.130),
Aoi("lokeren-ribbon-train", "flanders", "ribbon-development", "train", 3.990, 51.100),
Aoi("tienen-urban-train", "flanders", "mixed-urban", "train", 4.940, 50.810),
Aoi("deinze-suburban-train", "flanders", "suburban", "train", 3.530, 50.980),
Aoi("lommel-industry-train", "flanders", "industrial", "train", 5.310, 51.230),
Aoi("bruges-val", "flanders", "historic-urban", "val", 3.224, 51.209),
Aoi("turnhout-val", "flanders", "suburban", "val", 4.944, 51.322),
Aoi("hasselt-cal", "flanders", "suburban", "calibration", 5.340, 50.930),
@@ -58,6 +63,11 @@ AOIS = (
Aoi("marche-smallcity-train", "wallonia", "small-city", "train", 5.340, 50.230),
Aoi("ath-rural-train", "wallonia", "rural-town", "train", 3.780, 50.630),
Aoi("condroz-field-train-bg", "wallonia", "farmland-negative", "train", 4.700, 50.300, "background_candidate"),
Aoi("la-louviere-train", "wallonia", "dense-urban", "train", 4.190, 50.480),
Aoi("huy-valley-train", "wallonia", "valley-urban", "train", 5.240, 50.520),
Aoi("eupen-train", "wallonia", "regional-architecture", "train", 6.030, 50.630),
Aoi("ciney-train", "wallonia", "rural-town", "train", 5.100, 50.290),
Aoi("couvin-train", "wallonia", "forest-town", "train", 4.500, 50.050),
Aoi("tournai-val", "wallonia", "historic-urban", "val", 3.389, 50.606),
Aoi("arlon-val", "wallonia", "small-city", "val", 5.817, 49.683),
Aoi("verviers-cal", "wallonia", "suburban", "calibration", 5.860, 50.590),
@@ -79,6 +89,11 @@ AOIS = (
Aoi("ixelles-dense-train", "brussels", "dense-urban", "train", 4.370, 50.830),
Aoi("forest-residential-train", "brussels", "residential", "train", 4.320, 50.810),
Aoi("woluwe-park-train-hard", "brussels", "park-hard-negative", "train", 4.440, 50.840, "background_candidate"),
Aoi("evere-train", "brussels", "dense-residential", "train", 4.400, 50.870),
Aoi("berchem-train", "brussels", "suburban", "train", 4.290, 50.860),
Aoi("watermael-train", "brussels", "forest-edge-residential", "train", 4.400, 50.810),
Aoi("neder-over-heembeek-train", "brussels", "mixed-urban", "train", 4.380, 50.900),
Aoi("brussels-canal-south-train-hard", "brussels", "canal-hard-negative", "train", 4.320, 50.820, "background_candidate"),
Aoi("woluwe-val", "brussels", "suburban", "val", 4.430, 50.845),
Aoi("molenbeek-val", "brussels", "mixed-urban", "val", 4.325, 50.855),
Aoi("brussels-park-cal", "brussels", "park-edge", "calibration", 4.380, 50.820),