Giter Club home page Giter Club logo

carl-cnn's Introduction

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

carl-cnn's People

Contributors

kuba-siekierzynski avatar

Stargazers

MaximeB-EDU avatar  avatar Leon Yu avatar  avatar Mihai Militaru avatar Ismael Pérez Ortiz avatar Oluwasegun Adedigba avatar André Temple avatar `нттየ⁴⁰⁶ avatar  avatar  avatar  avatar  avatar  avatar Mahesh Muttinti avatar  avatar Yasir Jan avatar Anthony Hoss avatar  avatar Aashutosh Ranjan avatar John zhang avatar SOTAVision avatar Yingge Sun avatar Benan Akca avatar  avatar Yu Zhao avatar  avatar Yauheni avatar  avatar  avatar Puspak Rout avatar  avatar Andrea Oggioni avatar HARUN PEHLİVAN avatar Bhanuchander Udhayakumar avatar Pratik Parmar avatar Krupa Galiya avatar  avatar  avatar  avatar Steve Lemuel avatar Massimo Piedimonte avatar Ahmed Osama avatar

Watchers

James Cloos avatar LazzyB0y avatar Puspak Rout avatar Mahesh Muttinti avatar

carl-cnn's Issues

Question about Test Results

hi, kuba, thank u for your code, in the past few days, I have trained with your code, the data set is the same, but the best precision of the model is only 84%.epoch=200 and train_size=0.8,It's very different from your results, so I want to know if you have improved the model or added other data sets.thank u again!

Reason of ImageDataGenerator

Hi @kuba-siekierzynski ,

i would like to thank you for sharing this code , looks promising and good results till now .
i just want to discuss with you the reason of ImageDataGenerator . i understand that it increase accuracy but how and have you tried any alternatives , also you fit the training data only and don't do the same on the test data .

# In order to process data augmentation, keras' ImageDataGenerator can apply some transformations to images on random
from keras.preprocessing.image import ImageDataGenerator

datagen = ImageDataGenerator(
    # featurewise_center=False,
    # samplewise_center=False,
    # featurewise_std_normalization=True,
    # samplewise_std_normalization=True,
    # zca_whitening=True,
    rotation_range=45,
    width_shift_range=0.2,
    height_shift_range=0.2,
    horizontal_flip=True,
    vertical_flip=True)

i will keep playing on this model and try to raise the accuracy on some images that fails as steering wheels ones

668719079510294

Dataset

Can You please share your dataset with me

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.