Shravanig/fire_detection_final
Viewer • Updated • 7.58k • 40 • 2
How to use prithivMLmods/Forest-Fire-Detection with Transformers:
# Use a pipeline as a high-level helper
from transformers import pipeline
pipe = pipeline("image-classification", model="prithivMLmods/Forest-Fire-Detection")
pipe("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/parrots.png") # Load model directly
from transformers import AutoProcessor, AutoModelForImageClassification
processor = AutoProcessor.from_pretrained("prithivMLmods/Forest-Fire-Detection")
model = AutoModelForImageClassification.from_pretrained("prithivMLmods/Forest-Fire-Detection")# Load model directly
from transformers import AutoProcessor, AutoModelForImageClassification
processor = AutoProcessor.from_pretrained("prithivMLmods/Forest-Fire-Detection")
model = AutoModelForImageClassification.from_pretrained("prithivMLmods/Forest-Fire-Detection")
Forest-Fire-Detectionis a vision-language encoder model fine-tuned fromgoogle/siglip2-base-patch16-512for multi-class image classification. It is trained to detect whether an image contains fire, smoke, or a normal (non-fire) scene. The model uses theSiglipForImageClassificationarchitecture.
SigLIP 2: Multilingual Vision-Language Encoders with Improved Semantic Understanding, Localization, and Dense Features : https://arxiv.org/pdf/2502.14786
Classification Report:
precision recall f1-score support
Fire 0.9960 0.9896 0.9928 2020
Normal 0.9902 0.9960 0.9931 2020
Smoke 0.9995 1.0000 0.9998 2020
accuracy 0.9952 6060
macro avg 0.9952 0.9952 0.9952 6060
weighted avg 0.9952 0.9952 0.9952 6060
Class 0: Fire
Class 1: Normal
Class 2: Smoke
pip install -q transformers torch pillow gradio hf_xet
import gradio as gr
from transformers import AutoImageProcessor, SiglipForImageClassification
from PIL import Image
import torch
# Load model and processor
model_name = "prithivMLmods/Forest-Fire-Detection" # Update with actual model name on Hugging Face
model = SiglipForImageClassification.from_pretrained(model_name)
processor = AutoImageProcessor.from_pretrained(model_name)
# Updated label mapping
id2label = {
"0": "Fire",
"1": "Normal",
"2": "Smoke"
}
def classify_image(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=classify_image,
inputs=gr.Image(type="numpy"),
outputs=gr.Label(num_top_classes=3, label="Forest Fire Detection"),
title="Forest-Fire-Detection",
description="Upload an image to detect whether the scene contains fire, smoke, or is normal."
)
if __name__ == "__main__":
iface.launch()
Forest-Fire-Detection is designed for:
Base model
google/siglip2-base-patch16-512
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-classification", model="prithivMLmods/Forest-Fire-Detection") pipe("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/hub/parrots.png")