Reality Check is a robust AI-generated image detection prototype. It addresses the problem of identifying whether an image is authentic or AI-generated, even after common real-world reposting changes such as JPEG compression, blur, resizing, image noise, colour adjustment, and cropping. Users can upload an image and the system returns the likelihood of whether the image is AI-generated.
The project does not rely only on clean-image accuracy. It evaluates false positives, false negatives, robustness under transformations, and generalization to unseen data. This helps identify when the detector may incorrectly flag authentic images or miss realistic AI-generated images.
Development Tools
- Visual Studio Code for development and project management
- Git and GitHub for version control and collaboration
- Python virtual environments for dependency management
- Terminal/command-line tools for training, evaluation, packaging, and local deployment
Models and APIs Used
- EfficientNet-B0 pretrained image-classification backbone
- Binary classifier head with dropout and a sigmoid output for real-versus-AI prediction
- FastAPI local inference API for image upload and prediction
- Hugging Face Datasets / Hugging Face Hub tools for accessing and preparing SID Set data
Libraries and Frameworks Used
- PyTorch and Torchvision for model building, training, and inference
- timm for vision-model support
- FastAPI and Uvicorn for the local web server
- Pillow and OpenCV for image loading and preprocessing
- Albumentations for robustness transformations and augmentation
- NumPy and Pandas for data processing
- Scikit-learn for evaluation metrics including ROC AUC, accuracy, precision, recall, and F1-score
- Matplotlib for evaluation visualizations
- PyYAML for experiment configuration
Datasets and Assets Used
- SID Set: authentic, fully synthetic, and tampered image data. The project uses authentic and fully synthetic images for binary classification.
- CIFAKE: CIFAR-10-based real and Stable Diffusion-generated images, used for training and evaluation.
- WildFake: used as an external evaluation dataset to test generalization to unseen generators and image distributions.
- Model checkpoints, prediction JSON files, evaluation reports, and error-analysis examples are generated locally and kept outside Git due to their size.
Log in or sign up for Devpost to join the conversation.