目标检测2——R-CNN(将CNN网络应用在目标检测领域的开山之作)

二阶段目标检测系列文章
目标检测1——二阶段目标检测概述
目标检测2——R-CNN(将CNN网络应用在目标检测领域的开山之作)
目标检测3——SPPNet(空间金字塔池化可以接收任何尺度的图像)
目标检测4——Fast R-CNN(ROI Pooling、SVD、Multi-task Loss等新特性实现端到端的训练并显著提升训练和推理的速度)
目标检测5——Faster R-CNN(RPN网络代替Selective Search来获取候选框)

一、基本介绍

  • CVPR2014:Rich feature hierarchies for accurate object detection and semantic segmentation
  • R-CNN 的全称为 Regions with Convolutional Neural Network Features
  • R-CNN 是一种基于 Region Proposal 的 CNN 网络结构
  • R-CNN 是将深度学习应用到目标检测领域的经典之作,并凭借卷积神经网络出色的特征提取能力,大幅度提高了目标检测的效果
  • 尽管R-CNN显著地提高了目标检测的效果,但仍存在以下问题:
    • 重复计算
    • 训练测试分为多步
    • 训练的空间和时间代价很高
    • 检测速度较慢 10s/image (GPU)、50s/image (CPU)
    • 无法输入任意尺寸大小图片

二、R-CNN的基本步骤

基本步骤

  1. Region Proposal:提取候选框/ROI(~2k/image,Selective Search)
  2. ROI 预处理:先将候选框膨胀16像素(dilate),再将候选框缩放至227×227固定大小
  3. 特征提取:通过 CNN 网络提取每个候选区域的图像特征(AlexNet,4096维)
  4. 分类与回归:
    • 分类:使用 N 个 SVM 分类器(二分类,FC7,N-类别数量)
    • 回归:Bounding Box Regression 进行候选框的微调(Conv5)

在这里插入图片描述

在这里插入图片描述

Bounding Box Regression

  • 黄色框口 P 表示建议框 Region Proposal
    P = ( P x , P y , P w , P h ) P=(P_x, P_y, P_w, P_h) P=(Px,Py,Pw,Ph)
  • 绿色窗口 G 表示实际框 Ground Truth
    G = ( G x , G y , G w , G h ) G=(G_x, G_y, G_w, G_h) G=(Gx,Gy,Gw,Gh)
  • 红色窗口 G ^ \hat{G} G^ 表示 Region Proposal 进行回归后的预测窗口
    G ^ = ( G x ^ , G y ^ , G w ^ , G h ^ ) \hat{G}=(\hat{G_x}, \hat{G_y}, \hat{G_w}, \hat{G_h}) G^=(Gx^,Gy^,Gw^,Gh^)
  • 目标是找到 P 到 G ^ \hat{G} G^ 的线性变换
    在这里插入图片描述
    Bounding Box Regression

三、R-CNN 相关思考问题

  • 为什么选择FC层的输出作为ROI的高阶特征?
  • 为什么进行fine-tuning?
  • 为什么在CNN softmax模型训练之外,需要单独训练一个SVM分类器呢?

四、针对R-CNN的改进

  • 提取候选框:EdgeBoxes、RPN网络
  • 共享卷积运算:SPPNet、Fast R-CNN
  • 兼容任意尺寸图像:SPP、ROI Pooling
  • 预设长宽比:Anchor
  • 网络结构:端到端
  • 融合各层特征:FPN

五、参考资料

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值