πΆπ± 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