Record YOLO max detection live calibration
This commit is contained in:
@@ -22,10 +22,22 @@ Tested:
|
||||
- `python -m pytest backend\tests\test_sprint8b_yolo_foundation.py::test_yolo_adapter_converts_single_band_tiles_to_rgb_before_prediction backend\tests\test_sprint8b_yolo_foundation.py::test_yolo_adapter_uses_configured_max_detections -q` (`2 passed`)
|
||||
- Red step: Docker runtime config tests failed before `.env.example` and Unraid runner exposed `YOLO_MAX_DETECTIONS`.
|
||||
- `python -m pytest backend\tests\test_docker_runtime_config.py::test_env_example_uses_runtime_env_names_read_by_backend_and_frontend backend\tests\test_docker_runtime_config.py::test_unraid_deploy_passes_ai_build_arg_and_yolo_runtime_env backend\tests\test_sprint8b_yolo_foundation.py -q` (`16 passed`)
|
||||
- `bash scripts/run_readiness_check.sh` (`425 passed`, frontend typecheck/build passed)
|
||||
- Redeployed Tower all-in-one image with AI dependencies and verified `YOLO_MAX_DETECTIONS=1000` in the live container.
|
||||
- Tower live migration smoke passed against embedded PostGIS.
|
||||
- Live Westerlo calibration with `geointel-building-yolov8s-aoi512e80-pt`:
|
||||
- `0.25`: 270 detections, F1 `0.23509933774834438`
|
||||
- `0.15`: 523 detections, F1 `0.19603267211201864`
|
||||
- `0.05`: 1000 detections, F1 `0.13193403298350823`
|
||||
- Live Turnhout calibration with `geointel-building-yolov8s-aoi512e80-pt`:
|
||||
- `0.25`: 822 detections, F1 `0.1304075235109718`
|
||||
- `0.15`: 1000 detections, F1 `0.13085166384658772`
|
||||
- `0.05`: 1000 detections, F1 `0.13085166384658772`
|
||||
|
||||
Open:
|
||||
- Rebuild/redeploy the Tower all-in-one image before rerunning live calibration so the container uses `YOLO_MAX_DETECTIONS=1000`.
|
||||
- After deploy, rerun at least one high-density AOI calibration to confirm detection counts are no longer capped at 300.
|
||||
Conclusion:
|
||||
- The former 300-detection runtime cap is removed; dense AOIs can now persist more candidates.
|
||||
- The current AOI512 YOLOv8s candidate remains rejected for operational use because precision/recall quality is still too low and low thresholds saturate the configured `1000` cap.
|
||||
- Next model work should focus on training data coverage, label strategy and post-processing/NMS behavior rather than only threshold lowering.
|
||||
|
||||
## Sprint 147 AOI512 YOLOv8s scale-match candidate gate (2026-07-09)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user