浅谈RCNN

RCNN算法分为4个步骤:

  • 一张图像生成大约2千个候选区域
  • 对每个候选区域,使用深度网络提取特征
  • 特征分类(SVM);留下包含物体的regions,从而作为bounding boxes
  • bounding box筛选,并使用回归器修正位置
    在这里插入图片描述

1.生成候选区域

使用Selective Search生成图像的候选区域。
将图像过分割,再将相似(颜色、文理等相似)的区域组合,直到组合成完整图像为止。整个过程中产生的区域都作为候选区域。生成两千个左右的候选区域。


2.特征提取

把候选区域归一化成同一尺寸227×227送入特征提取神经网络,输出4096维候选框特征。
神经网络采用AlexNet,略作简化:
在这里插入图片描述

2.1 Pre-train:

此网络提取的特征为4096维,之后送入一个4096->1000的全连接(fc)层进行分类。
学习率0.01。
使用ILVCR 2012的全部数据进行训练,输入一张图片,输出1000维的类别标号。

2.2 Fine-tune:

同样使用上述网络,最后一层换成4096->21(20个类+背景)的全连接网络
学习率0.001,每一个batch包含32个正样本(属于20类)和96个背景。
使用PASCAL VOC 2007的训练集,输入一张图片,输出21维的类别标号,表示20类+背景。候选框和当前图像上标定框重叠比例大于0.5,则认为属于该类别,否则认为候选框是背景。

3.特征分类

分类器
对于每一类,使用二值SVM分类器判断。输入4096维特征,输出是否属于该类。
由于负样本很多,使用hard negative mining方法(即只选取像正样本的负样本作为负样本)。
训练时: 正负样本标定:IOU>0.3则为正样本。
测试时: SVM输出为正的regions作为待筛选的bounding boxes。

4.bounding box筛选并修正位置

候选框的位置精确程度大大影响了最终识别结果。


bounding box筛选
使用极大值抑制(NMS)。筛选得到每一类对应的最优的bounding box。
回归器
对每一类目标,使用一个线性脊回归器进行精修。正则项λ=10000。
输入为深度网络pool5层的4096维特征,输出为xy方向的缩放和平移。
训练样本
和真值重叠比例大于0.6的候选框。


RCNN网络的缺点

缺点:
1.训练需要几个阶段
2.SS得到的regions是不同尺寸的。不同尺寸的regions需要经过,裁剪及放缩到相同的尺寸,这样会使一些内容丢失。
3.每个region的都需要经过模型去提取,并存放至磁盘;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

师大先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值