Faster RCNN系列回顾

Faster RCNN系列回顾

1、RCNN

步骤:

  • 一张图像使用(Selective Search方法)生成1~2K个候选区域
  • 对于每个候选区域,使用深度网络提取特征
  • 特征送入每一类的SVM分类器,判别是否属于该类
  • 使用回归器精细修正候选框位置

非极大值抑制剔除重叠建议框:

  • 计算proposal和GT的IOU,寻找得分最高的proposal
  • 计算其他proposal和该proposal的iou值
  • 删除所有iou值大于给定阈值proposal

经过NMS之后,对于剩余的proposal再使用回归器精细修正候选框位置

image-20230707101528070

存在的问题:

  • 测试速度慢
  • 训练速度慢
  • 训练所需空间大

2、Fast R-CNN

步骤:

  • 一张图像使用(Selective Search方法)生成1~2K个候选区域

  • 图像(整个图像)输入网络得到相应的特征图,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵(这是将第一阶段生成的候选框映射到特征图上)

  • 将每个特征矩阵通过ROI pooling层缩放到7X7大小的特征图,然后将特征图展平通过一系列全连接层获得预测结果

image-20230707102427774

有一个优点就是在候选框生成之后,RCNN需要将每个候选框都输入卷积神经网络提取一遍特征,而Faste RCNN只需要将候选框投影到最开始由整幅图像生成的特征图上面。

  • ROI Pooling层

就是将任意大小的特征图化成7X7份,对于每一块都采样最大下采样池化层,这样最终不管特征图多大,最终都会得到7X7大小的特征图。

3.Faster RCNN

步骤:

  • 将图像输入网络得到相应的特征图
  • 使用RPN结构生成候选框,将RPN生成的候选框投影到特征图上获得相应的特征矩阵(这里生成的候选框,它是在feature map的基础上生成的)
  • 将每个特征矩阵通过ROI pooling层缩放到7X7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果

image-20230707104739890

RPN

image-20230707105419527

  • 在特征图上,使用滑动窗口进行滑动,每到一个位置生成一个256-d(其中256是特征图的channel)的一维向量。然后再通过俩个全连接成生成2k scores,和4k coordinates(对于每个anchor box生成2个scores,4个coordinates)

其中2个score,一个是前景概率,一个是背景概率,只做一个二分类,并不去计算各个类别的概率。

image-20230707105800362

对于特侦图上的每个3X3的滑动窗口,计算出滑动窗口中心点对应原始图像上的中心点位置,然后以原图对应的中心点为中心,在原图上计算出K个anchor box。其中anchor box是提前设置好的大小和长宽比例。

anchor尺度和比例:

三种尺度(面积) { 12 8 2 128_{2} 1282 25 6 2 256_{2} 2562 51 2 2 512_{2} 5122,}

三种比例{1:1, 1:2, 2:1}

anchor和proposal区别就是,生成的anchor经过筛选之后就可以变为proposal

正负样本生成:

每张图只从上万个anchor中采取256个anchor。其中,包括了正样本和负样本。其比例最好是1:1,如果正样本的数量不足128时,我们使用负样本来进行填充,反正总数是要有256个。

  • 如何是正样本:
    • 某个anchor/anchors和一个GT有着最大的IOU,那么它也是正样本
    • anchor和任意一个GT的IOU>0.7就是正样本
  • 负样本:
    • 所有的GT的IOU<0.3就是负样本。

RPN Muilti-task loss

image-20230707112221055

anchor的个数等于anchor位置个数 X k的。约2400是因为特征图大小为(60x40)

Faster RCNN训练

后来的Faster-RCNN训练是采用RPN Loss和Fast R-CNN Loss联合训练方式

原论文中采样分别训练RPN以及Fast R-CNN的方法:

  • 利用ImageNet预训练分类模型初始化前置卷积网络层参数,并开始单独训练RPN网络参数
  • 固定RPN网络独有的卷积层以及全连接层参数,再利用ImageNet与寻来你分类模型初始前置卷积网络参数,并利用RPN网络生成的目标建议框去训练Fast RCNN网络参数
  • 固定利用Fast RCNN训练好的前置卷积网络层参数,去微调RPN网络独有的卷积层以及全连接层参数。
  • 同样保持固定前置卷积网络层参数,去微调Fast RCNN网络的全连接层参数,最后RPN网络和Fast RCNN网络共享前置卷积网络层参数,构成一个统一网络。

参考

https://www.bilibili.com/video/BV1af4y1m7iL?p=3&spm_id_from=pageDriver&vd_source=9d14e5d446c7c743208869eced3fcf60

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值