| import gradio as gr |
| from transformers import pipeline |
| from PIL import Image |
|
|
| |
| deepfake_detector = pipeline("image-classification", model="Wvolf/ViT_Deepfake_Detection") |
|
|
| def detect_deepfake(image): |
| result = deepfake_detector(image) |
| prediction = max(result, key=lambda x: x['score']) |
| label = prediction['label'].lower() |
| confidence = prediction['score'] * 100 |
|
|
| |
| if label == "fake" and confidence > 75: |
| verdict = f"🚨 Deepfake Detected! FAKE with {confidence:.2f}% confidence." |
| elif label == "real" and confidence > 75: |
| verdict = f"✅ REAL image with {confidence:.2f}% confidence." |
| else: |
| verdict = f"⚠️ Uncertain — low confidence: {label.upper()} with {confidence:.2f}% confidence." |
|
|
| return verdict |
|
|
| |
| iface = gr.Interface( |
| fn=detect_deepfake, |
| inputs=gr.Image(type="pil", label="Upload an Image", sources=["upload"]), |
| outputs="text", |
| title="Deepfake Confidence Score Detector", |
| description="Upload an image to check if it's a deepfake. Powered by Hugging Face Transformers." |
| ) |
|
|
|
|
| if __name__ == "__main__": |
| iface.launch() |
|
|