Downloads · 30 days
18
35% of all-time downloads
gaetanbrison/deepfake-detector-resnet50-t2v-sora-veo2
deepfake-detector-resnet50-t2v-sora-veo2 is a image classification model from gaetanbrison. Use it when you need a label for an image. It is set up for pytorch. The card lists the license as bsd-3-clause.
Frame-level deepfake detector finetuned on the FakeParts benchmark (sora, veo2, ytb). Designed to score real vs. AI-generated video clips from text-to-video generators (Sora, Veo2).
Downloads · 30 days
18
35% of all-time downloads
All-time downloads
51
Public
Repo size
94.4 MB
Likes
0
Public
Click a slice to open those files.
.pt94.4 MB · 100%
From the Hugging Face model README
Frame-level deepfake detector finetuned on the FakeParts benchmark (sora, veo2, ytb). Designed to score real vs. AI-generated video clips from text-to-video generators (Sora, Veo2).
resnet50| metric | value |
|---|---|
| AP | 0.993 |
| accuracy | 0.973 |
| AUROC | 0.988 |
| sora acc (n=50) | 0.980 |
| veo2 acc (n=50) | 1.000 |
| ytb acc (n=50) | 0.940 |
pip install git+https://github.com/gaetanbrison/deepfake-detector
fpd-predict --ckpt ckpt_best.pt --video path/to/clip.mp4 --num-frames 8
streamlit run app.py -- --ckpt ckpt_best.pt
import torch
from deepfake_detector.models import build_model
state = torch.load("ckpt_best.pt", map_location="cpu", weights_only=False)
cfg = state["config"]
model = build_model(cfg["model"]["name"], **cfg["model"].get("kwargs", {}))
model.load_state_dict(state["model"])
model.eval()
# x: (B, 3, 224, 224) ImageNet-normalised RGB
with torch.no_grad():
prob_fake = torch.softmax(model(x), dim=-1)[:, 1]
For a video, sample 4-8 uniformly-spaced frames and average the per-frame fake-probabilities.