目标检测-Two Stage-Fast RCNN

文章目录


前言

前文目标检测-Two Stage-SPP Net中提到SPP Net的主要缺点是:

  • 分开训练多个模型困难且复杂
  • 尽管比RCNN快10-100倍,但仍然很慢
  • SPP Net无法更新空间金字塔池化层以下的权重,根本原因是,当每个训练样本来自不同影像时,通过SPP层的反向传播效率很低

Fast RCNN针对上述缺点做了改进


提示:以下是本篇文章正文内容,下面内容可供参考

一、Fast RCNN的网络结构和流程

  1. 使用Selective Search提取2,000个感兴趣区(RoIs)
  2. 预训练CNN模型(VGG)+ 微调(fine-tuning) / 从头开始训练模型
  3. 使用CNN网络从整个图像中提取特征图(feature maps)
  4. 使用线性模型将RoI在原图的位置映射到卷积层特征图,以获取每个RoI的特征图(feature map)
  5. 通过ROI池化层(ROI Pooling Layer)将每个RoI的feature map转化为固定大小

ps:ROI Pooling Layer实质就是单层(7×7) SPP Layer

  1. 将经过ROI池化层得到的候选窗口的表示输入全连接网络
  2. 将全连接网络输出直接输入神经网络分类器(Linear+softmax)和神经网络回归器(Linear),得到类别和目标框

二、Fast RCNN的创新点

1.特征提取+分类+回归合一

使用softmax替代SVM分类,同时利用多任务损失函数(multi-task loss)将边框回归(Bounding Box Regression)也加入到了网络中,这样整个的训练过程除去Region Proposal提取阶段外,其余部分是端到端的,使得训练变得简便快捷

Fast R-CNN的multi-task loss为分类交叉熵损失和回归L1损失的加权和

2.更快的训练策略

在Fast RCNN网络训练中,随机梯度下降(SGD)的小批量是被分层采样的,首先采样 N N N个图像,然后从每个图像采样 R R R个 RoI。关键的是,来自同一图像的RoI在向前和向后传播中共享计算和内存。减小 N N N,就减少了小批量的计算。例如,当 N = 2 N = 2 N=2和 R = 128 R = 128 R=128时,得到的训练方案比从128幅不同的图采样一个RoI(即R-CNN和SPPnet的策略)快64倍。

ps:SPP-net是先把所有图像用SS计算的RoIs存起来,再从中每次随机选128个RoIs作为一个batch进行训练,这128个RoIs最坏的情况来自128张不同的图像,那么要对128张图像都送入网络计算其特征,同时内存要把128张图像的各层feature maps都记录下来(反向求导时要用),所以时间和空间上开销都比较大;而Fast R-CNN虽然也是SS计算RoIs,但每次只选2张图像的RoIs(一张图像上约2000个RoIs),再从中选128个作为一个batch,那么训练时只要计算和存储2张图像的Feature maps,所以时间和内存开销更小


总结

尽管相比于RCNN和SPP Net更快更简便,但Fast R-CNN仍是通过手工方法(Selective Search)寻找的候选框,非常耗时。

相关推荐
大力财经7 分钟前
百度开启AI新纪元,让智能从成本变成超级生产力
人工智能·百度
雍凉明月夜30 分钟前
Ⅰ人工智能学习的核心概念概述+线性回归(1)
人工智能·学习
Dyanic31 分钟前
融合尺度感知注意力、多模态提示学习与融合适配器的RGBT跟踪
人工智能·深度学习·transformer
这张生成的图像能检测吗34 分钟前
(论文速读)AIMV2:一种基于多模态自回归预训练的大规模视觉编码器方法
人工智能·计算机视觉·预训练·视觉语言模型
这儿有一堆花42 分钟前
使用 Whisper 转写语音的完整教学
人工智能·ai·whisper
JD技术委员会1 小时前
如何在风险未提前识别导致损失后改进风险机制
人工智能
xuehaikj1 小时前
基于Mask R-CNN的汽车防夹手检测与识别系统
人工智能·汽车
AndrewHZ1 小时前
【图像处理基石】 怎么让图片变成波普风?
图像处理·算法·计算机视觉·风格迁移·cv
野生面壁者章北海2 小时前
ICML2025|基于Logits的大语言模型端到端文本水印方法
人工智能·语言模型·自然语言处理
说私域2 小时前
开源AI智能名片链动2+1模式S2B2C商城小程序:分享经济时代的技术赋能与模式创新
人工智能·小程序·开源