Fix YOLO class normalization
This commit is contained in:
@@ -1,3 +1,25 @@
|
||||
## Sprint 123 YOLO class normalization and real-data inference fix (2026-07-07)
|
||||
|
||||
Changed:
|
||||
- Investigated the Geel real-data smoke that persisted zero detections despite the configured building model being available.
|
||||
- Confirmed on Tower that `/app/models/yolov8n-building-segmentation.pt` reports model class `Building` and returns 4 raw detections at confidence `0.5` on the same real Geel tile manifest.
|
||||
- Fixed configured-YOLO detection persistence so model class names are compared case-insensitively against `class_filter`, persisted as canonical lowercase domain classes, and preserve the original model class name in `properties_json.model_class_name`.
|
||||
- Added regression coverage in `backend/tests/test_sprint8b_yolo_foundation.py`.
|
||||
|
||||
Validation:
|
||||
- RED: `python -m pytest backend/tests/test_sprint8b_yolo_foundation.py::test_yolo_class_filter_is_case_insensitive_and_persists_canonical_class -q` failed with `detection_count=0` because `Building` did not match `building`.
|
||||
- `python -m pytest backend/tests/test_sprint8b_yolo_foundation.py::test_yolo_class_filter_is_case_insensitive_and_persists_canonical_class -q` passed.
|
||||
- `python -m pytest backend/tests/test_sprint8b_yolo_foundation.py backend/tests/test_model_asset_catalog.py backend/tests/test_sprint121_real_data_detection_qa_smoke.py backend/tests/test_sprint122_raster_upload_metadata_mapping.py -q` passed: 20 tests.
|
||||
|
||||
Open:
|
||||
- Full readiness, Tower deploy and repeated live real-data smoke still need to be run for this pass.
|
||||
|
||||
Limitations:
|
||||
- This fixes class routing and persistence, not model quality. Thresholds, false positives and reference IoU quality still need calibration on larger local orthophoto samples.
|
||||
|
||||
Next recommended pass:
|
||||
- Redeploy to Tower, rerun the Geel real-data smoke, then inspect persisted detections and QA metrics to choose practical confidence/IoU defaults.
|
||||
|
||||
## Sprint 122 Real operator data availability and raster metadata fix (2026-07-07)
|
||||
|
||||
Changed:
|
||||
@@ -28,11 +50,11 @@ Validation:
|
||||
- detection export: `0081c230-1766-4ff3-8df0-e47236f529d1`
|
||||
|
||||
Limitations:
|
||||
- The workflow is now operational against real operator data, but the active evaluation model returned zero detections on the Geel sample AOI. This is model/data quality evidence, not a platform failure.
|
||||
- The workflow is operational against real operator data. A follow-up class-normalization pass found that the active evaluation model returned `Building` while the workflow filtered on `building`; see Sprint 123.
|
||||
- The prepared files are runtime artifacts on Tower, not repository fixtures.
|
||||
|
||||
Next recommended pass:
|
||||
- Calibrate model selection and confidence/class handling against real Flemish orthophotos, or replace the evaluation model with a detector better aligned to aerial building footprints.
|
||||
- Redeploy the class-normalization fix, rerun the real-data smoke and calibrate confidence/IoU thresholds against persisted detection and QA metrics.
|
||||
|
||||
## Sprint 121 Real data detection and QA workflow smoke (2026-07-07)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user