Building Image Classifier not using Deep Learning

Image classifier can be easily built by using deep learning especially Convolutional Neural Network (CNN). However, you can simply implement image classifier using traditional classifiers. In this post, I introduce how to build image classifier not using Deep Learning. I will not use mathematical formula. Please try to understand the overview intuitively.

Video

Feature extraction

Feature extraction part refers to CNN. The important concepts are window and stride. Let us denote horizontal window as wx, verticalwindow as wy, horizontal stride as sx, and vertical stride as sy.

Training

You can train any traditional classifiers (e.g. XGBoost and RandomForest) with X and y above.

Prediction

The prediction to an image is conducted by voting. First, converting the image to matrix by the procedure above. Second, predict the labels of the examples using trained classifier. Finally, determine the label of the image by majority voting. The figure below shows the procedure:

Conclusion

In this post, I introduce the way to build image classifier not using Deep Learning. Efficient sampling way for classification will accelerate the prediction speed. This is my future work.

Machine Learning Engineer / Youtube streamer. I will share useful information about engineering.