Monday, October 26, 2015

Deep Learning: Identification of Fruits Using Digits, Caffe Framework

Image classification using Neural Networks is a very interesting topic. During my bachelors,  I had a glimpse of Neural Networks - where I specifically worked on "C" code to convert hand written signatures into features that could be fed into the neural networks.

Following is work to take open datasets and classify fruits.

Classification of Orange using the model developed using Digits 2 and Caffe Framework.


Software:

  1. CUDA: 7.0
  2. Caffe framework [1]
  3. NVidia GeForce GTX 860M with 640 cores
  4. NVidia Digits 2

DataSet:

  1. Fruit DataSet [2]  (30 categories)
Digits does image classification, with 25% of the images are set for validation.

After many modifications and using AlexNet[2], I have received an accuracy of 60%. Anything beyond this has lead to overfitting. Overfitting is part of Convolution Neural Networks. To avoid over fitting, a large amount of images needs to be available.

I posted on multiple forums to see if practitioners/researchers can get larger image data. Following are the next steps that I can envision:

  1. Looking at other datasets, to extract the same features from them, to add to the dataset. 
  2. Downloading non-copyrighted images from Search Engines. Google's API allows only 64 images to be downloaded. I asked on their forum on how to filter images that are copyrighted.
I would like to create a framework that could create automated image datasets (non-copyrighted images) including translations and transformations. 

References:


[1] Caffe Deep Learning Framework: http://caffe.berkeleyvision.org/
[2] Marko Ċ krjanec, Fruit Image Data set http://www.vicos.si/Downloads/FIDS30
[3] Convolution Neural Networks, https://en.wikipedia.org/wiki/Convolutional_neural_network