A full-fledged system for detecting deepfakes in images and videos using a custom-trained deep learning model powered by EfficientNetB0, wrapped in an interactive Streamlit interface.
This project implements a deepfake detection pipeline from scratch. It includes:
- A training pipeline using EfficientNetB0 with fine-tuning.
- Real-time image and video classification using a Streamlit web app.
- Frame-by-frame video analysis for deepfake frame percentage.
- Robust handling of grayscale, RGB, and RGBA inputs.
The goal is to showcase applied machine learning, model deployment, and frontend integration for a practical AI application.
├── train/ # Model architecture, training scripts
├── test data/ # Sample test videos and images
├── streamlit/app.py # Streamlit frontend code for inference
├── streamlit/my_model.keras # Saved trained model
-
Training Phase
- EfficientNetB0 (imagenet weights) is used as a base model.
- Custom dense layers are added for binary classification.
- Trained on labeled real vs fake datasets.
-
Streamlit App
- Users upload an image or video.
- For images: Model instantly classifies as Fake or Real.
- For videos: Each frame is predicted, and a percentage of fake frames is shown.
- Python
- TensorFlow / Keras
- Streamlit
- OpenCV
- NumPy / PIL
⚠️ This project is built for educational purposes and is not intended for production-grade deepfake detection.


