This is a college project required for Digital image processing course (CS467) .
It is done as teamwork by Khloud Alnufaie, Raghad Albosais and Weaam Alghaith.
In light of our accelerating world and the huge amount of data transmitted over the internet specifically in social media, an individual sees dozen or even hundreds of images and types of media every day. Deepfake is a newly emerged issue in our modern days which is media of a person in which their face or body has been digitally altered so that they appear to be someone else, typically used maliciously or to spread false information. In this project, we aim to enhance deepfake videos detection method based some preprocessing for images. Moreever find appropriate feature extractors and classifier for detection.
We plan to detect fake videos by using Celeb-DF (v2) 2. Celeb-DF (v2) is a large-scale challenging dataset for deepfake forensics. It includes 890 real MP4 videos and 5639 fake MP4 videos, total of 9 GB. The average length of all videos is approximate 13 seconds with the standard frame rate of 30 frame-per-second. The real videos are collected from YouTube with subjects of different ages, ethnic groups, and genders. The fake videos are generated by swapping faces. Dataset available on this link 3.
The implementation for this project will be split into the following sections: dataset preparation; dataset pre-processing; Feature extractor and deepfake classifier model. The overall model architecture that follows the implementation is illustrated in Figure below. We describe and explain our approach to designing our classifier we conduct some pre-processing such as Gradient filters–Sobel and Laplacian filter. Furthermore, we compare the Local Binary Pattern (LBP) feature extractor with VGG16 the Convolutional Neural Network extractor. In the last, we use Support Vector Machine (SVM) as a classifier.
- Pandas
- PIL
- PyTorch
- TensorFlow
- openCV
- NumPy
- scikit-learn
- seaborn
- matplotlib
- skimage
- Jupyter Notebook
- PyCharm
- Download the dataset and put it in
data
folder. - Prepare the dataset to be used in the model by run the following file:
python prepare_data.py
- Then you can follow the code in the jupyter notebook :
Deepfake video detection.ipynb