Traditional machine learning target detection and deep learning target detection

Overview:

Target classification : give a picture, classification

Target detection : Give a picture, find the target, and draw it with a rectangular frame

Classification is the whole of a picture , and detection is a step further to find a part of a picture. General testing is based on classification,

For example, use the sliding window to search, and then use the classifier to classify whether it is a target or a background, or multiple classification (this is the difference between regression and classification).

Development Process:

Project pre-research Algorithm selection data set download and packaging environment build model training model test model optimization

The difference between traditional machine learning target detection and deep learning target detection: traditional machine learning target detection pays more attention to feature extraction, features are generally more interpretable, deep learning is a multi-layer convolution network, self-learning features (convolutional features ) There is no need to design the features yourself, the features are only understood by the computer.

One. Traditional target detection ( not the most traditional, machine learning ):

Process:

Candidate box: generally use the sliding window method to extract

Feature extraction (pattern recognition):

Low-level, hand-designed features, textures, colors, shapes, etc. (sift surf haar LBP HOG)

Medium-level, machine-learned features, such as pca features, lda

Classifier: a classifier trained in advance (based on the above features), here is the two classification, that is, the target and background, there are also multiple classification

NMS algorithm: non-maximum suppression, remove unnecessary frames. Improve soft-NMS

Traditional target detection methods:

Viola-Jones(VJ)

    haar features Adaboost algorithm (classifier)

HOG + SVM (generally used for pedestrian detection)

HOG feature SVM (classifier)

DPM

Calculate DPM feature map, calculate response map, latent SVM classifier training, detection and recognition

Two deep learning target detection

Deep learning target detection is generally divided into two types, two-stage and one-stage

Two-stage(faster RCNN)

Using CNN convolutional features, RPN algorithm recommends candidate boxes

Core components : CNN network (backbone network), RPN network (regional recommendation, anchor mechanism)

From a strategic point of view, Two-stage, like traditional machine learning target detection, requires a candidate box, and then comes to judge. It's just that now using multi-layer convolutional neural networks comes from learning features, the traditional is to design features yourself

One-stage (Yolo, SSD ,Retina-Net)

Use CNN convolution features, without using RPN, to directly return the class probability and coordinate values ​​of objects

Core components : CNN network (backbone network), regression network

Compare:

One-stage accuracy is low, but the speed block, small object detection effect is not good, high miss detection

Two-stage has high accuracy and uses the anchor mechanism, but the speed is slow, the training time is long, and the false alarm is high

Published 59 original articles · Likes46 · Visits 30,000+

Guess you like

Origin blog.csdn.net/sinat_41852207/article/details/88199697