This project focuses on classifying images into two categories: "fake" and "real". The goal is to distinguish between manipulated or fake images and authentic ones using deep learning techniques and transfer learning.
The dataset consists of images categorized into two classes: "fake" and "real". It is divided into training, validation, and test sets for model training, evaluation, and testing, respectively. It can be found here: https://drive.google.com/drive/folders/1wP2GR7yMYEtVNpJKfnTdLG7hQGsYjNz7?usp=sharing
- Data augmentation techniques such as rotation, rescaling, brightness adjustment, and horizontal/vertical flipping are applied to the training set to increase its size and diversity.
- Images are resized to 224x224 pixels to match the input size expected by the VGG16 model.
- Pixel values are normalized to the range [0, 1] to facilitate model convergence.
- Transfer learning with the VGG16 pre-trained convolutional neural network is employed as the base model.
- The fully connected layers of VGG16 are replaced with two additional Dense layers with ReLU activation.
- The output layer consists of a single neuron with sigmoid activation, yielding binary classification probabilities.
- The model is trained using the Adam optimizer with a learning rate of 0.001.
- Class weights are computed to handle class imbalance in the training data.
- Model training is monitored using early stopping based on validation loss to prevent overfitting.
The fitted models can be found here: https://drive.google.com/drive/folders/1G8RUO6axnWUnoVATIB30T3oV1k3XbkjW?usp=sharing
- Model performance is evaluated on the test set using accuracy, precision, recall, and F1-score metrics.
- Confusion matrix visualization is employed to assess classification performance and identify any misclassifications.
- The VGG16-based model achieves promising results in classifying fake and real images.
- Performance metrics such as accuracy, precision, recall, and F1-score demonstrate the effectiveness of the model.
- The confusion matrix provides insights into the model's classification behavior and error patterns.
- The project demonstrates the potential of deep learning approaches for detecting manipulated images and preserving authenticity.
- Further improvements and optimizations can be explored to enhance model performance and robustness.