RCNN学习笔记——第一篇: RCNN -> FAST RCNN -> FASTER RCNN 处理流程分析及比较

RCNN -> FAST RCNN -> FASTER RCNN系列比较

paper:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks

在这里插入图片描述

1. RCNN

1.1 处理流程

(1) image input;
(2) 利用selective search 算法在图像中从上到下提取2000个左右的Region Proposal;
(3) 将每个Region Proposal 缩放(warp) 成227*227的大小并输入到CNN,将CNN的fc7层的输出作为特征;
(4) 将每个Region Proposal提取的CNN特征输入到 SVM进行分类
(5) 对于SVM分好类的Region Proposal做 边框回归,用Bounding box回归值校正原来的建议窗口,生成预测窗口坐标。

1.2 缺陷:

(1) 训练分为多个阶段,步骤繁琐:微调(fine tuning)网络+训练SVM+训练边框回归器;
(2) 训练耗时,占用磁盘空间大;5000张图像产生几百G的特征文件;
(3) 速度慢:使用GPU,VGG16模型处理一张图像需要47s;
(4) 测试速度慢:每个候选区域需要运行整个前向CNN计算;
(5) SVM和回归是事后操作,在SVM和回归过程中CNN特征没有被学习更新。

2. FAST RCNN

2.1 处理流程

(1) image input;
(2) 利用selective search 算法在图像中从上到下提取2000个左右的建议窗口(Region Proposal);
(3) 将整张图片输入CNN,进行特征提取;
(4) 把建议窗口映射到CNN的最后一层卷积feature map上;
(5) 通过RoI pooling层(RoI Pooling层则负责收集proposal,并计算出proposal feature maps)使每个建议窗口生成固定尺寸的feature map
(6) 利用 Softmax Loss(探测分类概率) 和Smooth L1 Loss(探测边框回归) 对分类概率和边框回归(Bounding box regression)联合训练。

2.2 对比

相比R-CNN,主要两处不同:
(1) 最后一层卷积层后加了一个ROI pooling layer;
(2) 损失函数使用了多任务损失函数(multi-task loss),将边框回归直接加入到CNN网络中训练

改进:
(1) 测试时速度慢:R-CNN把一张图像分解成大量的建议框,每个建议框拉伸形成的图像都会单独通过CNN提取特征.实际上这些建议框之间大量重叠,特征值之间完全可以共享,造成了运算能力的浪费;
FAST-RCNN将整张图像归一化后直接送入CNN,在最后的卷积层输出的feature map上,加入建议框信息,使得在此之前的CNN运算得以共享。
(2) 训练时速度慢:R-CNN在训练时,是在采用SVM分类之前,把通过CNN提取的特征存储在硬盘上.这种方法造成了训练性能低下,因为在硬盘上大量的读写数据会造成训练速度缓慢.
FAST-RCNN在训练时,只需要将一张图像送入网络,每张图像一次性地提取CNN特征和建议区域,训练数据在GPU内存里直接进Loss层,这样候选区域的前几层特征不需要再重复计算且不再需要把大量数据存储在硬盘上。
(3) 训练所需空间大:R-CNN中独立的SVM分类器和回归器需要大量特征作为训练样本,需要大量的硬盘空间.FAST-RCNN把类别判断和位置回归统一用深度网络实现,不再需要额外存储
(4) 由于ROI pooling的提出实现了对positive anchors进行bounding box regression,不再需要对input进行Corp和wrap操作,避免像素的损失,巧妙解决了尺度缩放的问题

3.FASTER RCNN

3.1 处理流程

img

在这里插入图片描述

(1) image input;
(2) 将整张图片输入backbone,进行特征提取;
(3) 用RPN层先生成一堆Anchor box,对其进行裁剪过滤(NMS)后通过softmax判断anchors属于是前景(positive)还是背景(negative),即是物体或不是物体,所以这是一个二分类;同时,另一分支bounding box regression初步修正anchor box,形成较精确的proposals
(4) 把建议窗口proposals映射到CNN的最后一层卷积feature map上;
(5) 通过RoI pooling层使每个RoI生成固定尺寸的feature map;
(6) 利用Softmax Loss(探测分类概率) 和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合训练,回归结果再次修正bbox位置。

3.2 对比

相比FAST-RCNN,主要两处不同:
(1) 使用RPN(Region Proposal Network)代替原来的Selective Search方法产生建议窗口;
(2) 产生建议窗口的CNN和目标检测的CNN共享,减少训练参数,提升训练速度

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值