/AIforSEAComputerVision

This repository is the submission for aiforsea computer vision challenge

Primary LanguageJupyter Notebook

Contents

Overviews

Result

How to run the code

Overviews

Download overview document for brief explanation about the code

alt_text


The implementation for detecting car make and model is started by doing data preprocessing to obtain car label for training and testing. The next step is to train the deep learning model for car make and model detection. After training the model, car make and model detection is performed from testing dataset.

The method for detect car make and model is implemented by using Inception-V3 network by Google. The training and testing code is borrowed from Chexnet-Keras implementation with a modification. Data preprocessing is implemented using Python. Keras is also used to implement the model for the deep learning method. For evaluation, Sklearn is used to compute accuracy, precision and recall.

Result

alt_text

alt_text

alt_text

How to run the code

The instruction to perform car make and model detection using custom dataset is explained in the overview document

Training & Testing

Training

  • Download the pre-processed dataset file (Anotated images of car) - all-car-data.zip
  • Replace files train.py and config.ini from https://github.com/brucechou1983/CheXNet-Keras repository, with these files train.py - modified train.py and config.ini - modified config.ini
  • Put car_split, car_split_2, and car_split_3 folders in file index in /data folder together with default_split folder
  • Run python train.py to train to train the model

Testing

  • Download testing data from testing_data.zip, move test.csv to /experiments/car-split-InceptionV3 folder
  • Replace files test.py and config.ini from https://github.com/brucechou1983/CheXNet-Keras repository, with these files test.py - modified train.py and config.ini - modified config.ini
  • Run test.py to test the model
  • Open /experiments/car-split-InceptionV3/test.log to see confidence score for each prediction, accuracy, precision and recall.