Object classification using the CIFAR-10 Dataset
The CIFAR-10 dataset consists of 60000 32x32 colour images in 10 classes, with 6000 images per class. There are 50000 training images and 10000 test images.
First, I extracted the images category-wise. This was done using the data_processing.m and image_generation.m files. Please refer to them for a detailed explanation.
data_processing.m generates the following files:
*.mat files: categorized training sets extracted from the original data_batch_* files of the CIFAR 10 dataset.
*_test.mat files: categorized test sets generated from the test_batch.mat file of the CIFAR 10 dataset.
Use image_generation.m to generate images from these .mat files.
Other files:
GUI.m generates the GUI (GUI.fig) for demonstration.
train_and_test.m is the code for training the categoryClassifier (SVM with Gaussian Kernel) using SURF+BoW features, and testing using the test dataset and test images from Google. It can be used to generate categoryClassifier.mat, which is required for the GUI.m file to work. I wasn't able to upload this file beause it exceeds the 25MB limit.
The model achieved 93% accuracy on the training set (can be verified from confMatrix.mat) and around 41.5% accuracy on the test set (can be verified from confMatrix_test.mat). Although the test set accuracy isn't so high, it performs well on test images from Google.
Not very accurate on bird, deer and horse categories.