This project aims to classify videos as "REAL" or "FAKE" using a deep learning model. The model architecture leverages the InceptionV3
model for feature extraction, followed by LSTM
and GRU
layers for sequence processing.
git clone https://github.com/your-repo-link.git
cd your-repo-directory
pip install -r requirements.txt
python app.py
The dataset used for training and evaluation consists of:
- 77 Fake Videos
- 76 Real Videos
Each video has 10 frames extracted based on motion detection.
This newly motion detected dataset is released on kaggel as Deepfake Detection Challenge Dataset - Face Images.
The model architecture consists of the following components:
-
Feature Extraction:
InceptionV3
pre-trained on ImageNet is used for feature extraction.GlobalAveragePooling2D
is applied to pool features from each frame.
-
Sequential Processing:
TimeDistributed
applies the feature extractor to each frame independently.LSTM
andGRU
layers are used to capture temporal dependencies.Dropout
is applied for regularization to prevent overfitting.Dense
layers are used for the final classification.
The model was trained on Kaggle Notebooks with the following specifications:
- GPU Accelerators: T4 x 2
- Dataset: Deepfake Detection Challenge Dataset.
You can try out the model live on Hugging Face Spaces: Demo
Contributions are welcome! If you'd like to contribute, please fork the repository and create a pull request with your changes. Ensure your code adheres to the existing style and includes appropriate tests.
This project is licensed under the MIT License - see the LICENSE
file for details.