{
  "model": "/kaggle/working/shifa/ml/models/shifa-guard-weapon-detector/best.pt",
  "data_yaml": "/kaggle/working/shifa/ml/data/guard/weapon_detection/data.yaml",
  "split": "test",
  "classes": [
    "GUN",
    "KNIFE",
    "PERSON"
  ],
  "alert_classes": [
    "GUN"
  ],
  "experimental_classes": [
    "KNIFE"
  ],
  "thresholds": {
    "runtime_confirm_confidence": 0.65,
    "min_gun_map50": 0.6,
    "min_alert_map50": 0.6,
    "fail_on_validation": true
  },
  "metrics": {
    "map50": 0.36257110645582424,
    "map50_95": 0.251928127535499,
    "precision": 0.4752475247524752,
    "recall": 0.24242424242424243,
    "per_class_map50": {
      "GUN": 0.7251422129116485,
      "KNIFE": 0.0
    },
    "alert_map50": 0.7251422129116485,
    "gun_map50": 0.7251422129116485,
    "knife_map50": 0.0
  },
  "passed_targets": {
    "gun_map50": true,
    "alert_map50": true
  },
  "notes": "Only GUN/firearm detections are validated for emergency alerting. KNIFE is reported as experimental and must not trigger dispatch alone."
}
