/MachineLearning-Spring2023-FinalProject

Final Project - Machine Learning Course - University of Tehran - Dr. A. Dehaqani, Dr. Tavassolipour

Primary LanguageJupyter Notebook

Real vs Fake Image Classifier

Overview

This is the final project for machine learning course at the University of Tehran. The goal is to build models to classify images as either real or artificially generated.

The project has the following stages:

  • Data Collection:

    • Each student must collect 30 real images (10 for sea, 10 for mountain, 10 for forest)
    • And 30 fake images generated by AI models like Midjourney and Stable Diffusion (10 for sea, 10 for mountain, 10 for forest)
    • Real and fake images should follow a naming convention and be uploaded to Google Drive
  • Initial Report:

    • Students should research the problem and write a 2 page report explaining the challenges and dataset
  • Model Building:

    • Preprocess data and extract features (without using deep neural networks)
    • Try at least 2 different clustering algorithms and analyze for varying numbers of clusters
    • Build at least 2 classification models and compare performance
    • Focus is on analysis and evaluation, not just coding
  • Final Report:

    • Thorough discussion of process, analysis, results and comparisons
    • Contains charts, classification metrics, explanations of models tried etc.

The project uses 3 Jupyter notebooks:

  • Feature extraction and EDA
  • Classification models
  • Clustering models

Goal is to learn full lifecycle of an ML project including data collection, preprocessing, modeling, evaluation and analysis.

Here is a summary of the machine learning final project in the form of a GitHub readme:

Repo Structure

The project is structured into 3 notebooks:

  • feature_extraction_data_analysis.ipynb: EDA and feature extraction
  • Classification.ipynb: Classification models
  • Clustering.ipynb: Clustering models

Results

The following results are reported at Report.pdf:

  • Sample visualizations
  • Classification metrics
  • Clustering outcomes

Contributors

  • Hesam Asadollahzadeh
  • Masoud Tahmasbi Fard
  • Alireza Javid
  • Amirmahdi Ansaripour