I have a mixed image database(unstructured data). In the database there are some images that i am interested in and I want to discard the rest by using cnn. I am not looking for specific objects in the images like dogs, cats etc. In the database I have photos and non photo images like infamous logos, scanned documents etc.

I want to find photos and discard the others. All the examples and online courses I found are based on object recognition. In my case which method can I use to classify my images as just 'relevant' and 'irrelevant'?

  • 2
    $\begingroup$ it is a (binary) classification problem. See Imagenet, Cifar dataset and their CNN, like VGG or inception, etc... You could take a pretrained neural network and retrains it for your problem (but maybe it's not the best idea !) $\endgroup$ – Jérémy Blain Sep 18 '18 at 9:36
  • 1
    $\begingroup$ I think I have to use transfer learning method, as you advised. But I am still not sure about using a binary classifier for this problem, since I am not looking for a distinctive object in the images. $\endgroup$ – jonathan eslava Sep 18 '18 at 10:01
  • 1
    $\begingroup$ you have to label your dataset with photos as 1 and no photos as 0. It's a binazry classifier, you aren't looking for object, but if the photo itself is a photo or an image. $\endgroup$ – Jérémy Blain Sep 18 '18 at 10:07
  • $\begingroup$ I thought I can use data augmentation methods for infamous logos. I am still in the search phase. In the coming days I will try some examples and then try them with my data set. I believe that some of the irrelevant images, most probably the logos, will give too much false positives. For such a case I think I can add another network at the output of the main one only to filter the logos. I am not sure what would be the accuracy. I have to try. $\endgroup$ – jonathan eslava Sep 19 '18 at 18:12

The classification of images as relevant or irrelevant can be done using LSTM, the design of which is perhaps best explained without the mathematical detail of the original paper by Eugene Kang's Long Short-Term Memory: Concept text and diagrams.

That the data is unstructured is not an issue if the images can be extracted and placed into raw pixel matrices with appropriate indices into the database so the results of classification can be inserted into the database in a way where the image and the classification are associated.

The labels from a training point of view are not the indices into the database but the single bit indication of relevance.

The LSTM network must be trained on a sufficient sample of labeled example data before it will be usable to classify the images. That requirement may further require a significant amount of manual classification unless some form of delegation, hints from associated features in the database, or crowd sourcing can be used to generate labels.

  • $\begingroup$ This might be a more sophisticated but also a more efficient solution. At the first step I am going to use cnn instead lstm. I am new in this field and cnn is so easy to apply. I am going to use transfer learning method with a softmax activation at the last layer. I did not know about lstm. If I have time to apply it I am going to try also lstm and share my experiences. Thank you for the information. $\endgroup$ – jonathan eslava Sep 26 '18 at 20:04
  • $\begingroup$ Ok. I need to use a binary classifier. Thanks for the answer. Now I have another problem. I have two categories (relevant and irrelevant). Irrelevant folder contains sub categories. Do I have to separate also the relevant images according to their contents? I could figure out this by trying. But my gpu is not supported by any of the ai libraries. Hence it takes at least 24 hours to train any neural net on my pc. $\endgroup$ – jonathan eslava Oct 4 '18 at 16:33
  • $\begingroup$ Thanks for your answers and effort. Seems better to leave cnn approach. $\endgroup$ – jonathan eslava Oct 4 '18 at 20:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.