RCNN和Fast RCNN简单一看

RCNN 

region proposal  CNN是2014年那个时间的工作。那时候使用基于CNN的神经网络在image classification任务上已经取得了有目共睹的成绩,在object detection的任务上,也开始有一些工作借鉴image classification的经验。

该工作的核心思想是将目标检测以分类的方法来实现。具体来说分为三步。第一步,将从图像中推举出2000个候选区域proposals。第二步,对每个候选区域proposal做reshape,将reshape之后的Img输入给CNN网络提取特征。第三步,用SVM对4096维度的image feature做分类(仅仅是2分类哈,每个svm仅仅做一个类别的分类,因此有多少个类别就有多少个SVM做分类) 实际上为了让定位准确,还要对proposal的BBX做NMS和regression。

因为这个方法属于古老的两阶段方法,而且还不是端到端的可训练网络,所以对这个方法仅仅是一扫而过,不做太多阅读。 (在test的时候,好几十秒处理一张图,现在看来确实离谱)

Fast RCNN 

    相比于RCNN,fast rcnn的进步主要是体现在两个地方:特征feature计算方式和后端分类定位方式。

       首先是前端的特征计算不同,在RCNN中,是将每个proposal做reshape,在放进CNN feature extractor,这样得到统一大小的feature,然后在此基础上用SVM分类和proposal 的NMS或者定位localize的回归。但是fast rcnn是直接将整张图放进基于CNN的特征提取网络,计算得到整个图的feature map,然后根据每个region proposal来做ROI projection,在feature map上找到当前proposal对应的feature 区域。但是每个proposal(ROI)对应的feature的size是不一样的,为例后续能够统一计算所以使用ROI pooling将每个proposal的feature 处理成统一大小。

       fast rcnn的feature计算方式即整张图一次计算,每个proposal 的feature在整张图的feature map上去取对应的子 feature 区域,不需要对2000个proposals 都放到基于CNN的feature提取网络中走一遍去获得每个proposal 的feature,因此速度快。(RCNN是每个proposal都reshape ,然后放进特征提取网络计算feature)

        fast rcnn在分类和定位的方式上跟rcnn也不同。rcnn是采用SVM分类器,和前面的特征提取网络是分开的,需要单独训练。但是fast rcnn后端的分类和定位localization是以neural network的统一方式与特征提取网络合并到一起的,采用多任务损失,将分类和锚框的位置回归以及前端的特征提取网络三者一起训练。 

总结

Fast rcnn特征共享使得计算更高效(在秒级),同时依靠统一的架构使得训练更容易,不需要做分块训练,但是region proposal还是采用机器学习的传统方法,而非深度学习的方法

RCNN和fast rcnn是在当年那个缺乏框架工具,缺乏计算资源的年代,从机器学习往深度学习发展的过渡时期的两个工作,在实现和训练的过程上都比较复杂。历史意义比借鉴意义更重大

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值