DINOv2 Small · fire-associated smoke compatibility · v2.5
Quick card
| Field | Reference |
|---|---|
| Use | Estimate fire-associated smoke compatibility with an abstention interval. |
| Expected input | ROI without confirmed flame; 45% context, minimum side 160, bicubic 448×448 and ImageNet normalization. |
| Example | An eligible ROI → temperature-scaled compatibility and low / abstain / high decision. |
| Limits | No smoke point, source location, mask or physical aerosol density is inferred. |
| Contract | English pipeline · Reproducible loading |
Choose a variant · Resource navigation · Update log
retained smoke branch
Binary fire-associated smoke compatibility, not smoke-source pointing or physical aerosol density. A probable-fire ROI with no confirmed visible flame can be routed here. Input: RGB crop with 45% context per side, minimum side 160, bicubic 448×448 resize and ImageNet normalization. DINOv2 ViT-S/14 CLS embedding (384) → LayerNorm → dropout 0.15 → linear logit. Output is temperature-scaled compatibility with a low/high decision and an abstention interval. Rejected smoke keypoints, masks and spatial-refiner runs are not included.
Positive labels require retained provenance supporting fire-associated smoke or visible flame elsewhere in the source image. Crops containing a flame fragment are excluded, as are unsupported associations; ambiguous is an inference abstention state, not a third training label. Training membership is not gated by another model's predicted absence of flame. Linked v2.5-smoke-from-fire-probability: 50,183 train / 12,106 validation public ROIs, a rights-filtered subset of the retained full run corpus.
Run 20261005-075018-dinov2_vits14: 3 head-only epochs then 5 epochs with the last two backbone blocks unfrozen, batch 48, BF16, seed 42. Head LR 3e-4, backbone LR 5e-6, weight decay 0.05, 0.5-epoch warmup and cosine decay per phase. Best checkpoint is tail phase E3 (overall E6) by selection-fold AUPRC. Eight epochs completed. Official DINOv2 source is pinned at 7764ea0f912e53c92e82eb78a2a1631e92725fc8.
Selection, calibration and independent audit
Retained validation crops are grouped by original-image SHA-256, deterministic seed 42: 40% selection, 20% temperature fitting, 20% threshold fitting, 20% independent audit. Selection support was 4,810 crops. Thresholds are selected only when support ≥30 and the 95% Wilson lower bound meets the target: high precision ≥0.90, low negative predictive value (NPV) ≥0.95. No arbitrary fallback is enabled.
Temperature T=1.1490650177001953; probability sigmoid(logit / T).
| Decision | Threshold | Threshold-fold support | Observed value | Wilson 95% lower |
|---|---|---|---|---|
| low compatibility | ≤0.301602764 | 1,015 low decisions | NPV 0.963547 | 0.950159 |
| fire-smoke probable | ≥0.819975033 | 877 high decisions | precision 0.920182 | 0.900359 |
| ambiguous | between | — | abstain | — |
Independent audit: 2,476 crops, 1,198 positives / 1,278 negatives. This is independent of calibration/selection folds, but not an independent incident dataset or full-cascade audit. Metrics below include temperature scaling; audit thresholds are reused unchanged.
| Audit metric | Value |
|---|---|
| AUROC / AUPRC | 0.948998 / 0.933930 |
| Precision / Recall / F1 at 0.50 | 0.859177 / 0.906511 / 0.882210 |
| Brier score | 0.086632 |
| Abstention fraction | 0.239903 |
| High precision, 861 high decisions | 0.930314 |
| Low NPV, 1,021 low decisions | 0.963761 |
| Tiny-positive recall at 0.50, 458 tiny positives | 0.877729 |
| Tiny-positive recall at high threshold | 0.554585 |
AUPRC depends on audit prevalence. Raising the gate to the high threshold materially reduces tiny-smoke recall. These confidence targets are population-specific, not universal safety guarantees. Calibration must be reevaluated for other cameras, weather and sources.
Original calibrated export SHA-256 d7a0c73de8203fdecce828256555ca138d4fa02d46e7f532483109af8acd0eb2; selected training checkpoint SHA-256 e686c3503a362ab9316205dadc9a1911feac9d3fe335a02db87b6b06a4779dc3; public safe tensor SHA-256 1783452a9aaf92b0ce6b31093a0e33335fa9eea1f5e84b9af64d0466c640026f. calibration.json preserves the fold measurements and support, separate from the weights.
Reproducible loading
The release contains tensor-only model.safetensors, a plain config.json, an explicit inference.py and checksum provenance. Download a revision-pinned snapshot, install the repository's requirements, and load it explicitly. No Hugging Face trust_remote_code is required. The optional smoke backbone fetches a pinned official Facebook Research Torch Hub source; inspect and cache that source for an offline deployment. RF-DETR 1.11 requires a native wrapper; the helper creates it locally from safe tensors and JSON, never from an external pickle.
from huggingface_hub import snapshot_download
import importlib.util
root = snapshot_download(REPOSITORY, revision=REVISION)
spec = importlib.util.spec_from_file_location('fireviewer_inference', root + '/inference.py')
fv = importlib.util.module_from_spec(spec)
spec.loader.exec_module(fv)
model, config = fv.load_model(root, device='cpu') # or cuda
Set REPOSITORY to this repository ID and REVISION to a full commit SHA from its Files tab. The complete inference CLI and geometry are documented in PIPELINE_EN.md and PIPELINE_FR.md. This is an explicit PyTorch research interface, not a Transformers AutoModel export.
Scope, rights and limitations
These checkpoints are retained research results. The original TEST set was locked during selection; no final held-out TEST score is claimed. Exact-byte/decoded-image duplicate checks were performed upstream, but event-level independence and deployment-domain transfer remain unestablished. Public linked data are rights-filtered subsets of the retained training corpus, not a byte-for-byte reproduction of the full training set. Private MyData_Fire and undocumented With-Augmentation-Big-1 images are absent from public datasets. Publicly releasing a checkpoint does not establish deployment qualification.
The model/code release uses Apache-2.0; RF-DETR and DINOv2 upstream notices must be retained. Image rights are separate and source-specific. Predictions are visual estimates, with possible missed fire, smoke confusion, lighting artifacts and source annotation omissions. They are not a calibrated emergency alarm or geographic ignition estimate. See each linked dataset's notices before reusing images.
DINOv2 paper, official source.
LiteRT FP32 export
The selected weights above are also available as a verified LiteRT inference package. It includes real CPU PyTorch/LiteRT parity evidence, output/class/preprocessing contracts, an Android ModelConfig and a Cadryl StudioPack. Static batch 1; no new training or quantization; Android-device qualification remains open. Full English/French cascade and external benchmark.
Likes are always welcome! ❤️ If these resources help you, a little heart makes our day and helps others discover the work. Thank you!