SDXL-Deepfake-Detector

Detecting AI-Generated Faces with Precision and Purpose

Not just another classifier — a tool for digital truth.

Developed by SadraCoding


Why This Matters

As generative AI (like SDXL, DALL·E, and Midjourney) becomes more accessible, the line between real and synthetic media blurs — especially for vulnerable communities. This project started as a technical experiment but evolved into a privacy-aware, open-source defense against visual misinformation, with a focus on ethical AI deployment.


Model Overview

SDXL-Deepfake-Detector is a fine-tuned vision transformer that classifies human faces as artificial (0) or human (1), achieving an accuracy of 86%.

Training Approach

This model was obtained by fine-tuning the Organika/sdxl-detector — a vision transformer pre-trained specifically to detect SDXL-generated faces — on the 140k Real and Fake Faces dataset.

This approach leverages:

  • Prior knowledge of SDXL artifacts from the base model
  • Broader generalization from a large-scale real/fake face dataset
  • Efficient training on limited hardware (single RTX 3060)

The result is a lightweight, high-accuracy detector optimized for both SDXL and general diffusion-based deepfakes.

Key Highlights

  • Architecture: Fine-tuned Vision Transformer (ViT) via Hugging Face transformers
  • Dataset: 140k balanced real/fake face images
  • License: MIT — free for research and commercial use
  • Hardware: Trained on a single NVIDIA RTX 3060 (12GB VRAM) — proving high impact doesn’t require massive resources

Quick Start

Dependencies

pip install transformers torch pillow

Python Script

#predict.py
import argparse
from transformers import AutoModelForImageClassification, AutoFeatureExtractor
from PIL import Image
import torch
import os

def main():
    parser = argparse.ArgumentParser(
        description="Classify an image as 'artificial' or 'human' using the SDXL-Deepfake-Detector."
    )
    parser.add_argument("--image", type=str, required=True, help="Path to the input image file")
    args = parser.parse_args()

    # Validate image path
    if not os.path.isfile(args.image):
        raise FileNotFoundError(f"Image file not found: {args.image}")

    # Load model and feature extractor from Hugging Face Hub
    model_name = "SADRACODING/SDXL-Deepfake-Detector"
    print(f"Loading model '{model_name}'...")
    model = AutoModelForImageClassification.from_pretrained(model_name)
    feature_extractor = AutoFeatureExtractor.from_pretrained(model_name)

    # Set device (GPU if available)
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model.to(device)
    model.eval()
    print(f"Running on device: {device}")

    # Load and preprocess image
    image = Image.open(args.image).convert("RGB")
    inputs = feature_extractor(images=image, return_tensors="pt").to(device)

    # Inference
    with torch.no_grad():
        outputs = model(**inputs)
    
    logits = outputs.logits
    predicted_class_idx = logits.argmax(-1).item()
    predicted_label = model.config.id2label[predicted_class_idx]

    # Output
    print(f"Prediction Result")
    print(f"Class Index: {predicted_class_idx}")
    print(f"Label      : {predicted_label}")

if __name__ == "__main__":
    main()

How to use

python predict.py --image path/to/image

Performance & Limitations

Note: Final test accuracy will be reported after full evaluation. Preliminary results show strong generalization on SDXL- and diffusion-based face forgeries.

Known Limitations

  • Trained primarily on frontal, well-lit, aligned face crops — may underperform on:
    • Low-resolution or blurry images
    • Heavily occluded or non-frontal faces
    • GAN-generated faces (e.g., StyleGAN2/3)
  • Label mapping:
    • 0"artificial" (AI-generated / Deepfake)
    • 1"human" (authentic human face)

⚠️ This tool is not a forensic proof, but a probabilistic detector. Use responsibly.


Philosophy & Ethics

This model is open-source because:

  • Transparency is essential in the fight against synthetic media.
  • Accessibility ensures researchers, journalists, and civil society can audit and use detection tools without gatekeeping.
  • Privacy matters: The model runs entirely offline — your images never leave your device.

As a developer from a vulnerable community, I believe AI safety tools must be inclusive, ethical, and human-centered — not just technically accurate.


Acknowledgements


How to Contribute

Fine-tune this model on your domain-specific data using Hugging Face Trainer.


Built with curiosity, ethics, and a 12GB GPU — because impactful AI doesn’t require a data center, just purpose.
— SadraCoding

Downloads last month
309
Safetensors
Model size
86.8M params
Tensor type
I64
·
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Spaces using SadraCoding/SDXL-Deepfake-Detector 2

Evaluation results