基于DL的目标检测技术:R-CNN、Fast R-CNN、Faster R-CNN

目标检测:在给定的图片中精确找到物体所在位置,并标注出物体的类别。
目标检测=图像识别(CNN)+定位(回归问题/取图像窗口)

遇到多物体识别+定位多个物体?
选择性搜索找出可能含有物体的框(候选框)判定得分。这些框之间是可以互相重叠互相包含的,从而避免暴力枚举的所有框了。

1.R-CNN

步骤一:训练(或者下载)一个分类模型(比如AlexNet)
步骤二:对该模型做fine-tuning

  • 修改分类数
  • 去掉最后一个全连接层

步骤三:特征提取

  • 提取图像的所有候选框(选择性搜索)
  • 对于每一个区域:修正区域大小以适合CNN的输入,做一次前向运算,将第五个池化层的输出(就是对候选框提取到的特征)存到硬盘
    在这里插入图片描述

步骤四:训练一个SVM分类器(二分类)来判断这个候选框里物体的类别

  • 每个类别对应一个SVM,判断是不是属于这个类别,是就是正类,反之负类

步骤五:训练一个回归器精细修正候选框位置:对于每一个类,训练一个线性回归模型去判定这个框是否框得完美。
在这里插入图片描述

速度瓶颈

计算机对所有候选框进行特征提取时会有重复计算

2.Fast R-CNN

在RCNN的基础上采纳了SPP Net方法(空间金字塔池化)

  • 整张图输入CNN提取一次特征
  • 找出每个候选框在feature map上的映射patch

速度瓶颈

选择性搜索,找出所有的候选框这个过程也耗时

3.Faster R-CNN

在Fast R-CNN的基础上加入一个提取候选区域的网络RPN(Region Proposal Network),代替了费时的选择性搜索,使得检测速度大幅提高。

具体做法

  • 将RPN放在CNN最后一个卷积层的后面
  • RPN直接训练得到候选区域

RPN简介

  • 本质是 “ 基于滑窗的无类别目标检测器 ” :
  • 在feature map上滑动窗口产生锚点
  • 建立一个神经网络用于物体分类+框位置的回归
  • 滑动窗口的位置提供了物体的大体位置信息
  • 框位置的回归提供了框更精确的位置

猜你喜欢

转载自blog.csdn.net/weixin_38493025/article/details/84258229