Skip to content

A deep learning-based Image Classification project using Convolutional Neural Networks (CNN) in TensorFlow. It classifies images of cats and dogs with enhanced preprocessing, data augmentation, model evaluation, and visualization.

Notifications You must be signed in to change notification settings

Aditya870907/Mini-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 

Repository files navigation

🐢🐱 Image Classification using CNN A deep learning project that builds and trains a Convolutional Neural Network (CNN) using TensorFlow/Keras to classify images of cats and dogs. The model is trained on augmented image data, evaluated with performance metrics, and tested on new images with visualization support.

πŸš€ Features CNN built using TensorFlow/Keras Sequential API

Real-time image data augmentation

Training/Validation accuracy and loss visualization

Test-time prediction with image enhancement

Evaluation metrics: Accuracy, Precision, Recall, F1 Score

Confusion matrix visualization

Learning rate scheduler (ReduceLROnPlateau)

Dropout regularization for better generalization

πŸ› οΈ Tech Stack & Tools Language: Python

Framework: TensorFlow 2.x, Keras

Libraries: NumPy, Matplotlib, PIL, Scikit-learn

Data Preprocessing: ImageDataGenerator

Image Enhancement: ImageEnhance, ImageFilter (PIL)

Visualization: Matplotlib, ConfusionMatrixDisplay

πŸ“ Dataset Structure Copy Edit dataset/ β”œβ”€β”€ training_set/ β”‚ β”œβ”€β”€ cats/ β”‚ └── dogs/ β”œβ”€β”€ test_set/ β”‚ β”œβ”€β”€ cats/ β”‚ └── dogs/ └── single_prediction/ └── dog.jpg πŸ“Š Model Summary Conv2D β†’ MaxPool β†’ Conv2D β†’ MaxPool β†’ Dropout

Flatten β†’ Dense β†’ Dropout β†’ Output Layer (Sigmoid)

Optimizer: Adam with learning rate 0.0001

Loss: binary_crossentropy

Epochs: 25

πŸ§ͺ Evaluation Metrics Accuracy, Precision, Recall, F1 Score

Confusion matrix plot

Epoch-wise training/validation accuracy and loss plots

πŸ–ΌοΈ Prediction Output Example Upload a custom image for single prediction

Image is preprocessed, enhanced, and passed through the trained model

The model outputs whether it’s a Cat or a Dog with visualization

πŸ“· Sample Output

πŸ™Œ Acknowledgements TensorFlow/Keras

Scikit-learn for metrics

PIL for image enhancement

About

A deep learning-based Image Classification project using Convolutional Neural Networks (CNN) in TensorFlow. It classifies images of cats and dogs with enhanced preprocessing, data augmentation, model evaluation, and visualization.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published