R-CNN(Region with CNN feature)

目录

1. 介绍

2. R-CNN

2.1 SS(Selective Search) 算法 生成候选框

2.2 CNN 提取特征

2.3 SVM 分类

非极大值抑制

2.4 回归器微调候选框

3. R-CNN 的缺点


1. 介绍

目标识别的发展历史如图

 

2. R-CNN

RCNN 是两阶段目标检测的鼻祖,类似于深度学习开山之作AlexNet那种地位

目标检测的可以分为两种:one-stage和two-stage

 

RCNN的算法流程为:

 

2.1 SS(Selective Search) 算法 生成候选框

因为RCNN是two-stage的算法,这种算法的特点是先生成候选框,然后根据生成的候选框去进一步的分类或者调整

 

这些候选框生成有很多的方法,比如根据聚类算法将类似灰度值的作为同一个区域,这样就可以产生一个阈值的效果。根据不同的区域,生成不同的候选框,RCNN总共生成2000个矩形候选框

 

2.2 CNN 提取特征

RCNN成功因素之一就是使用了深度网络进行特征提取,而不是传统的手工涉及特征的方法

当时深度学习的开山之作为AlexNet,因为当时的局限性,特征提取后的size是固定的,为了和全连接层保持一致,所以这里需要固定的输入大小。

这里用的是AlexNet 网络,所以输入图像的大小为227*227。而AlexNet特征提取层的输出为4096的向量,所以这里的输出为2000*4096

 

2.3 SVM 分类

CNN 提取的特征送入SVM进行类别的分类,SVM是一个二分类的分类器

这里的分类类别是20,所以最后会产生一个2000*20的输出。2000类似于batch,20为分类个数

 

矩阵的运算过程为:

 

非极大值抑制

经过SVM分类器后的输出维度是2000*20,意思是每个不同的类别都有2000个候选框,接下来进行非极大值抑制将无用的候选框去除

例如,假设第一列是cat这个类别,那么在2000个中寻找预测最准的那个框。然后将这个预测准的候选框与周围的候选框求iou,去除iou > 给定阈值的候选框

目标检测首先要检测的准,也就是分类的问题,所以在2000*20的每一列里面找到预测最准的候选框。既然这个候选框识别这么准了,就将周围的候选框框的较准的也去掉,因为周围候选框的识别准确率不够高,可以去除重叠的候选框。

 

2.4 回归器微调候选框

因为SS算法生成的候选框虽然可以根据类似聚类的算法产生,但还是具有一定的随机性

这里使用一个回归器对候选框进行微调

回归器可以理解为一个回归模型,会产生连续的预测值。

将生成的候选框和真实的标签框通过最小二乘算法,然后一直训练,回归器就可以尽可能的将产生好的候选框去拟合真实的标签框

 

3. R-CNN 的缺点

RCNN算法的流程如下

 

可以发现,RCNN的实现步骤很繁琐,而且相互之间的依赖程度很高,导致运行速度很慢。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

听风吹等浪起

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

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

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

打赏作者

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

抵扣说明:

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

余额充值