RCNN物体检测算法

R-CNN

示意图

  • 启发式搜索来选择锚框
  • 通过CNN提取特征
  • 基于锚框的分类和回归
    • 分类: SVM
    • 回归: 线性回归,来获得锚框和目标框的偏移量

兴趣区域(ROI)池化层

将不同大小的特征图转换为固定大小的特征图

  • 输入: 特征图, 锚框
  • 输出: 固定大小的特征图
  • 过程:
    • 对每个锚框, 均匀分割为固定数量的区域
    • 对每个区域, 取像素最大值
    • 输出固定大小的特征图
      ROI池化

Fast R-CNN

改进

  • 改变了启发式搜索的位置
  • 引入了CNN的特征提取层,在ROI池化层之前。在原图像中启发式搜索获取锚框,映射到CNN的输出上,再交给CNN。可以先抽取全局的特征再进行ROI池化,而不是先ROI池化再过CNN.

Faster R-CNN

改进(相对于 Fast R-CNN)

  • 将启发式搜索替换为区域建议网络RPN(Region Proposal Network)
    • 输入: 图像
    • 输出: 锚框
    • 过程:
      • 使用CNN提取特征图
      • 生成锚框
      • 预测每个锚框的分类和回归偏移量
      • 非极大值抑制(NMS)
        • 输入: 锚框, 分类分数
        • 输出: 保留的锚框
        • 过程:
          • 对每个类别, 按分类分数排序
          • 从高到低遍历, 保留当前锚框, 并移除与当前锚框重叠度高的锚框

RPN

Mask R-CNN

改进(相对于 Faster R-CNN)

  • 引入了掩码预测层FCN( Fully Convolutional Network)
    • 作用:利用像素级的标号
    • 输入: 锚框
    • 输出: 掩码
    • 过程:
      • 对每个锚框, 预测一个二进制掩码
      • 对每个像素, 预测它是否属于物体
  • ROI池化层被替换成ROI align层
    • 作用:更准确的提取特征
    • 输入: 特征图, 锚框
    • 输出: 固定大小的特征图
    • 过程:
      • 对每个锚框, 均匀分割为固定数量的区域(每个区域的大小相同,交叉的像素点会被按权重拆开)
      • 对每个区域, 取像素最大值
      • 输出固定大小的特征图
        Mask R-CNN

RCNN物体检测算法
http://example.com/2025/08/19/25_08_19RCNN物体检测算法/
作者
ZF ZHAO
发布于
2025年8月19日
许可协议