A production-ready computer vision application that identifies car brand and model from images.
The system is designed with a two-stage inference pipeline to improve robustness and real-world usability.
This project started as a car brand & model classifier and evolved into a more reliable system by adding a car / not-car gatekeeper and regional fine-tuning for Indian cars.
The application is deployed using Streamlit and supports real-time image uploads.
- Model: MobileNetV2
- Purpose: Filters out non-car images before classification
- Benefit: Reduces false positives and improves user experience
- Model: EfficientNet-based classifier
- Training data:
- Stanford Cars Dataset
- Additional Indian car images (fine-tuned)
- Output: Top-K predictions with confidence scores
👉 https://milind-pandya-car-brand-model-identifier.streamlit.app
To improve performance on Indian roads, the classifier was fine-tuned with additional images of popular Indian car brands such as:
- Maruti Suzuki
- Tata
- Mahindra
Only 10–20 clean images per model were required, leveraging transfer learning and avoiding overfitting.
Note: Confidence scores may appear low due to a large number of classes; however, correct predictions consistently rank at the top.
- ✅ Car / Not-Car detection
- ✅ Brand & model prediction
- ✅ Top-K predictions
- ✅ Streamlit-based UI
- ✅ Modular preprocessing & inference
- ✅ Ready for API / mobile extension
- Python 3.13
- TensorFlow / Keras
- MobileNetV2
- EfficientNet
- Streamlit
- NumPy, PIL
- icrawler (data collection)
- v1.0 – Initial car brand & model classifier
- v2.1 – Added MobileNetV2 car/not-car gatekeeper
- v2.2 – Fine-tuned classifier with Indian car images