Feature extraction in machine learning

I am a bit confused by reading A survey on object detection in remote sensing. They state that machine learning-based object detection consists of three essential parts - feature extraction, feature fusion + dimension reduction, and classifier training. Then, they list the feature extraction methods:

  • Histogram of Oriented Gradients,
  • Bag of Words,
  • Texture Features,
  • and more.

Later in the section, they list approaches to the classifier training, e.g.:

  • SVM,
  • AdaBoost,
  • k-nearest-neighbor,
  • neural networks.

This does not align with my understanding of things. My experience is mostly with CNNs. When I use convolutional neural networks for object detection, they consist of a feature extractor and a classifier, don't they? And the feature extractor are the convolutional (and/or other) layers. I've never come across an algorithm/technique that uses e.g. Bag of Words to extract features and then feeds this to a neural net. I can imagine e.g. Bag of Words and k-nearest-neighbors or SVM. But I thought that deep neural nets' main advantage is that we don't have to do the prior feature engineering.

Question: Does the article (the part I mention here) accurately describe the state of object detection machine learning models? Is the article just outdated (it's from 2016)? Or am I missing something

Topic object-detection deep-learning machine-learning

Category Data Science


I don't know much but maybe my answer would helps you. For machine learning, we have to do feature engineering to extract the important features from the data. Here we have images and the methods above to extract features of each object and image, then classify them using one of machine learning algorithms.

In CNNs, you do all these together and that's why the the CNNs object detection approach is better than ML approaches.

If you look at any of famous object detection models, you will see a CNN model such as ResNet or VGG which are used for feature extraction as a first part of the model.

Also, you can use the model for feature extractions and then apply ML algorithms to classify such as KNN, SVM, etc.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.