目标检测是深度学习中一个重要的应用,一般包含两个步骤:①对图像进行分类,识别物体是什么;②定位目标,找出目标在哪里。
图像分割则是将每一像素与其表示的目标类别对应起来,即从像素水平上对目标定位,不再是简单地画矩形框。
第一种 传统的目标检测算法有Cascade + HOG/DPM + Haar/SVM以及上述方法的诸多改进、优化;这些算法一般有以下流程:
1.采用穷举策略的选择区域,即设置不同大小、不同长宽比的滑动窗口对图像进行遍历;穷举策略计算量庞大,耗时长。
2.使用SIFT、HOG提取特征;因为形态多样性、光照变化多样性、背景多样性导致鲁棒性差。
3.使用SVM、Adaboost等分类器对特征进行分类。
第二种 基于候选区域+深度学习的方法有:
R-CNN(Selective Search + CNN + SVM)
SPP-net(ROI Pooling)
Fast R-CNN(Selective Search + CNN + ROI)
Faster R-CNN(RPN + CNN + ROI)
R-FCN
第三种 基于深度学习的回归方法有:YOLO/SSD/DenseBox 等方法;以及最近出现的结合RNN算法的RRC detection;结合DPM的Deformable CNN等。
R-CNN是将CNN用于物体检测的早期应用,可以说是利用卷积神经网络进行目标检测的开山之作。相较于传统的目标检测算法,R-CNN不再暴力穷举所有矩形框,而是采用Selective Search或EdgeBoxes等方法,预先找出图中可能出现目标的位置(候选区域)。剩下的工作则是采用CNN(如AlexNet)对候选区域提取特征,使用SVM对特征进行分类。