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

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 (?).

• 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. Aug 5, 2016 at 12:24
• @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. Aug 5, 2016 at 13:55

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

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 .

• Please read the question in bold in the text I wrote. Aug 5, 2016 at 13:57