深度学习目标检测——RCNN系列

本博文旨在记录小编工作之余研读RCNN系列论文时的一些疑惑和笔记,以及整理的一些流程图,方便日后查阅。如有理解有误的地方,欢迎大家指正,期待和大家一起学习、进步。

目录:

  • R-CNN
  • SPP-Net
  • Fast-RCNN
  • Faster-RCNN
  • 演变汇总

R-CNN

论文链接:https://arxiv.org/pdf/1311.2524.pdf

操作流程

                              

        

 

  • step-1. 由selective search产生约2k region proposals;
  • step-2. 利用每个proposal的信息从原图得到img_region,然后resize到ConvNet的输入尺寸,得到resize_region;
  • step-3. 将resize_region输入ConvNet,在目标层截取feature,并存入disk;
  • step-4. 将抽取的feature输入到SVM进行分类;
  • step-5. 利用bbox regression对分类后的bbox进行refine.

                               

方法缺点

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

SPP-Net

论文链接:https://arxiv.org/pdf/1406.4729.pdf

操作流程

                    

  • step-1. 利用selective search算法在图像中从上到下提取2000个左右的Region Proposals;
  • step-2. 将整张图片输入ConvNet提取feature,并将proposal映射到特征图得到roi_feature;
  • step-3. 利用Spatial-Pyramid-Pooling从roi_feature提取统一大小的feature
  • step-4. 将抽取的feature输入到SVM进行分类;
  • step-5. 利用bbox regression对分类后的bbox进行refine.

  

优点

  • 提出了Spatial-Pyramid-Pooling方法,突破了传统ConvNets输入图片尺寸必须固定的限制;
  • 相对于R-CNN而言,所有的roi_feature共享feature_map,大大提升了计算效率;

缺点

  • 依然是multi-step的操作流程,没有实现end-to-end;
  • SVM和回归是事后操作,在SVM和回归过程中CNN特征没有被学习更新.

Fast R-CNN

论文链接:https://arxiv.org/pdf/1504.08083.pdf

github : https://github.com/rbgirshick/fast-rcnn

操作流程

                                

  • step-1. 输入测试图像;
  • step-2.利用selective search算法在图像中从上到下提取2000个左右的Region Proposals;
  • step-3.将整张图片输入ConvNet,进行特征提取;
  • step-4.把建议窗口映射到ConvNet的最后一层卷积feature map上;
  • step-5.通过RoI pooling层使每个建议窗口生成固定尺寸的feature map;
  • step-6.利用Softmax Loss和Smooth L1 Loss对分类概率和Bounding box regression联合训练.

与R-CNN的不同点

  • 在最后一层卷积层后加入了ROI pooling layer;
  •  损失函数使用了多任务损失函数(multi-task loss),将边框回归直接加入到CNN网络中训练

why Fast ?

  • R-CNN : 每个建议框在经过拉伸后都会单独通过ConvNet提取特征. 实际上,这些建议框之间大量重叠,造成算力的浪费.
  • Fast R-CNN : 在原始图像传入ConvNet后得到的feature_map上加入proposal-info来获取Region的feature.

Faster R-CNN

论文链接:https://arxiv.org/pdf/1506.01497.pdf

github:https://github.com/jwyang/faster-rcnn.pytorch

tutorial:http://www.telesens.co/2018/03/11/object-detection-and-classification-using-r-cnns/

操作流程

                        

                       

  • step-1. 输入测试图像;
  • step-2. 将整张图片输入ConvNet,进行特征提取;
  • step-3. 用RPN生成建议窗口(proposals),每张图片保留约300个Region Proposals;
  • step-4. 把建议窗口映射到ConvNet的最后一层卷积feature map上;
  • step-5. 通过RoI pooling层使每个RoI生成固定尺寸的feature map;
  • step-6. 利用Softmax Loss和Smooth L1 Loss对分类概率和Bounding box regression联合训练.

与Fast R-CNN的不同点

  • Fast使用Selective Search算法来生成proposal,faster则使用RPN来产生proposal;

改进点

  • 基于FCN的RPN产生的proposal数量少但质量更高;
  • 生成proposal的网络和用于detection的网络共享ConvNet;

参考文献

[1]. Rich feature hierarchies for accurate object detection and semantic segmentation[CVPR-2014]

[2]. Fast R-CNN[ICCV-2015]

[3]. https://www.cnblogs.com/hellcat/p/9629942.html

[4]. https://blog.csdn.net/wodemimashi125/article/details/81591362

[5]. https://blog.csdn.net/qq_28123095/article/details/79765999

[6].https://www.cnblogs.com/guoyaohua/p/8994246.html [耀华]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ReLuJie

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

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

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

打赏作者

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

抵扣说明:

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

余额充值