RCNN fast RCNN faster RCNN的区别

RCNN
它的原理是通过提取多个Region Proposal(候选区域)来判断位置,作者认为以往的对每个滑动窗口进行检测算法是一种浪费资源的方式。在RCNN中,不再对所有的滑动窗口跑算法,而只是选择一些窗口,在少数窗口上运行CNN。
大致流程:
1.输入图像
2.利用selective search对图像生成大概两千个候选区域(region proposal),这个量比传统的算法要少很多。具体一点的话就是选出region proposal的方法是运行图像分割算法,对于分割算法跑出来的块,把它作为可能的region proposal输出。
3.提取特征:将region proposal resize为统一大小,送进没有softmax的CNN,对每个region proposal进行特征提取。
4.对区域进行分类:对从CNN output出来的特征向量送进每一类的SVM分类,如果有十个类别,那么每个rigion proposal要跑10个SVM,得到类别。这里为什么要用SVM而不是softmax,有一种说法是为了解决样本不均衡的问题,另外是早期神经网络不如现在发达,当时SVM还是比较领先的分类器。
5.修正:对CNN output的特征向量(这个特征向量和第4步中拿去给SVM的是一个向量)做回归(左上角和右下角的四个坐标),修正region proposal的位置。
在这里插入图片描述

需要解决两个主要问题
1.如何利用深度的神经网络去做目标的定位
2.如何在一个小规模的数据集上训练能力强劲的网络模型

答①:利用候选区域与CNN结合做目标定位
1.给定一张输入图片,从图片中提取2000个类别独立的候选区域
2.对于每个区域利用CNN抽取一个固定长度的特征向量
3.再对每个区域利用SVM进行目标分类
答②:利用预训练与微调解决标注数据缺乏的问题
主要是针对fc8进行与训练

#### Fast_RCNN
rcnn存在的问题:
	1.一张图像上有大量的重叠框,所以这些候选框送入神经网络的时候,提取特征会有冗余。
	2.训练的空间需求大。因为RCNN中,独立的分类器和回归其需要很多的特征作为训练。RCNN中提取候选框,提取特征和分类回归是分开的,可独立。(需要先使用fine-tuning进行预训练)
	roi是指感兴趣的区域,也就是region proposals,在对原图进行提取的时候,会提取到相应的feature map,那么相应的roi就会在feature map上有映射,这个映射过程就是roipooling的一部分,一般ROI的步骤会继续进行max pooling,进而得到我们需要的feature map 送进后面继续计算。
Fast RCNN主要有三个改进
	1.卷积不再是对每个region proposal进行,而是直接对整张图像,这样减少了很多重复计算。原来RCNN是对每个region proposal分别做卷积,因为一张图像中有2000左右的region proposal,**相互之间的重叠率很高。**
	2.用ROI pooling进行特征的尺寸变换,因为全连接层的输入要求尺寸大小一样,因此不能直接把region proposal作为输入。
	3.将regressor放进网络一起训练,每个类别对应一个regressor,勇士用softmax代替原来的SVM分类器。
**对整张图像卷积而不是对每个region proposal卷积,ROI Pooling,分类和回归都放在网络一起训练的multi-task loss是算法的三个核心。**
**Fast RCNN的主要缺点在于region proposal的提取使用的是selective search,目标检测时间大多消耗在这上面了。**

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值