深度网络中的目标检测算法RCNN系列-简述

本文详细介绍了R-CNN系列目标检测算法,包括R-CNN、Fast R-CNN、Faster R-CNN和Mask R-CNN。阐述了各算法的流程,如R-CNN的候选区域生成、特征提取等步骤;还说明了各算法的优化点,如Fast R-CNN解决了速度和空间问题,Faster R-CNN引入RPN,Mask R-CNN添加全卷积网络。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

R-CNN

算法流程:

  1. 输入图像
  2. 每张图像生成1k - 2k个候选区域。
  3. 对每个候选区域,使用深度网络CNN提取特征。(AlexNet、vgg、resnet等CNN)
  4. 4-1.将特征送入每一类的SVM分类器,判别是非属于该类。
    4-2.使用回归器精细修正候选框位置。

生成候选区域

使用selective search(选择性搜索)方法对每一张图生成1k - 2k的区域。
5. 分割区域 使用一种过分割手段,将图像分割成小区域。
6. 合并区域 将小区域合并可能性最高的两个区域,重复直到整张图合并成一个区域位置。
7. 优先合并区域:
- 颜色相近的(颜色直方图)
- 纹理相近的(梯度直方图)
- 合并后总面积小的
- 合并后总面积在其BBox中所占比例大的
8. 输出所有曾经存在过的区域,及候选区域

特征提取

提取特征之前,首先把候选区域归一化成同一尺寸。(与全连接层相关)
使用CNN模型进行训练,提取特征。(AlexNet、Vgg、resnet)等。

类别判别

对每一个目标,各自使用一个线性SVM二分类器进行判别。
输入为CNN输出的4096维特征,输出是否属于此类。

位置精修

通过NMS,去除多余候选框。
对每一个类,训练一个线性回归模型去优化候选框位置。

RCNN: 生成候选框(2k)--》 CNN --> 得到每个候选框区域特征 --》 分类+回归

Fast R-CNN

相比R-CNN,解决了以下问题:

  1. 训练,测试时速度慢。 优化:候选区域优化
  2. 训练所需空间大 。 优化:R-cnn中分类器和回归器是独立的,需要大量特征进行训练。fast rcnn将分类器和回归器用深度网络实现。

特征提取阶段 *生成候选区域,仍然使用selective search(选择性搜索)

CNN中输入的尺寸大小不固定,会无法直接接到全连接层进行分类。

在Fast RCNN中,通过ROI pooling层(原型SPPnet-空间金字塔池化网络),将不同大小的输入映射到一个固定的尺寸的特征向量。
ROI pooling层将每个候选区域均匀分布成M*N块,对每块进行maxpooling。对每个region(区域)都提取一个固定维度的特征表示,就可以通过正常的softmax进行类别分类。

分类回归阶段

在Fast RCNN中,将bbox regression(bbox 回归)也放进神经网络内部,与区域分类合并成为一个multi-task模型(共享卷积特征)。

Fast RCNN:生成候选区域 --》 一张完整图像 --》CNN --》 得到feature map,通过映射,得到每个候选框的region feature map --》 分类 + 回归

Faster R-CNN

区域生成网络RPN + Fast RCNN
用区域生成网络(RPN)来替代Fast RCNN中的selective search(选择性搜索)方法。 起到了加速作用。

RPN工作步骤 -RPN是全卷积神经网络

  • 在feature map上滑动窗口,一个特征点生成9个anchar(3尺寸 * 3比例)
  • 建立一个神经网络用于物体分类和proposal 回归
  • 滑动窗口的位置通过了物体的大体位置信息(感受野)
  • 框的回归提供了框更精确的位置
  • 将RPN放到CNN最后一个卷积层的后面,RPN自己训练,得到候选区域。

RPN操作流程:

对整张图输入CNN,得到feature map,使用小型网络在最后的卷积特征图上执行滑动窗口扫描,得到候选框的特征信息,然后映射到低维质量,发送到两个全连接层(bbox分类层-cls 和 bbox回归层-reg)。
reg的作用预测proposal的anchar 对应的proposal的(x,y,w,h)。
cls的作用判断proposal是前景还是背景。

Mask R-CNN

在之前的RCNN中实现了目标的识别和定位,为了更精确的识别目标,提出了在Faster RCNN的基础上添加了一个分支,添加了一个输出物体掩膜(object mask)。

Mask RCNN在Faster RCNN中添加了一个全卷积网络,用于输出二进制mask,以说明给定像素是否是目标的一部分。
为了能在特征图中,选择原图中相对应的像素,将原来的ROI pooling改为ROI Align(双线性插值法),避免错误问题。

对于每个类生成独立的mask。对于每个ROI区域,如果检测到属于哪个分类,就只使用该类的交叉熵误差进行计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值