Fire-Risk-Detection / README.md
prithivMLmods's picture
Update README.md
ddd4469 verified
metadata
license: apache-2.0
datasets:
  - blanchon/FireRisk
language:
  - en
base_model:
  - google/siglip2-base-patch16-224
pipeline_tag: image-classification
library_name: transformers
tags:
  - fire-risk
  - detection
  - siglip2

zdfbdzf.png

Fire-Risk-Detection

Fire-Risk-Detection is a multi-class image classification model based on google/siglip2-base-patch16-224, trained to detect fire risk levels in geographical or environmental imagery. This model can be used for wildfire monitoring, forest management, and environmental safety.


Classification Report:
              precision    recall  f1-score   support

        high     0.4430    0.3382    0.3835      6296
         low     0.3666    0.2296    0.2824     10705
    moderate     0.3807    0.3757    0.3782      8617
non-burnable     0.8429    0.8385    0.8407     17959
   very_high     0.3920    0.3400    0.3641      3268
    very_low     0.6068    0.7856    0.6847     21757
       water     0.9241    0.7744    0.8427      1729

    accuracy                         0.6032     70331
   macro avg     0.5652    0.5260    0.5395     70331
weighted avg     0.5860    0.6032    0.5878     70331

download.png

Label Classes

The model distinguishes between the following fire risk levels:

0: high  
1: low  
2: moderate  
3: non-burnable  
4: very_high  
5: very_low  
6: water

Installation

pip install transformers torch pillow gradio

Example Inference Code

import gradio as gr
from transformers import AutoImageProcessor, SiglipForImageClassification
from PIL import Image
import torch

# Load model and processor
model_name = "prithivMLmods/Fire-Risk-Detection"
model = SiglipForImageClassification.from_pretrained(model_name)
processor = AutoImageProcessor.from_pretrained(model_name)

# ID to label mapping
id2label = {
    "0": "high",
    "1": "low",
    "2": "moderate",
    "3": "non-burnable",
    "4": "very_high",
    "5": "very_low",
    "6": "water"
}

def detect_fire_risk(image):
    image = Image.fromarray(image).convert("RGB")
    inputs = processor(images=image, return_tensors="pt")

    with torch.no_grad():
        outputs = model(**inputs)
        logits = outputs.logits
        probs = torch.nn.functional.softmax(logits, dim=1).squeeze().tolist()

    prediction = {id2label[str(i)]: round(probs[i], 3) for i in range(len(probs))}
    return prediction

# Gradio Interface
iface = gr.Interface(
    fn=detect_fire_risk,
    inputs=gr.Image(type="numpy"),
    outputs=gr.Label(num_top_classes=7, label="Fire Risk Level"),
    title="Fire-Risk-Detection",
    description="Upload an image to classify the fire risk level: very_low, low, moderate, high, very_high, non-burnable, or water."
)

if __name__ == "__main__":
    iface.launch()

Applications

  • Wildfire Early Warning Systems
  • Environmental Monitoring
  • Land Use Assessment
  • Disaster Preparedness and Mitigation