The Dog Breed Classifier is a web application that uses deep learning to identify dog breeds from user-uploaded images. Built with Flask and powered by a MobileNetV2 model fine-tuned on the Stanford Dogs dataset, the application delivers real-time predictions through a user-friendly drag-and-drop interface.
The aim of this project is to demonstrate the practical use of convolutional neural networks (CNNs) for image classification and deliver the results through a fully integrated web-based interface. It combines deep learning inference with web deployment techniques in a streamlined, production-ready application.
Programming Language: Python
Frameworks and Libraries: Flask, Keras, TensorFlow, OpenCV
Model Architecture: MobileNetV2 (fine-tuned)
Frontend: HTML, CSS, JavaScript (AJAX), Bootstrap
Deployment: Render
Containerization: Docker (optional)
Upload an image to receive an instant prediction of the dog breed
Responsive UI with drag-and-drop image upload and preview
Backend serves both frontend and prediction API via Flask
Uses a fine-tuned MobileNetV2 model for efficient and accurate inference
Includes Docker support for easy container-based deployment
Cloud deployment ready for platforms like Render, Railway, and Heroku
User uploads a dog image via the drag-and-drop UI
The image is preprocessed and passed through the MobileNetV2 model
The predicted breed is returned and displayed on the interface
Uploaded files are temporarily stored and cleaned after use
GitHub Link: https://github.com/vishwaspw/DogBreedClassifier