各种目标检测网络

R-CNN -2014 -two stage

各种目标检测网络_第1张图片

  • 候选区域生成: 一张图像生成1K~2K个候选区域 (采用Selective Search 方法)
  • 特征提取: 对每个候选区域,使用深度卷积网络提取特征 (CNN)
  • 类别判断: 特征送入每一类的SVM 分类器,判别是否属于该类
  • 位置精修: 使用回归器精细修正候选框位置
  • 缺点:
    RoI(Region Proposal/Region of Interest)的获取太麻烦(选择性搜索Selective Search)且正确率感人。
    RoI的特征提取太耗时(先切图片,然后CNN提特征,导致数据无法共享),且中间涉及大量的硬盘读写,数据要在硬盘,内存,现存三者之间来回倒腾。
  • Fast R-CNN把问题解决了一半(第二个问题),第一个问题还得看Faster RCNN。

Fast R-CNN -two stage

各种目标检测网络_第2张图片

  • R-CNN的主要性能瓶颈在于需要对每个提议区域独立抽取特征。,由于这些区域通常有大量重叠,独立的特征抽取会导致大量的重复计算。Fast R-CNN对R-CNN的一个主要改进在于只对整个图像做卷积神经网络的前向计算。
  • 与R-CNN相比,Fast R-CNN用来提取特征的卷积神经网络的输入是整个图像,而不是各个提议区域。而且,由于用于提取特征得网络参数可以通过训练更新。
  • 它的主要计算步骤如下。
  1. 提取特征:提取特征的卷积神经网络的输入是整个图像,而不是各个提议区域。
  2. RoI与Roi pooling:兴趣区域池化(region of interest pooling,RoI池化)层,将卷积神经网络的输出和提议区域作为输入,输出连结后的各个提议区域抽取的特征
  3. 预测

Faster R-CNN -2016 -two stage

各种目标检测网络_第3张图片
各种目标检测网络_第4张图片

  • 引入anchor机制
  • 在结构上,Faster RCNN已经将特征抽取(feature extraction),proposal提取,bounding box regression(rect refine),classification都整合在了一个网络中,使得综合性能有较大提高,在检测速度方面尤为明显。
  • 4个内容:
  1. Conv layers。作为一种CNN网络目标检测方法,Faster RCNN首先使用一组基础的conv+relu+pooling层提取image的feature maps。该feature maps被共享用于后续RPN层和全连接层。
  2. Region Proposal Networks。RPN网络用于生成region proposals。该层通过softmax判断anchors属于positive或者negative,再利用bounding box regression修正anchors获得精确的proposals。
  3. Roi Pooling。该层收集输入的feature maps和proposals,综合这些信息后提取proposal feature maps,送入后续全连接层判定目标类别。
  4. Classification。利用proposal feature maps计算proposal的类别,同时再次bounding box regression获得检测框最终的精确位置。

YOLOv1 -2015 -one stage

各种目标检测网络_第5张图片

  • 仿照GoogLeNet搭建的,但并没有采用Inception模块,而是使用 [公式] 和 [公式] 卷积层来堆砌的,所以网络的结构是非常简单的
  • YOLO v1还未采用先验框anchor,而是直接回归目标位置
  • YOLO v1直接预测x,y,w,h,范围比较大,现在我们想预测一个稍微小一点的值,来增加准确度。

YOLOv2 -one stage

  • backbone:
    各种目标检测网络_第6张图片

YOLO v1存在的问题:

  • 预测的框不准确:准确度不足。
  • 很多目标找不到:recall不足。
  • 检测头的改进:引入anchor
  • anchor 是从数据集中聚类得到的,Faster-RCNN中的Anchor的宽高和大小是手动挑选的

YOLOv3 -one stage

  • 解决小目标检测问题
    各种目标检测网络_第7张图片

各种目标检测网络_第8张图片

  • 看YOLO v3检测头分叉
    各种目标检测网络_第9张图片

YOLOv4 -one stage

  • Using multi-anchors for single ground truth:YOLO v3是1个anchor负责一个GT,YOLO v4中用多个anchor去负责一个GT,缓解了正负样本不均衡的问题。
  • Eliminate_grid sensitivity:解决anchor边界的位置是取不到的问题
  • CIoU-loss:

在这里插入图片描述
2.
在这里插入图片描述
3.
在这里插入图片描述
4.
在这里插入图片描述

  • 演化过程:MSE Loss [公式] IoU Loss[公式] GIoU Loss[公式] DIoU Loss[公式] CIoU Loss

  • IOU损失函数对比

YOLOv5 -one stage

  • 自适应anchor:自适应anchor利用网络的学习功能,让
    在这里插入图片描述

也是可以学习的。

各种目标检测网络_第10张图片

SSD- one stage -2016

各种目标检测网络_第11张图片

  • SSD提取了不同尺度的特征图来做检测,大尺度特征图(较靠前的特征图)可以用来检测小物体,而小尺度特征图(较靠后的特征图)用来检测大物体。
  • SSD采用了不同尺度和长宽比的先验框(Prior boxes, Default boxes,在Faster R-CNN中叫做锚,Anchors)
  • 与Yolo最后采用全连接层不同,SSD直接采用卷积对不同的特征图来进行提取检测结果。
  • SSD采用VGG16作为基础模型,然后在VGG16的基础上新增了卷积层来获得更多的特征图以用于检测。

你可能感兴趣的:(各种目标检测网络)