Git Product home page Git Product logo

multi-class-image-classification's Introduction

🌸🌻🌹 Multi-Class Image Classification 🌼🌷

πŸ’₯ Computer Vision Project πŸ’₯

🌼 Flower Recognition Project 🌼

This project implements a comprehensive workflow for flower recognition using a combination of traditional and deep learning techniques.

πŸ“‚ Dataset

The flower recognition dataset (tf_flowers) is loaded from TensorFlow Datasets. It contains images of five types of flowers: 🌼 daisies, 🌷 tulips, 🌻 sunflowers, 🌾 dandelions, and 🌹 roses.

πŸ› οΈ Steps

1️⃣ Load Flower Recognition Dataset

We load and split the dataset into training and testing sets.

2️⃣ Count Classes and Images

We count the number of classes and examples in the training and test sets, and plot the class distribution.

3️⃣ Data Augmentation and Preprocessing

Images are augmented (rotated, flipped, resized) and preprocessed (normalized, converted to grayscale, histogram equalization, and denoised).

4️⃣ Feature Extraction

We extract three types of features from each image:

  • HOG Features: Describes the structure and appearance of the images.
  • LBP Features: Captures texture information.
  • CNN Features: Extracted using a pre-trained VGG16 model.

5️⃣ Dimensionality Reduction

Features are reduced using:

  • PCA (Principal Component Analysis)
  • LDA (Linear Discriminant Analysis)
  • ICA (Independent Component Analysis)

6️⃣ Classification

We train RandomForest and SVM classifiers on the reduced feature sets (PCA, LDA, ICA) and evaluate their performance using accuracy, precision, recall, and F1-score.

πŸ“Š Results Visualization

Results are visualized using bar plots to compare the performance of different dimensionality reduction techniques and SVM kernels.

πŸ“‹ Requirements

  • 🐍 Python 3.x
  • πŸ€– TensorFlow
  • πŸ“š TensorFlow Datasets
  • πŸ“· OpenCV
  • πŸ–ΌοΈ scikit-image
  • πŸ“ˆ scikit-learn
  • πŸ“Š Matplotlib
  • πŸ”’ NumPy

πŸš€ How to Run

  1. πŸ“₯ Clone this repository.
  2. πŸ“¦ Install the required libraries.
  3. ▢️ Run the main script to execute the workflow.

πŸ† Conclusion

This project demonstrates an effective pipeline for flower recognition using a combination of traditional image processing techniques and deep learning models. The results indicate that the choice of dimensionality reduction technique and classifier significantly impacts the performance of the model.

πŸ“„ License

This project is licensed under the MIT License.

Made with πŸ’– by Hamza Sajjad.

multi-class-image-classification's People

Contributors

hamzasajjad141 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.