Skip to content

A Convolutional Neural Network (CNN) based image classification project built with TensorFlow/Keras, featuring preprocessing, training, and evaluation with visualization.

Notifications You must be signed in to change notification settings

MousamCodes/image-classifier-cnn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

3 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿง  CNN Image Classifier

A Convolutional Neural Network (CNN)-based image classification model built with Python and TensorFlow/Keras. This project is designed to classify images efficiently and can be extended to various real-world applications like face detection, object recognition, and more.


๐Ÿš€ Features

  • Deep Learning with CNNs โ€“ Uses state-of-the-art convolutional layers for image feature extraction.
  • Data Preprocessing โ€“ Includes normalization, augmentation, and resizing pipelines.
  • Training & Evaluation โ€“ Built with TensorFlow/Keras for powerful training on image datasets.
  • Model Visualization โ€“ Plots training/validation accuracy and loss curves.
  • Custom Dataset Support โ€“ Easily plug in your own dataset.

๐Ÿ› ๏ธ Technologies Used

  • Python 3.x
  • TensorFlow & Keras (Deep Learning)
  • NumPy, Pandas (Data manipulation)
  • Matplotlib & Seaborn (Data visualization)
  • OpenCV (Image handling)
  • Scikit-learn (Metrics and evaluation)

๐Ÿ“‚ Project Structure

CNN-Image-Classifier/ โ”‚ โ”œโ”€โ”€ data/ # Dataset (training/testing images) โ”œโ”€โ”€ model/ # Saved trained model (H5/TF format) โ”œโ”€โ”€ notebooks/ # Jupyter notebooks for experiments โ”œโ”€โ”€ main.py # Main training/testing script โ”œโ”€โ”€ requirements.txt # Project dependencies โ””โ”€โ”€ README.md # Project documentation


โš™๏ธ Installation & Setup

  1. Clone the repository
    git clone https://github.com/MousamCodes/cnn-image-classifier.git
    cd cnn-image-classifier
  2. Install Dependencies
    pip install -r requirements.txt
    
  3. Run the training script
      python main.py
    
    

๐Ÿง  Model Workflow

  • Load Dataset โ€“ Images are loaded and resized to the target shape.
  • Preprocessing โ€“ Normalization & augmentation for better generalization.
  • CNN Architecture โ€“ Convolutional, pooling, dropout, and dense layers.
  • Training โ€“ Compiled with Adam optimizer and categorical cross-entropy loss.
  • Evaluation โ€“ Achieves high accuracy on test data with confusion matrix visualization.

๐Ÿ”ฎ Future Enhancements

  • Add Transfer Learning (ResNet, VGG16, EfficientNet).
  • Deploy model as a REST API with FastAPI/Flask.
  • Create a Streamlit web app for real-time image classification.
  • Implement model quantization for mobile deployment.

About

A Convolutional Neural Network (CNN) based image classification project built with TensorFlow/Keras, featuring preprocessing, training, and evaluation with visualization.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published