/Pokedex

A Pokémon Image Classifier using EigenFaces(PCA) algorithm.

Primary LanguagePythonMIT LicenseMIT

Pokedex

A Pokémon Image Classifier using EigenFaces(PCA) algorithm. In this, a dataset of 20 pokémon, each with 30 images(600 sample images) are taken, resized to 200 x 200, grayscaled and a classifier is trained to this dataset using the dataset's Principle Components. The train set and the test set split is done using KFolds method(4 splits) and the classifier is evaluated using various metrics.

Execution

Scripts Description

Name Description
resize_dataset.py This script reads all the images in ../dataset folder, crops them to200 x 200 and converts them to grayscale.
create_dataset_object.py This script reads all the images in ../dataset and converts them into 40000D numpy array, label those datapoints, adds them to the datset and dumps the dataset object using Pickle.
load_dataset.py This script checks if the dataset exist, if yes, returns the loaded dataset else creates the dataset.pickle, loads it and returns it.
create_classifier.py This script creates the classifier, trains it, and dumps it to classifier.pickle file.

Averaged Accuracy from KFold

Averaged Average Score: 0.24666666666666665

TODOs

  • Obtain a cleaner dataset
  • Improve Accuracy
  • Add a Interface to test new images.