Promote focused small-building detector
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-13 12:15:27 +02:00
parent b3f7c3ca63
commit 1689dce928
20 changed files with 546 additions and 61 deletions
+1 -1
View File
@@ -124,7 +124,7 @@ AI Lab run controls explicitly explain when no raster dataset is available, inst
- Detection Lab now exposes the `yolo-configured` capability reported by the backend.
- When `yolo-configured` is selected, users can provide an existing raster tile manifest path.
- Detection Lab lists local model assets from `GET /api/v1/detection/model-assets` so operators can choose an existing mounted model file instead of editing only one hidden `YOLO_MODEL_PATH` slot.
- Detection Lab exposes explicit operator profiles for the local AOI1024 building detector: balanced review at threshold `0.15` remains candidate-only, while conservative review at threshold `0.35` is marked as the promoted profile after the split-background pure-empty gate passed.
- Detection Lab exposes explicit operator profiles for mounted local building detectors. The focused small-building model is the recommended recall-balanced `0.15` profile; the previous expanded-AOI `0.15` model remains available for higher precision, and the background-aware `0.35` model remains the conservative review choice. Applying a profile never downloads weights, changes runtime environment or starts inference automatically.
- Applying a profile deliberately selects the local model asset and threshold for the browser-run request; runtime default activation remains a separate guarded `.env` operation through `scripts/activate_promoted_yolo_candidate.py`.
- Detection Lab includes a read-only YOLO runtime preflight panel with backend status, dependency visibility, local model configuration, `torch`/`ultralytics` versions, CUDA state and `YOLO_CONFIG_DIR`.
- The UI still does not download models or create fake detections; backend status and error codes remain the source of truth.
@@ -15,9 +15,26 @@ export interface DetectionOperatorProfile {
}
export const DETECTION_OPERATOR_PROFILES: DetectionOperatorProfile[] = [
{
id: 'small-building-balanced-review',
displayName: 'Recommended small-building review',
modelAssetId: 'geointel-building-yolov8s-smallbld-minpx3-img640-ft30-pt',
confidenceThreshold: 0.15,
defaultApproved: true,
promotionRecommendation: 'promote_candidate',
precision: 0.5898197517793451,
recall: 0.576992100419565,
f1: 0.5824578631584316,
positiveSampleCount: 7,
maxBackgroundDetections: 0,
description:
'Recommended recall-balanced profile for building review, with improved small-building coverage across seven Kempen AOIs.',
limitationMessage:
'The pure-empty gate passed and persisted QA found 1,571 fewer false negatives than the previous balanced profile; expect a higher false-positive review load.',
},
{
id: 'expanded-balanced-review',
displayName: 'Recommended balanced review',
displayName: 'Legacy expanded balanced review',
modelAssetId: 'geointel-building-yolov8s-aoi1024expandedminpx4vis035e50-pt',
confidenceThreshold: 0.15,
defaultApproved: true,
@@ -27,9 +44,9 @@ export const DETECTION_OPERATOR_PROFILES: DetectionOperatorProfile[] = [
f1: 0.5432865390636915,
positiveSampleCount: 7,
maxBackgroundDetections: 0,
description: 'Recommended expanded-AOI profile for balanced building review across the validated Kempen samples.',
description: 'Legacy expanded-AOI profile for review sessions where precision matters more than the newest recall gain.',
limitationMessage:
'Default-approved after the pure-empty gate passed; persistent small-building misses still require operator QA.',
'The pure-empty gate passed; this profile has fewer false positives but more persistent small-building misses than the recommended profile.',
},
{
id: 'conservative-review',