ai-detector

Vision Transformer (ViT) fine-tuné pour la détection d'images générées par IA (projet SteganographIA — MIAGE TPI). Classifieur binaire real vs ai_generated.

Entraîné avec augmentation de robustesse (recompression JPEG, resize, flip, flou) reproduisant le pipeline des réseaux sociaux, et évalué in-distribution (Defactify) ET out-of-distribution (SuSy, générateurs non vus à l'entraînement).

Résultats

Jeu d'évaluation Accuracy F1 (macro)
Defactify (test, in-distribution) 0.934 0.934
SuSy (out-of-distribution) 0.868 0.868

Le score OOD, attendu plus bas, mesure la généralisation à des générateurs inconnus.

Détails d'entraînement

  • Base : google/vit-base-patch16-224
  • Train : Rajarshi-Roy-research/Defactify_Image_Dataset, rééquilibré 50/50 (undersampling stratifié sur les 5 générateurs).
  • Augmentation robustesse (JPEG QF 60-90, resize 0.5-0.9, flip, flou).
  • lr 2e-5, batch 16, 3 epochs, fp16, early stopping sur le F1.

Usage

from transformers import AutoImageProcessor, AutoModelForImageClassification
from PIL import Image
import torch

processor = AutoImageProcessor.from_pretrained("Cr2do/ai-detector")
model = AutoModelForImageClassification.from_pretrained("Cr2do/ai-detector")

image = Image.open("img.jpg").convert("RGB")
inputs = processor(image, return_tensors="pt")
with torch.no_grad():
    logits = model(**inputs).logits
print(model.config.id2label[logits.argmax(-1).item()])

Limites

  • Rappel plus faible sur des générateurs non vus (cf. score OOD).
  • Images redimensionnées en 224x224 : artefacts très haute résolution perdus.
Downloads last month
34
Safetensors
Model size
85.8M params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Datasets used to train Cr2do/ai-detector