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