Fast-RCNN模型介绍
📖阅读时长:19分钟
🕙发布时间:2025-02-13
近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企】
公众号【柏企科技说】【柏企阅文】
- 训练是多阶段流程:R-CNN首先使用对数损失在目标候选区域上对卷积神经网络(ConvNet)进行微调。然后,它将支持向量机(SVM)应用于卷积神经网络的特征。这些支持向量机充当目标检测器,取代了通过微调学习到的softmax分类器。在第三个训练阶段,学习边界框回归器。
- 训练在空间和时间上成本高昂:对于支持向量机和边界框回归器的训练,需要从每张图像的每个目标候选区域中提取特征并写入磁盘。这些特征需要数百GB的存储空间。
- 目标检测速度慢:在测试时,需要从每张测试图像的每个目标候选区域中提取特征。R-CNN速度慢是因为它对每个目标候选区域都进行一次卷积神经网络前向传播,没有共享计算。
空间金字塔池化网络(SPPnets)的提出是为了通过共享计算来加速R-CNN。SPPnet方法为整个输入图像计算一个卷积特征图,然后使用从共享特征图中提取的特征向量对每个目标候选区域进行分类。
Fast R-CNN架构
Fast R-CNN网络将整幅图像和一组目标候选区域作为输入。该网络首先通过几个卷积层和最大池化层处理整幅图像,生成一个卷积特征图。
然后,对于每个目标候选区域,感兴趣区域(RoI)池化层从特征图中提取一个固定长度的特征向量。
每个特征向量被输入到一系列全连接层,最后分支为两个兄弟输出层:一个层生成K个目标类别加上一个“背景”类别的softmax概率估计;另一个层为K个目标类别中的每一个输出四个实数值。每组4个值对K个类别中的一个类别编码精修后的边界框位置。
RoI池化层
RoI池化层使用最大池化将任何有效感兴趣区域内的特征转换为一个具有固定空间大小H×W(例如7×7)的小特征图,其中H和W是独立于任何特定RoI的层超参数。
每个RoI由一个四元组 (r, c, h, w) 定义,该四元组指定其左上角 (r, c) 及其高度和宽度 (h, w)。
RoI最大池化的工作原理是将h×w的RoI窗口划分为一个H×W的子窗口网格,每个子窗口的大小约为h/H×w/W,然后将每个子窗口中的值进行最大池化,放入相应的输出网格单元中。与标准最大池化一样,池化是在每个特征图通道上独立进行的。
从预训练网络初始化
当一个预训练网络初始化Fast R-CNN网络时,它会经历三个转换:
- 最后一个最大池化层被RoI池化层取代,通过设置H和W使其与网络的第一个全连接层兼容(例如,对于VGG16,H = W = 7)。
- 网络的最后一个全连接层和softmax被两个兄弟层取代(一个全连接层和对K + 1个类别的softmax以及特定类别的边界框回归器)。
- 网络被修改为接受两个数据输入:一个图像列表和这些图像中的感兴趣区域(RoI)列表。
论文
## 推荐阅读
1. DeepSeek-R1的顿悟时刻是如何出现的? 背后的数学原理
2. 微调 DeepSeek LLM:使用监督微调(SFT)与 Hugging Face 数据
3. 使用 DeepSeek-R1 等推理模型将 RAG 转换为 RAT
4. DeepSeek R1:了解GRPO和多阶段训练
5. 深度探索:DeepSeek-R1 如何从零开始训练
6. DeepSeek 发布 Janus Pro 7B 多模态模型,免费又强大!
本文由mdnice多平台发布
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。