prithivMLmods's picture
Update README.md
b39d0cf verified
---
license: apache-2.0
datasets:
- prithivMLmods/Deepfake-vs-Real
language:
- en
base_model:
- prithivMLmods/Deepfake-Detection-Exp-02-21
pipeline_tag: image-classification
library_name: transformers
tags:
- Deepfake
---
![3.png](https://cdn-uploads.huggingface.co/production/uploads/65bb837dbfb878f46c77de4c/PxdwhpADOqXaQ5hXXCPss.png)
# **Deepfake-Detection-Exp-02-21-ONNX**
Deepfake-Detection-Exp-02-21 is a minimalist, high-quality dataset trained on a ViT-based model for image classification, distinguishing between deepfake and real images. The model is based on Google's **`google/vit-base-patch16-224-in21k`**.
```bitex
Mapping of IDs to Labels: {0: 'Deepfake', 1: 'Real'}
Mapping of Labels to IDs: {'Deepfake': 0, 'Real': 1}
```
```py
Classification report:
precision recall f1-score support
Deepfake 0.9962 0.9806 0.9883 1600
Real 0.9809 0.9962 0.9885 1600
accuracy 0.9884 3200
macro avg 0.9886 0.9884 0.9884 3200
weighted avg 0.9886 0.9884 0.9884 3200
```
![download.png](https://cdn-uploads.huggingface.co/production/uploads/6720824b15b6282a2464fc58/0ISoyjxLs-zpqt9Gv4YRo.png)
# **Inference with Hugging Face Pipeline**
```python
from transformers import pipeline
# Load the model
pipe = pipeline('image-classification', model="prithivMLmods/Deepfake-Detection-Exp-02-21", device=0)
# Predict on an image
result = pipe("path_to_image.jpg")
print(result)
```
# **Inference with PyTorch**
```python
from transformers import ViTForImageClassification, ViTImageProcessor
from PIL import Image
import torch
# Load the model and processor
model = ViTForImageClassification.from_pretrained("prithivMLmods/Deepfake-Detection-Exp-02-21")
processor = ViTImageProcessor.from_pretrained("prithivMLmods/Deepfake-Detection-Exp-02-21")
# Load and preprocess the image
image = Image.open("path_to_image.jpg").convert("RGB")
inputs = processor(images=image, return_tensors="pt")
# Perform inference
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
predicted_class = torch.argmax(logits, dim=1).item()
# Map class index to label
label = model.config.id2label[predicted_class]
print(f"Predicted Label: {label}")
```
# **Limitations**
1. **Generalization Issues** – The model may not perform well on deepfake images generated by unseen or novel deepfake techniques.
2. **Dataset Bias** – The training data might not cover all variations of real and fake images, leading to biased predictions.
3. **Resolution Constraints** – Since the model is based on `vit-base-patch16-224-in21k`, it is optimized for 224x224 image resolution, which may limit its effectiveness on high-resolution images.
4. **Adversarial Vulnerabilities** – The model may be susceptible to adversarial attacks designed to fool vision transformers.
5. **False Positives & False Negatives** – The model may occasionally misclassify real images as deepfake and vice versa, requiring human validation in critical applications.
# **Intended Use**
1. **Deepfake Detection** – Designed for identifying deepfake images in media, social platforms, and forensic analysis.
2. **Research & Development** – Useful for researchers studying deepfake detection and improving ViT-based classification models.
3. **Content Moderation** – Can be integrated into platforms to detect and flag manipulated images.
4. **Security & Forensics** – Assists in cybersecurity applications where verifying the authenticity of images is crucial.
5. **Educational Purposes** – Can be used in training AI practitioners and students in the field of computer vision and deepfake detection.