2021-02-09 RCNN series

Faster R-CNN在出现5年之后,据称也仍是一个常用的目标检测做法,值得了解学习一下其整个系列的思路。

R-CNN(Regions with CNN features)系列有最开始的R-CNN,改进的Fast R-CNN,和之后再改进的Faster R-CNN。

比较好的对比,和总结:

  1. 一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
  2. 一文读懂Faster RCNN
  3. R-CNN & Fast R-CNN & Faster R-CNN
  4. 捋一捋pytorch官方FasterRCNN代码
  5. 只用RPN检测和SSD的简单说明

1. R-CNN

R-CNN包含3个模块:

  • Region proposals (selective search)
  • Compute CNN features (CNN feature extraction)
  • Classify regions (SVM)

缺点(Fast R-CNN中提出):

  • multi-stage 训练
  • 训练耗费空间和时间
  • test阶段检测很慢,因为每个proposal都要CNN处理一遍
    在这里插入图片描述

2. Fast R-CNN

Fast R-CNN对R-CNN的改进在于:

  • 更好的检测效果(mAP)
  • 用多任务的loss,只需进行single-stage的训练
  • 训练可以更新所有网络层
  • 不需要另外对提取的feature进行缓存

最核心的在于,不用针对很多个ROI区域分别进行CNN,只需要对卷积层输出的feature map用ROI pooling,获取固定大小的feature给到FC层,即可只需要一次操作。

增加的操作有:

在这里插入图片描述

3. Faster R-CNN

Fast R-CNN用selective search进行region proposal仍然较慢,Faster R-CNN进一步加速。

相比Fast R-CNN,增加了:

  • RPN网络 & anchor
    在这里插入图片描述

一个有意思的思考点在于:RPN已经有了检测功能,单纯用RPN是否就够了?
StackOverflow上有一个对应的问题why don’t we just use only rpn for detection,但似乎没有特别好的答案。大部分答案表示,R-CNN是一个2stage的方案,前一个stage提供proposal,可能performance会比较差,后一个stage进行提升。

但也有提到这篇行人检测的论文Is Faster R-CNN Doing Well for Pedestrian Detection?,其中提到对于单类别的检测,RPN可能已经够了。而且对于行人等比较小的object还需要针对分辨率低的问题进行一些提升。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值