8
$\begingroup$

Image classification is the task of assigning one of $n$ previously known labels to a given image. For example, you know that you will be given a couple of photos and each single image has exactly one of $\{cat, dog, car, stone\}$ in it. The algorithm should say what the photo shows.

The benchmark dataset for image classification is ImageNet; especiall thy large scale visual recognition challenge (LSVRC). It has exactly 1000 classes and a huge amount of training data (I think there is a down-sampled version with about 250px x 250px images, but many images seem to be from Flicker).

This challenge is typically solved with CNNs (or other neural networks).

Is there any paper which tries an approach which does not use neural networks in LSVRC?

To clarify the question: Of course, there are other classification algorithms like $k$ nearest neighbors or SVMs. However, I doubt they work at all for that many classes / that much data. At least for $k$-NNs I'm sure that prediction would be extremely slow; for SVMs I guess both fitting and prediction would be much to slow (?).

$\endgroup$
  • $\begingroup$ You cshould not "guess" the training and prediction speed of an algorithm. you should make benchmark by yourself to see how fast training is on your own dataset. Once you model built (with problems such as overfitting solved), prediction is another step. $\endgroup$ – Manu H Aug 5 '16 at 12:24
  • $\begingroup$ @ManuH I know that for the implementation I used it was too slow for kNN. But I can only guess that this is an intrinsic problem of the algorithm, which cannot be solved in this problem domain (e. g. By heavy dimensionality reduction). This is the reason why I ask for papers: I want to know what others have tried. $\endgroup$ – Martin Thoma Aug 5 '16 at 13:55
4
$\begingroup$

Part of the problem with answering this question is there are actually two questions. The first:

Are there any image classification algorithms which are not neural networks?

Yes, lots. But now the actually question:

Is there any paper which tries an approach which does not use neural networks in LSVRC?

In your question, you rule out methods such as kNN and SVM because of speed. Bag of Words is one method used to solve this problem. MATLAB has a good demonstration (http://www.mathworks.com/help/vision/examples/image-category-classification-using-bag-of-features.html). But BoW incorporates k-means clustering, so that may not fit your needs.

There are some other interesting image classification methods such as texture analysis. TA is being researched as a way to classify malevolence of disease in medical images (such as tumors). Here is a commonly referenced paper: http://www.ncbi.nlm.nih.gov/pmc/articles/PMC2701316/

Here's an overview of image classification: http://www.tandfonline.com/doi/full/10.1080/01431160600746456

| improve this answer | |
$\endgroup$
1
$\begingroup$

You can use any algorithm that can handle the dimensionality of your data, including SVM and K Nearest Neighbors. Performance of the best implemented algorithms are all nearly the same, accept for CNN. The reason that CNN is used is because it is currently the leader with regard to accuracy, and has been for several years.

| improve this answer | |
$\endgroup$
0
$\begingroup$

There are many algorithms that can be used to perform classifications ( many to the point that it is difficult to mention all of them ) I suggest you to have a look at this http://dlib.net/ml_guide.svg

Making the decision which algorithm to use is a function of the problem you are working with, mainly: 1. The number of classes 2. The number of samples 3. The variations within classes and similarities between classes 4. Data imbalance 5. The dimension of your feature And many other parameters

In general, CNN is very popular for two reasons: They can lead to high performance in very challenging problems and they are general solutions in the context that you need to understand their architectures the strategies and tricks to perform training only, after that you do not need to change anything , no parameters to play with .

| improve this answer | |
$\endgroup$
  • $\begingroup$ Please read the question in bold in the text I wrote. $\endgroup$ – Martin Thoma Aug 5 '16 at 13:57

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.