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

相关推荐
晨曦_子画3 分钟前
编程语言之战:AI 之后的 Kotlin 与 Java
android·java·开发语言·人工智能·kotlin
道可云5 分钟前
道可云人工智能&元宇宙每日资讯|2024国际虚拟现实创新大会将在青岛举办
大数据·人工智能·3d·机器人·ar·vr
人工智能培训咨询叶梓14 分钟前
探索开放资源上指令微调语言模型的现状
人工智能·语言模型·自然语言处理·性能优化·调优·大模型微调·指令微调
zzZ_CMing14 分钟前
大语言模型训练的全过程:预训练、微调、RLHF
人工智能·自然语言处理·aigc
newxtc15 分钟前
【旷视科技-注册/登录安全分析报告】
人工智能·科技·安全·ddddocr
成都古河云16 分钟前
智慧场馆:安全、节能与智能化管理的未来
大数据·运维·人工智能·安全·智慧城市
UCloud_TShare19 分钟前
浅谈语言模型推理框架 vLLM 0.6.0性能优化
人工智能
软工菜鸡23 分钟前
预训练语言模型BERT——PaddleNLP中的预训练模型
大数据·人工智能·深度学习·算法·语言模型·自然语言处理·bert
vivid_blog29 分钟前
大语言模型(LLM)入门级选手初学教程 III
人工智能·语言模型·自然语言处理
AI视觉网奇1 小时前
sklearn 安装使用笔记
人工智能·算法·sklearn