YAML Metadata Warning: empty or missing yaml metadata in repo card (https://huggingface.co/docs/hub/model-cards#model-card-metadata)

One-Class Deepfake Detector

Model Details

  • Architecture: Hybrid CNN + ViT + FFT Frequency Features
  • Training Images: 50,000 real images only
  • Final Radius: 352.6608
  • Final Loss: 124397.0862
  • Embedding Dim: 512

How It Works

This is a one-class anomaly detector using DeepSVDD (Deep Support Vector Data Description). It learns a "hypersphere" around real images in embedding space. Images far from this hypersphere are considered anomalous (fake).

Usage

import torch
from PIL import Image
import torchvision.transforms as transforms

# Load model
model_data = torch.load('deepfake_detector_model/deepsvdd_model.pth')
# Initialize your model and load weights
# model.load_state_dict(model_data['model_state_dict'])

# Preprocess image
transform = transforms.Compose([
    transforms.Resize((224, 224)),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])

image = Image.open('test.jpg').convert('RGB')
image_tensor = transform(image).unsqueeze(0)

# Get hypersphere distance
with torch.no_grad():
    embedding = model(image_tensor)
    distance = model.get_distance(embedding).item()

# Compare to threshold
threshold = model_data['radius'].item() * 1.5
is_fake = distance > threshold

print(f"Distance: {distance:.4f}, Threshold: {threshold:.4f}, Fake: {is_fake}")

Files

  • deepsvdd_model.pth: Complete model with center and radius
  • encoder.pth: Encoder weights only
  • config.json: Training configuration
  • training_history.json: Training metrics

Generated: 2025-11-28 11:22:17

Downloads last month
114
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support