feat: close measured model review evidence
This commit is contained in:
@@ -172,6 +172,14 @@ not treated as reviewable model misses. This renderer does not alter persisted
|
||||
QA metrics; coverage-adjusted values remain audit diagnostics until the QA
|
||||
service evaluation population is deliberately hardened.
|
||||
|
||||
`validate_detection_false_negative_review_decisions.py` provides the same
|
||||
fail-closed validation as the false-positive workflow. It requires an exact
|
||||
one-to-one set of reviewed reference ids and emits only explicit
|
||||
`confirmed_model_false_negative` geometries. `--require-complete` rejects any
|
||||
remaining `unreviewed` row. The July 2026 96-card review is recorded in
|
||||
`docs/reviews/2026-07-15-small-building-model-review.md`; it yielded no novel,
|
||||
leakage-free labels and therefore did not trigger model training.
|
||||
|
||||
### Local model asset catalog
|
||||
|
||||
GeoIntel can list local runtime model files mounted into the backend model
|
||||
|
||||
@@ -8192,3 +8192,40 @@ Next:
|
||||
- Deploy the migration and UI, verify one live review queue and map QA result,
|
||||
then complete representative manual decisions before constructing any new
|
||||
model-training corpus.
|
||||
|
||||
## Sprint 198 - Evidence-closed model review (2026-07-15)
|
||||
|
||||
Implemented:
|
||||
- Generated the previously missing 48-card false-negative contact-sheet bundle
|
||||
from the exact persisted inference manifests for Geel, Herentals and
|
||||
Turnhout; 731 references outside tile coverage remained explicitly excluded.
|
||||
- Completed all 96 FP/FN decisions through orthophoto inspection plus
|
||||
persisted geometry-overlap diagnostics. The result is 5 confirmed model FP,
|
||||
10 confirmed model FN, 59 QA-alignment cases, 10 reference-gap/change cases
|
||||
and 12 uncertain/obscured cases.
|
||||
- Added `validate_detection_false_negative_review_decisions.py`, mirroring the
|
||||
existing FP safety contract and exporting only explicit confirmed misses.
|
||||
- Audited confirmed evidence against the active training split. Geel and
|
||||
Herentals are existing training sources; Turnhout is an excluded operational
|
||||
holdout. The review therefore provides zero novel leakage-free labels and a
|
||||
new fine-tuning run was deliberately rejected.
|
||||
- Added strict match count plus the existing diagnostic reference-envelope
|
||||
result to the map analysis panel. Canonical footprint IoU metrics remain
|
||||
unchanged.
|
||||
|
||||
Validation:
|
||||
- Both 48-row decision CSVs completed with zero `unreviewed` records and passed
|
||||
their validators with `--require-complete`.
|
||||
- Focused validator/readiness/map-contract tests passed.
|
||||
- Full readiness passed 596 backend tests, backend compilation, 88 documented
|
||||
API routes, one Alembic head, frontend typecheck/build and shell syntax gates.
|
||||
|
||||
Known limitation:
|
||||
- The active local model remains useful but imperfect. A new candidate requires
|
||||
independently collected training-only AOIs and complete tile labels; holdout
|
||||
review evidence must not be recycled into training.
|
||||
|
||||
Next:
|
||||
- Collect a new training-only small-building/background evidence pack outside
|
||||
all operational holdouts, then train an inactive candidate only if the pack
|
||||
passes label, leakage and sample-volume audits.
|
||||
|
||||
+2
-1
@@ -50,7 +50,8 @@ This file now starts with the current implementation status. Older preparation/b
|
||||
- [x] Persist paginated false-positive/false-negative operator decisions and expose them in the Quality workspace.
|
||||
- [x] Bound QA evidence resolution to persisted evidence ids instead of loading complete regional reference datasets.
|
||||
- [x] Compare confidence `0.10` and `0.15` over independent Mol holdouts; retain `0.15` because it wins F1 in every positive zone while both pass the empty-background control.
|
||||
- [ ] Complete manual decisions for the generated 48 false-negative and 48 false-positive review cards before constructing any new training corpus.
|
||||
- [x] Complete conservative decisions for the generated 48 false-negative and 48 false-positive review cards, validate both roles fail-closed and retain only 15 confirmed model errors.
|
||||
- [x] Audit the confirmed review evidence against the active corpus and holdouts; reject retraining because it provides zero novel leakage-free labels.
|
||||
- [x] Backend FastAPI foundation, health endpoint and service structure.
|
||||
- [x] React/TypeScript frontend foundation and MapLibre workbench.
|
||||
- [x] Map layer visibility, opacity and feature property inspection.
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
# Small-building model review - 2026-07-15
|
||||
|
||||
## Scope
|
||||
|
||||
This review uses persisted configured-YOLO detections, persisted GRB building
|
||||
features and the exact orthophoto inference tiles from Geel, Herentals and
|
||||
Turnhout. It does not infer labels from QA status alone and does not alter the
|
||||
active model.
|
||||
|
||||
- Model asset: `geointel-building-yolov8s-smallbld-minpx3-img640-ft30-pt`
|
||||
- SHA256: `a9088b8491dfae36694b53e9e9406cb4e3511d334a5712fa34f75078a47759c1`
|
||||
- Canonical QA method: candidate polygon versus GRB footprint IoU `0.25`
|
||||
- False-positive cards reviewed: 48
|
||||
- False-negative cards reviewed: 48
|
||||
- False negatives outside persisted inference-tile coverage: 731, excluded
|
||||
|
||||
Every card was checked against its orthophoto and the persisted candidate and
|
||||
reference overlays. Geometric overlap diagnostics were used to distinguish a
|
||||
model error from box/footprint or one-to-one matching effects. Ambiguous cards
|
||||
remain excluded from training.
|
||||
|
||||
## Decisions
|
||||
|
||||
| Evidence | Confirmed model error | QA alignment | Reference gap/change | Uncertain/obscured |
|
||||
| --- | ---: | ---: | ---: | ---: |
|
||||
| False positive | 5 | 34 | 5 | 4 |
|
||||
| False negative | 10 | 25 | 5 | 8 |
|
||||
| Total | 15 | 59 | 10 | 12 |
|
||||
|
||||
The dominant finding is not a model error. In 59 of 96 reviewed cards, a real
|
||||
candidate and reference overlap but the canonical box-versus-footprint or
|
||||
one-to-one assignment does not count that pair as a match. Those records must
|
||||
not become positive or negative training labels.
|
||||
|
||||
## Training-readiness audit
|
||||
|
||||
The active tile corpus already uses Geel and Herentals as training sources and
|
||||
keeps Turnhout excluded as an operation-level holdout.
|
||||
|
||||
| Confirmed evidence | Geel | Herentals | Turnhout holdout |
|
||||
| --- | ---: | ---: | ---: |
|
||||
| False positive | 3 | 1 | 1 |
|
||||
| False negative | 0 | 4 | 6 |
|
||||
|
||||
- The four confirmed false negatives in Herentals already exist as GRB labels
|
||||
in the current training source. Re-adding them would not add new ground
|
||||
truth; it would only change sample weighting.
|
||||
- Confirmed false-positive detections in Geel and Herentals occur on urban
|
||||
source tiles that also contain valid GRB buildings. Treating those complete
|
||||
tiles as empty hard negatives would create false negative labels.
|
||||
- The seven confirmed errors in Turnhout remain holdout evidence and cannot be
|
||||
used for training without invalidating the independent benchmark.
|
||||
|
||||
Result: **0 novel, leakage-free training labels are available from this review
|
||||
bundle.** A new fine-tuning run is therefore rejected. The active model and
|
||||
confidence `0.15` remain unchanged.
|
||||
|
||||
## Required next evidence before training
|
||||
|
||||
1. Collect new training-only orthophoto AOIs outside all Mol/Turnhout/Retie/
|
||||
Westerlo operational holdouts.
|
||||
2. Label the complete contents of each selected tile from an authoritative
|
||||
reference snapshot; never label only the reviewed detection box.
|
||||
3. Add enough independent confirmed small-building and true empty-background
|
||||
examples to justify a separate candidate.
|
||||
4. Keep the candidate inactive until it passes the same positive-AOI,
|
||||
pure-empty-background and Mol holdout gates.
|
||||
|
||||
The review CSVs, contact sheets and validator outputs remain under the
|
||||
persistent operator-data mount and are intentionally not committed as generated
|
||||
repository artifacts.
|
||||
Reference in New Issue
Block a user