SigLIP2 Content Filters 052025 Patch 1
					Collection
				
Moderation, Balance, Classifiers
					• 
				7 items
				• 
				Updated
					
				•
					
					1
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
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
pip install transformers torch pillow gradio
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()
Base model
google/siglip2-base-patch16-224