目标检测-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)寻找的候选框,非常耗时。

相关推荐
质变科技AI就绪数据云1 天前
AI Data独角兽猎手的12个预测(2026)
人工智能·向量数据库·ai agent
互联网志1 天前
交通运输行业作为人工智能落地领域,是一个庞大的人工智能应用场景
人工智能·百度
小程故事多_801 天前
Agent Skills深度解析,让智能体从“会连接”到“会做事”的核心引擎
数据库·人工智能·aigc
啊巴矲1 天前
小白从零开始勇闯人工智能:深度学习初级篇(初识深度学习及环境的配置与安装)
人工智能·深度学习
白白要坚持1 天前
本地部署jina-bert
人工智能·bert·jina
救救孩子把1 天前
51-机器学习与大模型开发数学教程-4-13 EM算法与混合模型
人工智能·算法·机器学习
Fuly10241 天前
多模态大模型应用技术栈
人工智能·深度学习·计算机视觉
Brduino脑机接口技术答疑1 天前
TDCA 算法在 SSVEP 场景中的训练必要性
人工智能·算法·机器学习·脑机接口
悟道心1 天前
1.自然语言处理NLP - 入门
人工智能·自然语言处理
雪花desu1 天前
深度解析RAG(检索增强生成)技术
人工智能·深度学习·语言模型·chatgpt·langchain