Fine Car Classifier is a classification project that's trained on 70+ models of cars and would identify each one's make and model
Download the model weights file.pt and use it with this package as follows
from FCC.CarClassifier import CarClassifier
# start classifier with trained model
fcc = CarClassifier("path/to/model.pt")
# get predicted class with image path
predictedCar = fcc.predict("path/to/image.jpg")
# or get prediction with image object
ret, frame = cap.read()
predictedCar = fcc.predict(frame)
The model architecture is extremely straightforward and simple, for the low low price of 15862006 parameters you get the following:
The architecture is explained in this paper AKA YOLOV8-CLS, normally it's pretrained on 1000 classes from the ImageNet dataset
Data was broken into train, val and test.
Val set had 90 samples per car while test set had 10
Now for the training data:
- total training images: 53453
- average image count per car: 763
each car model was testing against 10 never seen images and these are the scores for all of them
as you can see, there are a bunch that didn't perform well, let's expand on those.
What does it look like when the model fails?
Expand more on failing cases while showing more data
- famous proven solution using vgg16 https://medium.com/@albionkrasniqi22_80133/vehicle-classification-742403117f43