目标检测算法总结

目录

    • 目录
    • 一、目标检测
      • 1. 算法目的:一是分类图像中的物体,二是给出图像中物体的具体位置
      • 2. 解决算法:一是传统的图像处理方法,二是基于深度学习的方法。
    • 二、传统目标检测
      • 1. 主要算法流程:
      • 2. 典型算法
    • 二、two-stage 深度模型目标检测
      • 1.算法模型比较
        • 1.1 RCNN
          • 1.1.1 RCNN 模型结构图
          • 1.1.2 RCNN流程
          • 1.1.3 RCNN提升
        • 1.2 SPPnet
          • 1.2.1 SPP net 模型结构图
          • 1.2.2 SPPnet流程
          • 1.2.3 Sppnet 的提升
        • 1.3 Fast RCNN
          • 1.3.1 Fast RCNN 模型结构图
          • 1.3.2 Fast RCNN 流程
          • 1.3.3 Fast RCNN 的提升
        • 1.4 Faster RCNN
          • 1.4.1 Faster RCNN 模型结构
          • 1.4.2 Faster RCNN 流程图
          • 1.4.3 Faster RCNN的提升
      • 2. 算法数据处理比较
        • 2.1 RCNN
        • 2.2 SPPnet
        • 2.3 Fast RCNN
        • 2.4 Faster RCNN

一、目标检测

1. 算法目的:一是分类图像中的物体,二是给出图像中物体的具体位置

2. 解决算法:一是传统的图像处理方法,二是基于深度学习的方法。

二、传统目标检测

1. 主要算法流程:

  • 提取候选区域(proposal) Selective Search
  • 对候选区域进行特征提取(haar,hog)
  • 使用分类器(事先训练好的)进行分类
  • 对所有包含有效目标的候选区域进行合并
  • 作图,绘制出检测目标轮廓框

2. 典型算法

  • haar+SVM
  • Hog + SVM
  • DPM
  • 模板匹配
  • 级联算法(Cascade +Haar/SVM+HOG/DPM)

二、two-stage 深度模型目标检测

1.算法模型比较

1.1 RCNN

1.1.1 RCNN 模型结构图

参考RCNN
目标检测算法总结_第1张图片

1.1.2 RCNN流程
  • 使用selective search方法提取候选框(proposal) 约1K~2K个proposals
  • 对每个proposal,剪切为相同大小之后,将其输入卷积网络提取特征
  • 特征输入SVM分类器进行分类
  • 使用回归器精细修正明确目标的候选框的位置
1.1.3 RCNN提升

相比传统方法,主要是将特征提取采用了卷积网络进行提取,提高了准确度和时间。

1.2 SPPnet

参考:
目标检测之Sppnet
Sppnet

1.2.1 SPP net 模型结构图

Sppnet
目标检测算法总结_第2张图片
目标检测算法总结_第3张图片

1.2.2 SPPnet流程
  • 使用selective search方法提取候选框(proposal) 约1K~2K个proposals
  • 将原始图片输入卷积层,然后将region proposal对应到feature map(映射结果就是不同大小的ROI)
  • 将ROI输入到金字塔层,输出相同大小的feature map,然后输入到fc层,进行分类和回归
1.2.3 Sppnet 的提升
  • 卷积权重共享,只对原始图片进行一次卷积操作,region proposal对应的feature map是对整张图片的feature map进行映射得到.
  • 不再对图片进行wraped操作,使用金字塔层将region proposal对应的feature map映射到相同的大小,满足fc层的输入

1.3 Fast RCNN

参考:
Fast RCNN 算法详解

1.3.1 Fast RCNN 模型结构图

目标检测算法总结_第4张图片
目标检测算法总结_第5张图片

1.3.2 Fast RCNN 流程
  • 提取region proposal
  • 将图像归一化到224*224之后送入卷积网络提取特征
  • 然后将region proposal对应的feature map进行映射,得到ROI
  • 进行ROI pooling,将ROI pooling为相同大小的feature map输入到fc层
  • 分类和回归都是使用网络模型进行实现
1.3.3 Fast RCNN 的提升
  • RCNN一张图像内候选框之间大量重叠,提取特征操作冗余。
    本文将整张图像归一化后直接送入深度网络。在邻接时,才加入候选框信息,在末尾的少数几层处理每个候选框
  • 在训练时,本文先将一张图像送入网络,紧接着送入从这幅图像上提取出的候选区域。这些候选区域的前几层特征不需要再重复计算
  • RCNN中独立的分类器和回归器需要大量特征作为训练样本。Fast RCNN把类别判断和位置精调统一用深度网络实现,不再需要额外存储

1.4 Faster RCNN

参考:
Faster RCNN 算法详解

1.4.1 Faster RCNN 模型结构

目标检测算法总结_第6张图片
目标检测算法总结_第7张图片

1.4.2 Faster RCNN 流程图
  • 将图像按照不同时期缩放到相应的尺度,然后输入到特征提取网络
  • 将feature map输入到RPN中提取anchor,并且给出anchor的坐标以及相应的前后景概率
  • 接下来将anchor和feature map作为fast rcnn接下来的输入,其中的anchor就类似于Fast RCNN中的proposals
1.4.3 Faster RCNN的提升
  • 将proposal的提取也使用模型进行实现

2. 算法数据处理比较

2.1 RCNN

  • proposal 归一化为227*227之后再输入卷积网络提取特征
  • fine-tuning阶段:学习率0.001,每一个batch包含32个正样本(属于20类)和96个背景,训练数据:如果重叠比例大于0.5,则认为此候选框为此标定的类别;否则认为此候选框为背景
  • 类别判断阶段:hard negative mining 如果和本类所有标定框的重叠都小于0.3,认定其为负样本,正样本为本类的真值标定框
  • 精修位置阶段:训练样本判定为本类的候选框中,和真值重叠面积大于0.6的候选框
  • PASCAL VOC上的检测率从35.1%提升到53.7%

2.2 SPPnet

  • 使用卷积计算共享的操作,只需要对整张图像进行特征提取一次,之后再将proposal与其对应。
  • 不需要将图片先进行crop之类的操作,直接使用金字塔层在全连接层之前进行大小处理

2.3 Fast RCNN

  • RCNN一张图像内候选框之间大量重叠,提取特征操作冗余。
    本文将整张图像归一化后(224*224)直接送入深度网络。在邻接时,才加入候选框信息,在末尾的少数几层处理每个候选框
  • 在训练时,本文先将一张图像送入网络,紧接着送入从这幅图像上提取出的候选区域。这些候选区域的前几层特征不需要再重复计算(同 SPPNET)
  • RCNN中独立的分类器和回归器需要大量特征作为训练样本。
    本文把类别判断和位置精调统一用深度网络实现,不再需要额外存储
  • 采用SVD对全连接层参数进行分解,进行全连接层提速。
  • 前景:25% ,与某个真值重叠在[0.5,1]的候选框,背景:与真值重叠的最大值在[0.1,0.5)的候选框

2.4 Faster RCNN

  • 候选区域生成使用深度网络模型实现
  • 考察训练集中的每张图像:
    a. 对每个标定的真值候选区域,与其重叠比例最大的anchor记为前景样本
    b. 对a)剩余的anchor,如果其与某个标定重叠比例大于0.7,记为前景样本;如果其与任意一个标定的重叠比例都小于0.3,记为背景样本
    c. 对a),b)剩余的anchor,弃去不用。
    d. 跨越图像边界的anchor弃去不用

以上就是对two-stage和传统的目标检测的一些总结,主要四关于一些参数耳朵设置,还有样本的处理这些。主要关注样本处理的细节。
之后会再来看看one-stage的。

你可能感兴趣的:(计算机视觉)