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).
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 ):
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:
haar features Adaboost algorithm (classifier)
HOG + SVM (generally used for pedestrian detection)
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
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
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