Fast RCNN

Fast RCNN

1.简介

Fast R-CNN是作者Ross Girshick继R-CNN后的又一力作。同样使用VGG16作为网络的backbone,与R-CNN相比训练时间快9倍,测试推理时间快213倍,准确率从62%提升至66%(再Pascal VOC数据集上)。

原论文名称:Fast R-CNN

2.Fast R-CNN算法流程##

  • 一张图像生成1K-2K个候选区域(使用Selective Search方法)
  • 将图像输入网络得到相应的特征图,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵
  • 将每个矩阵通过ROI pooling层缩放到7×7大小的特征图,接着将特征图展平通过一系列全连接层 得到预测结果
  • Region of Interest感兴趣区域

    Fast RCNN_第1张图片

如上图所示,将一张图像输入到Deep ConvNet中得到图像的特征图,根据ROI区域与整体图像的坐标进行特征映射,能够得到每一个候选区域的特征矩阵。

将每一个特征矩阵通过ROI pooling layer,池化到固定尺寸(7*7),然后展平为向量。

之后ROI feature vector并联两个FC,其中一个用于目标概率预测(softmax),另一个用于边界框参数的回归(bbox regressor)

3.一次性计算得到整张图像特征

  • R-CNN依次将候选框区域输入卷积神经网络得到特征
  • Fast-RCNN将整张图象送入网络,紧接着从特征图像上提取相应的候选区域(原图和特征图的映射关系)。这些候选区域的特征不需要再重复计算
  • 不限制输入图像的尺寸
    Fast RCNN_第2张图片

4.训练数据的采样

并非使用ss算法得到的所有候选框。

  • 正样本:候选框中存在检测目标的样本
    IOU
  • 负样本:理解为背景,没有检测的目标。
  • 使用ROI Pooling Layer缩放到统一尺寸(忽略尺寸)

    Fast RCNN_第3张图片

Fast RCNN_第4张图片

5.softmax分类器

  • softmax分类器输出N+1个类别的概率,输出N+1个类别的概率(N为检测目标的种类,1为背景)共N+1个节点,如下图所示:

    Fast RCNN_第5张图片

如上图所示,该数据集有20个类别,1个背景,所以上图第一个节点为背景概率,后面20个节点为检测目标种类的概率。

6.边界框回归器

输出对应N+1个类别的候选边界框回归参数(dx,dy,dw,dh),共(N+1)×4个节点、
Fast RCNN_第6张图片

Fast RCNN_第7张图片

px,py,pw,ph分别为候选框的中心x,y坐标,以及宽高

Gx,Gy,Gw,Gh分别为最终预测的边界框中心x,y坐标以及宽高

Fast RCNN_第8张图片

橙色:候选边界框

红色:最终预测边界框

7.损失函数

Fast RCNN_第9张图片

因为再Fast RCNN中需要预测N+1个类别的概率以及边界框的回归参数,所以定义了两个损失函数:分类损失函数和边界框回归损失函数

Fast RCNN_第10张图片

  • 1.分类损失

    Fast RCNN_第11张图片

Fast RCNN_第12张图片

p是分类器预测的softmax概率分布p=( p0,…, pk )

u对应目标真实类别标签

实际上就是针对多分类问题的交叉熵损失。

  • 2.边界框回归损失

    在这里插入图片描述

Fast RCNN_第13张图片

在这里插入图片描述

u对应目标真实类别标签,当为背景时,则该项为0,也就不存在什么边界框回归损失了。

你可能感兴趣的:(深度学习-目标检测篇,深度学习,目标检测,计算机视觉)