【目标检测】Fast R-CNN详解

前言

Fast R-CNN是作者Ross Girshick继R-CNN后的又一力作。同样使用VGG16作为网络的骨架,在训练速度比R-CNN快了近9倍,测试速度快了213倍,在Pascal VOC数据集上accuracy从62%提升至66%,它解决了重复卷积计算和固定输入尺度的问题。

Fast R-CNN框架

Fast R-CNN 的总体架构如下图所示。
在这里插入图片描述
顾名思义,Fast R-CNN 相对于R-CNN 的一个重要的优势就是速度快,以下是它的主要步骤:
1. 利用SS算法(选择性搜索)生成1k-2k的候选区域。
2. 使用深度网络(VGG16)对输入的图像进行提取特征,把候选区域投影到特征图上生成相应的特征矩阵。
3. 然后将每个特征图经过兴趣区域池化(RoI Pooling)层缩放到7×7的特征图。
4. 接着经过一系列全连接层,最后并联一个softmax层预测类别和bbox regressor(边界框回归)预测边界框。

特征提取

需要注意的是这里把整张图像送入网络提取特征,然后把候选区域经过映射到特征图上提取特征,而不是单独对每一个候选区域进行计算(卷积运算)
即实现了共享卷积的过程,这也是因为它比R-CNN快的原因。

RoI Pooling层

ROI Pooling 层的工作原理是将每个候选区域的特征图均匀分割成一个网格单元。对网格中的每个单元格应用 max pooling操作以返回单个值。所有单元格的所有值表示特征向量,需要注意的是这里将卷积神经网络的输出和提议区域作为输入。其优点是不限制输入图像的尺寸,也能转化为大小统一的特征矩阵。

分类器

在这里得到候选框的类别以及得分,我们知道经过softmax运算会的得到一个概率分布,由于Pascal VOC数据集上有20个类别,因此输出的神经元共有21个,其中一个是背景的概率。
在这里插入图片描述
例如从上图我们可知预测的类别为第4个类别。

边界框回归器

常用的边界框表示有(中间,宽度,高度)和(左上,右下),原论文用的是第一种,因此候选框回归参数为 ( d x , d y , d w , d h ) (d_x,d_y,d_w,d_h) (dx,dy,dw,dh), 假如有 N + 1 N+1 N+1个类别,则输出 4 ( N + 1 ) 4(N+1) 4(N+1)个神经元,在Pascal VOC数据集上候选框回归参数如下:
在这里插入图片描述

Multi-task loss

在常见的神经网络中,其流程大多是定义损失函数,从而反向传播来训练模型,在Fast R-CNN中,其定义的损失函数是多任务损失函数。
在这里插入图片描述
1.分类损失
p p p:候选边界框经分类器预测的概率分布(softmax) p = ( p 0 , p 1 , . . . , p N ) p=(p_{0},p_{1},...,p_{N}) p=(p0,p1,...,pN)
u u u:真是边界框中的真是类别标签
其中 L c l s = − log ⁡ p u L_{cls}=-\log p_{u} Lcls=logpu

2.边界框回归损失
在这里插入图片描述
在这里插入图片描述
其中,
t u t^{u} tu:对应边界框回归器的对应类别为 u u u的回归参数 ( t x u , t y u , t h u , t w u ) (t_x^u,t_y^u,t_h^u,t_w^u) (txu,tyu,thu,twu)
v v v:对应真是目标边界框的回归参数 ( v x , v y , v h , v w ) (v_x,v_y,v_h,v_w) (vx,vy,vh,vw)
需要注意的是smooth L1损失完美地劈开了L1和L2作为损失函数的缺陷。

参考资料

目标检测中的回归损失函数系列一:Smooth L1 Loss
Fast R-CNN

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当讲解 R-CNNFast R-CNNFaster R-CNN 和 Mask R-CNN 时,你可以按照以下思路和讲解内容进行组织: 思路: 1. 介绍目标检测的概念和应用场景,以引起听众的兴趣。 2. 简要解释传统目标检测方法的局限性,如选择性搜索等。 3. 引出 R-CNN 作为第一个基于深度学习目标检测方法,并介绍其基本原理。 4. 逐步引入 Fast R-CNNFaster R-CNN 和 Mask R-CNN,说明它们在 R-CNN 的基础上进行了哪些改进和优化。 具体讲解内容: 1. R-CNN (Region-based Convolutional Neural Networks) - 解释 R-CNN 的三个主要步骤:候选区域生成、特征提取和分类器。 - 介绍选择性搜索算法用于生成候选区域。 - 解释如何利用预训练的卷积神经网络提取候选区域的特征。 - 说明如何使用 SVM 进行目标分类。 2. Fast R-CNN - 引出 Fast R-CNN 的改进目标:加速训练和推理过程,提高检测效果。 - 解释 Fast R-CNN 的主要改进:使用全卷积网络提取特征,引入 RoI pooling 层等。 - 说明 Fast R-CNN 的训练和推理流程。 3. Faster R-CNN - 引出 Faster R-CNN 的改进目标:进一步提高检测速度。 - 介绍 Faster R-CNN 的两个核心组件:区域建议网络 (RPN) 和 Fast R-CNN。 - 解释 RPN 的作用和原理,以及如何生成候选区域。 - 说明 Faster R-CNN 的训练和推理流程。 4. Mask R-CNN - 引出 Mask R-CNN 的改进目标:在目标检测的基础上增加语义分割能力。 - 解释 Mask R-CNN 的主要改进:在 Fast R-CNN 的基础上添加了一个分割分支。 - 说明如何通过在 RoI 上应用全卷积网络实现像素级别的语义分割。 通过以上思路和具体内容,你可以向听众清晰地介绍 R-CNNFast R-CNNFaster R-CNN 和 Mask R-CNN 的原理和演进过程。记得适当使用图表和示意图来帮助解释。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小白哒哒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值