--- license: agpl-3.0 pipeline_tag: object-detection tags: - yolo - yolo11 - ultralytics - wildfire - smoke-detection - early-warning --- # FireSmockDetect — wildfire smoke detectors Trained checkpoints from the FireSmockDetect project (code, protocols and full reports: https://github.com/TianchenGuan/FireSmockDetect). Task: single-class ("smoke") detection on RGB images from fixed lookout cameras and drones, tuned for FAINT early-stage plumes. ## Checkpoints | file | arch | params | train data | role | |---|---|---|---|---| | `expB_y11s_deployed.pt` | YOLO11s @1280 | 9.4 M | pyro-sdis train + D-Fire train | production default of the project service | | `v5bA_y11m_best.pt` | YOLO11m @1280 | 20.1 M | same recipe, retrained (v5b arm A, seed 3) | best fixed-camera model on the frozen test | | `v6A_y11n/v6A_y11n_best.pt` | YOLO11n @1280 | 2.59 M | pyro-sdis train + D-Fire train (real only) | v6 edge model (+ ONNX / TFLite fp16 / TFLite INT8 3.6 MB) | ## Headline numbers (frozen pyro-sdis TEST, matched negative-image FP rate, IoU≥0.4) | model | R@5%FP | R@10%FP | R@20%FP | |---|---|---|---| | v5bA_y11m_best | 0.287 | **0.388** | 0.553 | | expB_y11s_deployed | 0.258 | 0.354 | 0.501 | Full per-source tables, aerial-vs-fixed splits, and negative results (data, distillation and ensemble variants that did NOT beat these) are in the GitHub reports (`reports/v5b/FINAL_REPORT_V5B.md`). ## Usage ```python from ultralytics import YOLO model = YOLO("v5bA_y11m_best.pt") res = model.predict("image.jpg", imgsz=1280, conf=0.10) ``` Pick the operating confidence from your own tolerated false-positive rate; the project calibrates thresholds per deployment scenario (fixed camera vs aerial) — see the repo's eval tooling. ## Limitations - Faint-smoke recall at low FP is the binding constraint (see table); this is an assistance tool, not a certified alarm system. - Thresholds do NOT transfer between fixed-camera and aerial imagery. - No early-warning (time-to-first-alert) claim is made: qualified smoke-onset footage was unavailable (documented in the v5 protocol). - Training data: pyro-sdis and D-Fire (original authors' labels). FIgLib / HPWREN (CC BY-NC-ND) was never used for training. ## License AGPL-3.0 (derivatives of Ultralytics YOLO11). Dataset licences remain with their owners. ## v6 edge release (YOLO11n, real-data-only) `v6A_y11n/` contains the frozen v6 deliverable: PyTorch checkpoint, ONNX, TFLite fp16 and TFLite INT8 (3.6 MB), plus `infer.py` — a single-command offline image/video inference script (PyTorch / ONNX / TFLite backends) — and the export report. Frozen pyro-sdis TEST (matched negative-image FP, IoU≥0.4): R@5% 0.243, R@10% 0.344 — the best nano-scale model of the v6 matrix. Deployment validation of the INT8 file itself on the project val set: no loss at the 2%/5% FP operating points, −2.1 pt at 10% (traced to graph conversion, not quantization; fp16 TFLite is bit-identical in accuracy). Suggested confidence thresholds from the INT8 file's own val curve: 0.73 / 0.68 / 0.62 for ~2 / 5 / 10 % negative-image FP. CPU x86 median forward latency 45.8 ms (proxy; on-device latency unmeasured). v6 synthetic-data result (pre-registered, reported as-is): neither procedural compositing nor repaired generative image-to-image synthesis improved real-data evaluation at matched optimizer steps; seed spread (±3 pt) exceeded all between-arm differences. Full protocol and reports in the GitHub repo (`reports/v6/`, `reports/v6/repair/`, `reports/v6/sprint/`).