Deepfake_Images_Detection is a Deepfake Detection website where you can check if a video or photo is real or if it has been tampered with. It’s built for anyone who wants to make sure what they are seeing online is the truth.
DeepFake_Images_Detection is a deep learning project where I trained a fusion PyTorch model for detecting deepfake images. The model uses SigLIP (prithivMLmods/deepfake-detector-model-v1) as a backbone and a custom ArtifactCNN with SRM layers to analyze subtle artifacts in both low- and high-quality images. It outputs whether an image is real or manipulated along with a confidence score.
Limitation/Warning
Trained on specific datasets; results may vary on new data distributions.
About Training Dataset
Training and validation datasets included real and fake images at both low (LQ) and high quality (HQ).LQ:HQ - 2:1 Because i used Siglip as a backbone so it is already trained and seen too many high quality images.
training data - HQ (real - 145 / fake - 145) | LQ (real - 290 / fake -290) Total = 870
Augmentation techniques such as face cutouts were applied to improve robustness.
Classification Evaluation
The model achieved 97.9% training accuracy and 97.7% validation accuracy on training dataset and validation dataset, demonstrating strong performance and robustness for real-world detection.
=Training accuracy: 97.9%
=Validation accuracy: 97.7%
Model Architecture
The proposed architecture is a fusion-based deepfake detection model that combines a pretrained Hugging Face Transformers implementation of SigLIP (loaded from prithivMLmods/deepfake-detector-model-v1) with a custom SRM-enhanced CNN branch. SigLIP acts as the semantic backbone, where most of its parameters are frozen to preserve pretrained visual representations, and only the final classifier layer and the last transformer block (layers.11) are unfrozen for fine-tuning on the deepfake dataset. In parallel, a custom ArtifactCNN branch processes SRM-filtered noise maps to capture low-level manipulation artifacts. The embeddings from both branches are concatenated and passed through a fusion classifier (Linear → BatchNorm → ReLU → Dropout → Linear) to produce binary predictions (real vs fake). Training is performed using AdamW with different learning rates for each component (lower LR for SigLIP, higher LR for newly initialized layers), cross-entropy loss, early stopping with patience of 10 epochs, and the best model is saved based on validation loss.
Future Enhancement
Larger & More Diverse Dataset: Train on a broader range of deepfake sources, ethnicities, lighting conditions, and compression levels to improve generalization.