|
|
--- |
|
|
license: mit |
|
|
library_name: transformers |
|
|
tags: |
|
|
- pytorch |
|
|
- image-classification |
|
|
--- |
|
|
|
|
|
# Deepfake Detection that Generalizes Across Benchmarks (WACV 2026) |
|
|
|
|
|
|
|
|
[](https://arxiv.org/abs/2508.06248) |
|
|
[](https://github.com/yermandy/GenD) |
|
|
|
|
|
This is the GenD (PE) model from Tab. 2 in the paper. |
|
|
|
|
|
## Set up environment |
|
|
|
|
|
``` bash |
|
|
conda create --name GenD python=3.12 uv |
|
|
conda activate GenD |
|
|
uv pip install -r requirements.txt |
|
|
``` |
|
|
|
|
|
## Usage |
|
|
|
|
|
``` python |
|
|
import requests |
|
|
import torch |
|
|
from PIL import Image |
|
|
|
|
|
from src.hf.modeling_gend import GenD |
|
|
|
|
|
model = GenD.from_pretrained("yermandy/GenD_PE_L") |
|
|
|
|
|
urls = [ |
|
|
"https://github.com/yermandy/deepfake-detection/blob/main/datasets/FF/DF/000_003/000.png?raw=true", |
|
|
"https://github.com/yermandy/deepfake-detection/blob/main/datasets/FF/real/000/000.png?raw=true", |
|
|
] |
|
|
images = [Image.open(requests.get(url, stream=True).raw) for url in urls] |
|
|
tensors = torch.stack([model.feature_extractor.preprocess(img) for img in images]) |
|
|
logits = model(tensors) |
|
|
probs = logits.softmax(dim=-1) |
|
|
|
|
|
print(probs) |
|
|
``` |
|
|
|