--- tags: - element_type:detect - model:onnxruntime - subnet:winner - object:fire - object:smoke - object:fire extinguisher manako: source: winner_fetch manifest_element_name: manak0/Detect-fire winner_repo_id: meaculpitt/ScoreVision-Fire winner_revision: 71ae3d3e59ced8b330eea5e95710318175bb1342 note: E=0.11785877 (map50=0.600000, size_mb=5.090839) --- # ScoreVision-Fire — meaculpitt v2.1 SN44 fire-detection miner for the `manak0/Detect-fire` element. ## Pipeline - **Architecture**: yolo26n - **Resolution**: 1408×768 input → letterbox → 960×960 - **Preprocessing**: `cv2.dnn.blobFromImage` (fused C++ resize+normalize+transpose) - **Inference**: single-pass FP16 ONNX, NMS baked in - **Output shape**: `[1, 300, 6]` (xyxy, conf, cls) - **Latency**: ~35 ms p95 on RTX 4090 (fits the 50 ms gate) ## Classes (validator GT order, NOT the published class_names.txt order) - 0: fire - 1: smoke - 2: fire extinguisher Verified by audit of alfred8995/fire001 (scores 1.00) and navierstocks/fire (scores 0.96): both use [fire, smoke, fire_extinguisher] and the validator's GT order matches. Our model was trained with [fire, fire_ext, smoke]; miner.py applies cls_remap=[0,2,1] to translate model output to validator index. ## Training - 22,796 training images (validator-synth + Simuletic + D-Fire + z5atr, SHA1 deduped) - 2,532 validation images (random 90/10 split, seed=42) - 100 epochs, yolo26n, imgsz=960, batch=8, AdamW lr0=0.001 cos_lr - CCTV augmentation chain (cctv_aug_patch) ## Benchmarks - Broader merged val mAP50: 0.785 - Validator-distribution synth val mAP50: 0.640 (+24.7 pts above 0.393 baseline) - Per-class on synth val: fire=0.523, fire_extinguisher=0.647, smoke=0.749