【目标检测】Fast RCNN基本思想和网络结构以及论文补充

文章目录

    • fast-RCNN
      • 一、fast-RCNN简介
      • 二、fast-RCNN算法的3个步骤
        • 1.概念:训练数据的采样(正负样本)
        • 2.分类器
        • 3.边界框回归器
        • 4.多任务损失函数
      • 三、论文解析补充
        • 1.R-CNN的缺点
        • 2.Fast R-CNN方法的几个优点
        • 3.Fast R-CNN引入Rol层
        • 4.尺度不变性
        • 5.最长时间的花费地方
        • 6.SVD压缩参数
        • 7.重要结论

fast-RCNN

一、fast-RCNN简介

Fast R-CNN是作者Ross Girshick继R-CNN后的又一力作。同样使用VGG16作为网络的backbone,与R-CNN相比训练时间快9倍,测试推理时间快213倍,准确率从62%提升至66%(再Pascal VOC数据集上)。
【目标检测】Fast RCNN基本思想和网络结构以及论文补充_第1张图片
注意:
这里与RCNN有明显的不同,RCNN是独立的四步,这里只有两步,所以大大加快了训练速度。
在这里插入图片描述

二、fast-RCNN算法的3个步骤

1.一张图像生成1K~2K个候选区域(使用Selective Search方法)
2.将图像输入网络得到相应的特征图,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵
3.将每个特征矩阵通过ROI pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果
在这里插入图片描述
注意:
与RCNN在第二步有所不同,RCNN是把候选框送入CNN,而fast-RCNN是把整张图片送进去。
在这里插入图片描述

1.概念:训练数据的采样(正负样本)

1.正样本就是感兴趣的部分,负样本就是没有我们需要的样本(可以理解为背景)
2.训练的时候不是用ss算法中的全部候选框,只是使用了一部分:只要候选框和我们的真实的目标边界框的iou大于0.5,那么就认为是正样本,不是所有的正样本都会被使用,也是随机选择使用的。
3.RoI Pooling Layer
【目标检测】Fast RCNN基本思想和网络结构以及论文补充_第2张图片

2.分类器

【目标检测】Fast RCNN基本思想和网络结构以及论文补充_第3张图片

3.边界框回归器

【目标检测】Fast RCNN基本思想和网络结构以及论文补充_第4张图片
【目标检测】Fast RCNN基本思想和网络结构以及论文补充_第5张图片

4.多任务损失函数

【目标检测】Fast RCNN基本思想和网络结构以及论文补充_第6张图片
【目标检测】Fast RCNN基本思想和网络结构以及论文补充_第7张图片
【目标检测】Fast RCNN基本思想和网络结构以及论文补充_第8张图片

三、论文解析补充

1.R-CNN的缺点

1.训练是多阶段的
2.训练需要大量的空间和时间
3.因为每张图片需要2000个候选框,所以训练的很慢
主要原因:R-CNN需要一个CNN前向传播,但是没有使用到共享计算。这里使用SPPnet的思路
下边介绍一下SPPnet引入的新思想 什么是SPPnet?
【目标检测】Fast RCNN基本思想和网络结构以及论文补充_第9张图片
这里使用到sppnet思想空间金字塔池化层
和RCNN的区别
RCNN一般使用的是3*3步长为2的最大池化层,spp层就是限制了输出的尺寸,动态池化控制输出尺寸,不需要想RCNN限制输入图片的尺寸了
新思想:
不传候选区域,直接传整张图片。这一块解决了上述CNN因为候选框太多处理图片慢的问题。
缺点:
无法更新空间金字塔池化之前的卷积层

2.Fast R-CNN方法的几个优点

1.mAP高于R-CNN、SPPnet
2.训练是单阶段的,使用多任务损失
3.训练可以更新所有网络层 (包括卷积层和全连接层)
4.特性缓存不需要磁盘存储

3.Fast R-CNN引入Rol层

RoI层只是SPPnets中使用的空间金字塔池化层的特殊情况,其中只有一个金字塔层。

4.尺度不变性

有两个目标,一个目标大,一个小,如果都能被识别,证明模型有很好的尺度不变性。

5.最长时间的花费地方

对于检测,要处理的roi数量很大,并且近一半的前向通过时间花在计算全连接层上

6.SVD压缩参数

中间的对角矩阵,左上的最重要,右下的相对不重要,故取左上一部分。把nn 变tt.相当于把n压缩到t,压缩的越多,后续的参数越少。
在这里插入图片描述

7.重要结论

1.sppnet只微调全连接层,把卷积层全部冻结。
fastrcnn证明了微调卷积层也是很重要的,实验证明调越靠前的卷积层,效果会更好。
2.多任务训练能提高平均精度。
3.多尺度训练能提高平均精度。
4.大量的训练数据能提高平均精度。
5.使用softmax替换SVM能提高平均精度。
6.使用更多的候选框不一定能提高平均精度。会出现先上升再向下的趋势
7.不需要再单独训练分类器边界框回归器

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