File size: 2,590 Bytes
c50fb9a
e001be0
2ce7670
 
 
 
e001be0
7a170d6
2f5b1ac
e001be0
 
7b35fb0
 
 
 
c50fb9a
de177d5
 
aa06c8e
7b35fb0
aa06c8e
7b35fb0
bb36ed6
7820d58
7b35fb0
bb36ed6
7b35fb0
482ab4f
7b35fb0
482ab4f
7b35fb0
 
 
 
bb36ed6
7b35fb0
bb36ed6
7b35fb0
bb36ed6
7b35fb0
 
 
bb36ed6
7b35fb0
bb36ed6
7b35fb0
bb36ed6
 
7b35fb0
 
bb36ed6
 
 
7b35fb0
c1001e7
7b35fb0
 
bb36ed6
7b35fb0
 
bb36ed6
7b35fb0
 
 
bb36ed6
7b35fb0
 
 
 
46438bd
7b35fb0
 
 
5bab673
7b35fb0
5bab673
7b35fb0
 
 
 
 
 
 
 
bb36ed6
7b35fb0
 
 
bb36ed6
7b35fb0
bb36ed6
7b35fb0
bb36ed6
7b35fb0
bb36ed6
7b35fb0
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
---
license: apache-2.0
pipeline_tag: image-classification
library_name: transformers
tags:
- deep-fake
- ViT
- detection
- Image
base_model:
- google/vit-base-patch16-224-in21k
datasets:
- prithivMLmods/OpenDeepfake-Preview
language:
- en
---
 
![DF.png](https://cdn-uploads.huggingface.co/production/uploads/65bb837dbfb878f46c77de4c/du5WF3GmRq5czAvXyuggx.png)

# deepfake-detector-model

> deepfake-detector-model is a vision-language model fine-tuned from `google/vit-base-patch16-224-in21k` for binary image classification. It is trained to detect whether an image is fake or real using the *OpenDeepfake-Preview* dataset. The model uses the `ViTForImageClassification` architecture.


---

## Label Space: 2 Classes

The model classifies an image as either:

```
Class 0: fake  
Class 1: real
```

---

## Install Dependencies

```bash
pip install -q transformers torch pillow gradio hf_xet
```

---

## Inference Code

```python
import gradio as gr
from transformers import ViTImageProcessor, ViTForImageClassification
from PIL import Image
import torch

# Load model and processor
model_name = "prithivMLmods/deepfake-detector-model"
model = ViTForImageClassification.from_pretrained(model_name)
processor = ViTImageProcessor.from_pretrained(model_name)

# Updated label mapping
labels_list = ['fake', 'real']

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 = {
        labels_list[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=2, label="Deepfake Detection"),
    title="deepfake-detector-model",
    description="Upload an image to detect whether it is AI-generated (fake) or a real photograph (real), using the OpenDeepfake-Preview dataset."
)

if __name__ == "__main__":
    iface.launch()
```

---

## Intended Use

`deepfake-detector-model` is designed for:

* **Deepfake Detection** – Identify AI-generated or manipulated images.
* **Content Moderation** – Flag synthetic or fake visual content.
* **Dataset Curation** – Remove synthetic samples from mixed datasets.
* **Visual Authenticity Verification** – Check the integrity of visual media.
* **Digital Forensics** – Support image source verification and traceability.