This repository has been created to detect whether an image (of jungle, sea or mountain) is real or fake, which means it is generated by Generative Adversarial Network(GAN). It has been done in three phases:
- Feature Extraction
- Classification
- Clustering
First of all, we obtained mean and std of some features values of images in both real or fake categoreies, then saved the results in csv dataframe. The results are also illustrated in feature_extraction_data_analysis ipynb file. The mentioned features include:
- Noise Detection(Wave Length/ Saturation/ Intensity i.e. HSV)
- Blurriness
- Canny Edge Detection
- Color Distribution(RGB, Y/Cr/Cb, L/A/B)
- Gray-level co-occurrence matrix(GLCM): Contrast, Correlation, Energy, Homogenity, ASM, Dissimilarity
The model with labeled data has been trained based on exteracted features from previous stage and given ones(by TA). Decesion Tree, Logistic Rgression, SVM and Random Forest are the algorithms utilized to classify images. (The results are availabe on classification.ipynb)
The model on data without label has been trained based on exteracted features from previous stage and given ones(by TA). Gaussian Mixture Model(GMM), Hierarchical and K-means are used algorithms in order to cluster images. (The results are availabe on clustering.ipynb)
. Press the Fork button in order to save copy of this repo on your account.
. Download the files by pressing download button or clone this repo by the the following command in your git bash:
https://github.com/Taabannn/fake-and-real-images-detection.git
. Open project in jupyter notebook or google colab.
. Make a new branch.
git checkout -b branch-name
. Make new changes of repository on new branch.
. Push the changes.
git add .
git commit -m "Your commit Message"
git push origin branch-name
. Make a pull request.
. ⭐ this repository.