File size: 1,347 Bytes
71ae3d3 479cc25 71ae3d3 479cc25 71ae3d3 479cc25 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # 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
|