R-CNN到Faster R-CNN

Classification and Location分类和位置标定

sliding window滑动窗口:

首先对输入图像进行不同窗口大小的滑窗进行从左往右、从上到下的滑动。每次滑动时候对当前窗口执行分类器(分类器是事先训练好的)。如果当前窗口得到较高的分类概率,则认为检测到了物体。对每个不同窗口大小的滑窗都进行检测后,会得到不同窗口检测到的物体标记,这些窗口大小会存在重复较高的部分,最后采用非极大值抑制(Non-MaximumSuppression, NMS)的方法进行筛选。最终,经过NMS筛选后获得检测到的物体。 scale:分成不同大小的框
在这里插入图片描述

Region proposals:Seltctive Search:选择性搜索

图像中物体可能存在的区域应该是有某些相似性或者连续性区域的。因此,选择搜索基于上面这一想法采用子区域合并的方法进行提取bounding boxes候选边界框。首先,对输入图像进行分割算法产生许多小的子区域。其次,根据这些子区域之间相似性(相似性标准主要有颜色、纹理、大小等等)进行区域合并,不断的进行区域迭代合并。每次迭代过程中对这些合并的子区域做bounding boxes(外切矩形),这些子区域外切矩形就是通常所说的候选框。再进行scale或者sliding window时就不用遍历整个图片
在这里插入图片描述

1、R-CNN:

  • 先用Regions of Interest(ROL-候选区域-Seltctive Search)从图中选出一些区域

  • 进行resize操作,将大小不同的框变成一样大小

  • 再通过卷积神经网络,得到特征向量值

  • 将特征固华存入disk磁盘,再进行分类
    在这里插入图片描述

  • step1:fine turn操作,先找到合适的模型,在其参数的基础上更改

  • strp2:将全连接层的分类参数改成自己需要的参数(类别个数)在这里插入图片描述

  • step3:通过Regions of Interest得到Region Proposals
    在这里插入图片描述

  • step4:用SVM进行分类

  • step5:通过回归模型对Proposals进行微调,从而完成物体识别任务
    在这里插入图片描述
    R-CNN缺点:

  • 训练时间慢,需要很多region proposal

  • 需将特征固化,再进行训练

  • 没有将所有流程形成pipeline

2、Fast-R-CNN:

  • R-CNN是对每个物体候选框自己做自己的卷积操作,是不合理的,而Fast-R-CNN先对物体候选框进行卷积权重共享操作,极大的提高test time
  • 取消了disk操作,存在内存中进行训练
  • 全连接层一部分分支做回归,一部分做分类,将softmax loss和LR loss连在一起,反向传播时用总的loss调节参数,做到了end to end:极大提升速度
    *end to end:减少了中间操作,极大提升速度,鲁棒性更强
    在这里插入图片描述
    未加Seltctive Search的测试时间:
    在这里插入图片描述
    加Seltctive Search的测试时间:
    在这里插入图片描述
    发现测试时间多了两秒,对于实时测试来说是非常慢的

3、Faster R-CNN:

  • 将Seltctive Search找框的操作整合到整个网络中
    增加了Region Proposals Network(RPN),不再需要对原始图像进行Seltctive Search,直接用卷积之后的特征结果找框,分类,回归
    在这里插入图片描述
    Faster R-CNN最大的改进:在最后一层卷积的特征图上做sliding window滑动窗口找出特征
    在这里插入图片描述
    一个sliding window是3x3大小,对其生成n个anchors(n=9个大小不一形状不等的常见框),然后进行分类回归
    在这里插入图片描述
    模型对特征做分类时,要保证特征的维度不变,为了将不同的anchors维度相同,须做roi pooling特征压缩成固定大小
    在这里插入图片描述
    Faster R-CNN相对与Faste R-CNN,准确率没有下降,且速度极大提升
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_38016957/article/details/89472409