feat: add coverage-aware Mol benchmark
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-14 12:27:48 +02:00
parent 4f0d2891dd
commit 9f61037794
12 changed files with 682 additions and 10 deletions
+21
View File
@@ -17,6 +17,10 @@ Optional environment:
QUALITY_TILE_OVERLAPS Default: 64.
QUALITY_THRESHOLDS Default: 0.15.
REAL_IOU_THRESHOLD Default: 0.25.
MOL_MIN_MEAN_F1 Operational gate, default: 0.25.
MOL_MIN_ZONE_F1 Per-zone collapse gate, default: 0.10.
MOL_MIN_REFERENCE_COVERAGE Minimum evaluated/raw reference ratio, default: 0.95.
MOL_MAX_BACKGROUND_DETECTIONS Maximum detections per pure-empty control, default: 0.
The runner never downloads weights, fetches product providers or uses fixture
outputs. Prepare the documented real orthophoto/GRB files explicitly first.
@@ -41,6 +45,10 @@ QUALITY_TILE_SIZES="${QUALITY_TILE_SIZES:-512}"
QUALITY_TILE_OVERLAPS="${QUALITY_TILE_OVERLAPS:-64}"
QUALITY_THRESHOLDS="${QUALITY_THRESHOLDS:-0.15}"
REAL_IOU_THRESHOLD="${REAL_IOU_THRESHOLD:-0.25}"
MOL_MIN_MEAN_F1="${MOL_MIN_MEAN_F1:-0.25}"
MOL_MIN_ZONE_F1="${MOL_MIN_ZONE_F1:-0.10}"
MOL_MIN_REFERENCE_COVERAGE="${MOL_MIN_REFERENCE_COVERAGE:-0.95}"
MOL_MAX_BACKGROUND_DETECTIONS="${MOL_MAX_BACKGROUND_DETECTIONS:-0}"
if [ "${BASE_URL}" = "-h" ] || [ "${BASE_URL}" = "--help" ]; then
usage
@@ -213,3 +221,16 @@ lines = [
(output_dir / "mol_operational_validation_summary.md").write_text("\n".join(lines) + "\n", encoding="utf-8")
print(json.dumps({"status": summary["status"], "summary_path": str(summary_path)}, indent=2))
PY
"${PYTHON_BIN}" scripts/build_mol_operational_benchmark_report.py \
--positive-summary "${positive_output_dir}/multi_sample_quality_summary.json" \
--background-summary "${background_output_dir}/hard_negative_matrix_summary.json" \
--manifest-path "${OPERATOR_SAMPLE_MANIFEST_PATH}" \
--output-dir "${MOL_VALIDATION_OUTPUT_DIR}" \
--base-url "${BASE_URL}" \
--min-positive-samples 4 \
--min-background-samples 1 \
--min-mean-f1 "${MOL_MIN_MEAN_F1}" \
--min-zone-f1 "${MOL_MIN_ZONE_F1}" \
--min-reference-coverage-ratio "${MOL_MIN_REFERENCE_COVERAGE}" \
--max-background-detections "${MOL_MAX_BACKGROUND_DETECTIONS}"