XADE Deepfake Detector

EfficientNet-B4 model trained for deepfake detection as part of the XADE (eXplainable Automated Deepfake Evaluation) thesis project at Jönköping University, 2026.

Model Details

  • Architecture: EfficientNet-B4 with custom two-layer classifier head
  • Task: Binary classification (real vs. fake faces)
  • Training: Progressive mixed training across 4 manipulation types
  • Final checkpoint: Run 4 (140k + CIPLAB + FF++ + Celeb-DF)

Cross-Dataset Performance (AUC-ROC)

Dataset Manipulation Type AUC
140k Real-Fake (training dist.) GAN / StyleGAN synthesis 0.9992
Fake-Vs-Real Hard StyleGAN2 harder cases 0.8948
FF++ derived Neural face swap 0.8789
CIPLAB Photoshop manipulation 0.7563
Celeb-DF v2 High-quality face swap 0.8049

Training Details

  • Base dataset: 140k Real and Fake Faces (StyleGAN-generated)
  • Additional training data: CIPLAB (960 images), FF++ derived (1500 frames), Celeb-DF v2 (~1500 images)
  • Training samples: 100,000 per run (sampled from combined pool)
  • Epochs: 10 (early stopping patience 7)
  • Optimizer: AdamW with differential learning rates (backbone: 1e-4, classifier: 1e-3)
  • Batch size: 64
  • Validation accuracy: 98.51%

Architecture

EfficientNet-B4 (ImageNet pretrained, last 30% unfrozen)
└── Custom classifier head:
    Dropout(0.5)
    Linear(in_features → 512)
    ReLU
    BatchNorm1d(512)
    Dropout(0.4)
    Linear(512 → 2)

Usage

import torch
from huggingface_hub import hf_hub_download
from torchvision.models import efficientnet_b4
import torch.nn as nn

# Download model
model_path = hf_hub_download(
    repo_id="viktorahnstrom/xade-deepfake-detector",
    filename="best_model.pt"
)

# Load checkpoint
checkpoint = torch.load(model_path, map_location="cpu", weights_only=False)
print(f"Trained for {checkpoint['epoch']} epochs")
print(f"Classes: {checkpoint['class_names']}")  # ['fake', 'real']

Citation

@misc{xade2026,
  author = {Viktor Ahnström and Viktor Carlsson},
  title = {XADE: Cross-Platform Explainable Deepfake Detection
           Using Vision-Language Models},
  year = {2026},
  institution = {Jönköping University},
  howpublished = {\url{https://huggingface.co/viktorahnstrom/xade-deepfake-detector}}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support