kuba-siekierzynski / CarL-CNN

Car Logos CNN - image classification via neural network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CarL-CNN

Car Logos CNN - building my own car logos classifying neural network

citroen14537_smalldacia16164_smalldaewoo18571_smalldodge14346_smallferrari5408_smallalfa romeo10942_smallaudi18063_smallbmw18966_small
chevrolet3976_smallsaab3303_smallseat7469_smallskoda16785_smallsubaru20173_smallsuzuki8784_smalltata20486_smalltesla11746_small
toyota0157_smallvolkswagen17181_smallvolvo2931_smallfiat0649_smallford2247_smallhonda1709_smallhyundai6287_smalljaguar13748_small
jeep9308_smallkia6781_smalllada12567_smalllancia8005_smallland rover10123_smalllexus19649_smallmaserati13405_smallmazda10525_small
mercedes8343_smallmitsubishi5983_smallnissan12950_smallopel1225_smallpeugeot14973_smallporsche4461_smallrenault15832_smallrover3743_small

Description

CarL-CNN was trained with 20,778 50x50px RGB images depicting logotypes of 40 different car brands. The dataset was handpicked from loosely scraped websites and contains images, photos, drawings, sketches at various color schemes (black/white, RGB, CMYK, one-color), different angles and can sometimes contain some noise (other logotypes, background, etc.)

It classifies a given image by attributing a predicted brand label:

Model Metrics

The model got the below scores:

  • Precision: 94.20%
  • Recall: 94.03%
  • F1 score: 94.04%
  • Accuracy: 94.03%

Features

The Jupyter Notebook file contains method definitions for showcasing, class probability prediction and new image recognition. Also, a closer examination of the wrongly predicted cases is done to analyze which car brands need some dataset enrichment.

Future development

I plan to make it into a web application and enable adding user-owned images for classification. Later on, using sl4a, I plan to make it into an Android application and enable car logo recognition by mobile camera -- a True computer vision!

Links - needed for the full run of CarL-CNN

(unzip to folder, where CarLogosCNN.ipynb resides)

Requirements

  • numpy
  • matplotlib
  • scikit-learn
  • keras (tensorflow backend)
  • pillow - for image processing

About

Car Logos CNN - image classification via neural network


Languages

Language:Jupyter Notebook 100.0%