Dog Breed Image Classifier – Semester Project
The Dog Breed Image Classifier is a machine learning and deep learning–based project developed as part of my semester coursework. The objective of the project was to design a robust and scalable system that can classify images of dogs into their respective breeds with high accuracy. This problem is significant because dog breed recognition is a challenging computer vision task due to visual similarities among breeds, variations in lighting, image quality, and posture differences.
To tackle the challenge, the project followed a structured pipeline. The dataset was sourced from publicly available repositories such as the Stanford Dogs Dataset and the Kaggle Dog Breed Identification Dataset, which together provide thousands of labeled dog images. Images were preprocessed using normalization, resizing, and augmentation techniques (rotation, zoom, flip, and shift). This not only improved training efficiency but also enhanced the model’s ability to generalize to unseen data.
The project implemented two main modeling approaches: Custom Convolutional Neural Networks (CNNs) and Transfer Learning. The CNN model was built from scratch, consisting of convolutional layers, pooling layers, and fully connected layers with dropout for regularization. This model achieved an accuracy of 86.5%, demonstrating strong learning capability despite being lightweight. In addition, transfer learning was employed using pre-trained architectures such as VGG16 and ResNet50. These models, fine-tuned on the dog dataset, boosted performance beyond 90% accuracy by leveraging their pre-learned feature extraction capabilities.
Evaluation was carried out using metrics like accuracy, precision, recall, F1-score, and confusion matrices. Furthermore, explainability was added using Grad-CAM visualizations, which highlight the regions of the image the model focuses on while making predictions. This interpretability feature increases trust in the system and makes it suitable for practical use cases.
To ensure usability, the project also includes a Streamlit-based web application where users can upload a dog image and instantly get predictions along with confidence scores. The modular design of the codebase allows the classifier to be extended to other animals or objects in the future.
In summary, this project showcases the integration of data preprocessing, CNNs, transfer learning, evaluation metrics, explainability, and deployment into a single end-to-end solution. It demonstrates my ability to apply data science and machine learning techniques to solve real-world computer vision problems effectively.
W
This project focuses on developing an intelligent system capable of classifying dog breeds from images using machine learning and deep learning techniques. Dog breed recognition is a challenging task due to similarities between breeds, variations in image quality, and differences in orientation.
The dataset was prepared using publicly available dog breed image collections. Images were preprocessed with normalization, resizing, and augmentation methods such as flipping, rotation, and zooming. This step improved the model’s generalization ability and reduced the risk of overfitting.
Two modeling strategies were implemented. First, a custom Convolutional Neural Network (CNN) was designed, trained, and evaluated, achieving an accuracy of 86.5% on validation data. The CNN consisted of convolutional, pooling, and dense layers with dropout regularization, making it lightweight yet effective. Second, transfer learning was applied using pre-trained architectures such as VGG16. By leveraging pre-trained weights and fine-tuning, the model achieved higher accuracy and required less training time.
Evaluation was performed using accuracy, precision, recall, F1-score, and confusion matrices. In addition, Grad-CAM visualizations were used to explain the model’s decisions, highlighting the image regions responsible for predictions.
The project also includes a Streamlit web application that allows users to upload images and receive breed predictions with confidence scores, making the system interactive and user-friendly.
This work demonstrates practical application of data preprocessing, CNN modeling, transfer learning, model evaluation, and explainable AI in solving a real-world computer vision problem.