目标检测

参考:
https://www.cnblogs.com/yege/p/17355384.html#2One_Stage_50
https://blog.csdn.net/weixin_43981621/article/details/120127926
罗会兰, 陈鸿坤. 基于深度学习的目标检测研究综述[J]. 电子学报, 2020, 48(6): 1230-1239. https://doi.org/10.3969/j.issn.0372-2112.2020.06.026

基础概念

目标检测(object detection):找出图像中所有感兴趣的目标,确定他们的类别和位置。

分类

从检测内容上可分为:

  • 单目标侦测

对单张图片进行分类

  • 单类别多目标侦测

检测多个同类目标,主要需要输出目标位置信息

  • 多类别多目标侦测

检测多个异类目标,需要输出目标类型及目标位置信息

从算法类型上可分为:

  • two stage 基于候选区域

先找预选框 region proposal(简称RP,一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类。

任务流程:特征提取 –> 生成RP –> 分类/定位回归。

常见tow stage目标检测算法有:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN和R-FCN等。

传统的目标检测算法采用类似穷举的滑动窗口方式或图像分割技术来生成大量的候选区域,然后对一个候选区域提取图像特征(包括HOG、SIFT、Haar等),并将这些特征传递给一个分类器(如SVM、Adaboost和Random Forest等)用来判断候选区域的类别类别。
alt text

由于传统方法提取的特征存在局限性,产生候选区域的方法需要大量的计算开销,检测的精度和速度远远达不到实际应用的要求,这使得传统目标检测技术研究陷入了瓶颈。

空间金字塔网络(Spatial Pyramid Pooling NetWork,SPP-Net)检测算法,他在CNN最后一层卷积层和全连接层之间加入SPP层,使得网络能够输入任意尺度的候选区域
alt text

Fast R-CNN
将spp层简化成单尺度的ROI Pooling层以统一候选区域特征的大小,而且进一步提出了多任务损失函数思想,将分类损失和边界框回归损失统一训练学习,使得分类和定位任务不仅可以共享卷积特征,还可以相互促进提升检测效果。
alt text
RPN是一种全卷积网络(Fully Convolutional Network,FCN)结构,它将任意大小的特征图作为选入,经过卷积操作后产生一系列可能包含目标的候选框,使算法实现了端到端的训练,极大提高了检测速度

  • one stage 基于回归
    不用RP,直接在网络中提取特征来预测物体分类和位置。

任务流程:特征提取–> 分类/定位回归。

常见的one stage目标检测算法有:OverFeat、YOLOv1、YOLOv2、YOLOv3、SSD和RetinaNet等。

基于回归的目标检测算法不需要候选区域生成分支,对给定输入图像,直接在图像的多个位置回归出目标的候选框和类别。

ssd 算法

alt text

yolo算法 锚框机制

后续会对yolo系列进行专门的学习,这里就不再赘述了。