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