Siglip2 Custom
Collection
SiglipForImageClassification
•
5 items
•
Updated
•
11
AI-vs-Deepfake-vs-Real-Siglip2 is an image classification vision-language encoder model fine-tuned from google/siglip2-base-patch16-224 for a single-label classification task. It is designed to distinguish AI-generated images, deepfake images, and real images using the SiglipForImageClassification architecture.
The model categorizes images into three classes:
!pip install -q transformers torch pillow gradio
import gradio as gr
from transformers import AutoImageProcessor
from transformers import SiglipForImageClassification
from transformers.image_utils import load_image
from PIL import Image
import torch
# Load model and processor
model_name = "prithivMLmods/AI-vs-Deepfake-vs-Real-Siglip2"
model = SiglipForImageClassification.from_pretrained(model_name)
processor = AutoImageProcessor.from_pretrained(model_name)
def image_classification(image):
"""Classifies an image as AI-generated, deepfake, or real."""
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()
labels = model.config.id2label
predictions = {labels[i]: round(probs[i], 3) for i in range(len(probs))}
return predictions
# Create Gradio interface
iface = gr.Interface(
fn=image_classification,
inputs=gr.Image(type="numpy"),
outputs=gr.Label(label="Classification Result"),
title="AI vs Deepfake vs Real Image Classification",
description="Upload an image to determine whether it is AI-generated, a deepfake, or a real image."
)
# Launch the app
if __name__ == "__main__":
iface.launch()
Classification report:
precision recall f1-score support
AI 0.9794 0.9955 0.9874 1334
Deepfake 0.9931 0.9782 0.9856 1333
Real 0.9992 0.9977 0.9985 1333
accuracy 0.9905 4000
macro avg 0.9906 0.9905 0.9905 4000
weighted avg 0.9906 0.9905 0.9905 4000
The AI-vs-Deepfake-vs-Real-Siglip2 model is designed to classify images into three categories: AI-generated, deepfake, or real. It helps in identifying whether an image is fully synthetic, altered through deepfake techniques, or an unaltered real image.
Base model
google/siglip2-base-patch16-224