feat(web): pannello diagnostica match (CC) con hint contestuali
MatchResp ora include diag dict (CC feature). UI rendering: - Nuovo pannello pieghevole "🔍 Diagnostica" sotto i tempi - Per ogni match mostra: * pipeline pruning (vars total → top_eval → top_pass → full_eval) * candidati (raw → pre_nms → final) * drop reasons (NCC, score, recall, bbox, NMS) con counter * soglie effettive applicate * flag attivi (polarity, soft, subpix-LM) - Quando 0 match → pannello si apre automaticamente + mostra hint contestuale specifico: * "0 candidati top" → suggerisce ↓ min_score / top_thresh * "tutti dropped da NCC" → ↓ verify_threshold (filtro_fp) * "score post-NCC sotto" → ↓ min_score * "recall basso" → ↓ min_recall * "bbox out-of-scene" → check pose / search_roi Risolve il pattern "0 match perche'?" con guida actionable invece del black-box. Tutti e 3 endpoint match (/match, /match_simple, /match_recipe) propagano il diag. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -217,6 +217,7 @@ class MatchResp(BaseModel):
|
||||
find_time: float
|
||||
num_variants: int
|
||||
annotated_id: str
|
||||
diag: dict | None = None # CC: diagnostica pipeline (drop reasons)
|
||||
|
||||
|
||||
class TuneParams(BaseModel):
|
||||
@@ -521,6 +522,7 @@ def match(p: MatchParams):
|
||||
) for m_ in matches],
|
||||
train_time=t_train, find_time=t_find,
|
||||
num_variants=n, annotated_id=ann_id,
|
||||
diag=m.get_last_diag() if hasattr(m, "get_last_diag") else None,
|
||||
)
|
||||
|
||||
|
||||
@@ -596,6 +598,7 @@ def match_simple(p: SimpleMatchParams):
|
||||
) for mt in matches],
|
||||
train_time=t_train, find_time=t_find,
|
||||
num_variants=n, annotated_id=ann_id,
|
||||
diag=m.get_last_diag() if hasattr(m, "get_last_diag") else None,
|
||||
)
|
||||
|
||||
|
||||
@@ -769,6 +772,7 @@ def match_recipe(p: RecipeMatchParams):
|
||||
) for mt in matches],
|
||||
train_time=0.0, find_time=t_find,
|
||||
num_variants=len(m.variants), annotated_id=ann_id,
|
||||
diag=m.get_last_diag() if hasattr(m, "get_last_diag") else None,
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user