news 2026/8/6 19:48:27

重读CV系列——2、Fast-RCNN学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
重读CV系列——2、Fast-RCNN学习

1、详细工作流程

步骤操作与R-CNN的差异
1. 生成候选区域同样使用Selective Search,生成约2000个候选框。无变化,候选框生成依然独立。
2. 整图特征提取整张图片输入CNN,得到一张共享的、高分辨率的特征图(Feature Map)核心改进!整图只过一次CNN,计算量锐减。
3. 映射与池化将每个候选框的坐标映射到特征图上对应的区域。然后对该区域使用RoI Pooling,将其池化为固定大小(如7×7)的特征图。关键创新!引入RoI Pooling层,解决不同尺寸候选框需要统一大小的问题,且操作发生在特征图上而非原图上。
4. 全连接与分类回归将池化后的特征图展开,输入到全连接层,得到一个特征向量。然后通过两个并行的输出分支:一个Softmax做类别分类,一个边界框回归器做位置微调重要改进!将分类和回归合并到一个网络中,实现多任务Loss联合训练,不再需要SVM。

2、创新点

创新1:RoI Pooling(Region of Interest Pooling)

这是Fast R-CNN的灵魂组件

  • 解决的问题:R-CNN需要将每个候选区域裁剪并缩放到固定尺寸(如227×227),这个过程会破坏图像长宽比,且非常耗时。

  • Fast R-CNN的做法:它将候选区域映射到特征图上(比如将原图上的100×200的框,映射到缩小了16倍的特征图上,就变成了约6×12的区域),然后对这个非整数、不同尺寸的区域,用最大池化(Max Pooling)将其统一池化为固定大小(如7×7)。

  • 具体操作(面试官可能会追问细节):假设要把一个h×w的区域池化为H×W(如7×7),则将其划分为H×W个网格,每个网格大小约为h/H × w/W,然后对每个网格取最大值。这样无论输入尺寸如何,输出都是H×W

创新2:多任务损失函数(Multi-task Loss)

Fast R-CNN将分类和回归融合在一个网络里联合训练

  • 分类Loss:使用Softmax的交叉熵损失,判断RoI属于哪个类别(K个目标类 + 1个背景类)。

  • 回归Loss:使用Smooth L1损失,微调边界框的位置。它只对“有物体”的RoI计算回归损失,背景框不参与回归训练。

  • 总损失L = L_cls + λ * L_loc,其中λ控制两者权重。

为什么用Smooth L1而不是L2?因为L2损失对离群点(outlier)非常敏感,梯度会很大,导致训练不稳定。Smooth L1在误差较小时梯度平滑,在误差较大时梯度饱和,更鲁棒。

3、与RCNNDA全面对比

对比维度R-CNNFast R-CNN
特征提取方式每个候选区域独立过CNN,2000次前向传播整图只过一次CNN,1次前向传播
尺寸统一方式将候选区域裁剪/缩放到固定尺寸(如227×227)使用RoI Pooling在特征图上池化为固定大小
训练流程三阶段(预训练CNN → 训练SVM → 训练回归器)端到端单阶段(一个网络,一个Loss联合训练)
分类器使用SVM(每个类别一个二分类器)使用Softmax(多分类,与CNN融合)
训练速度慢,需大量磁盘存储特征快约9倍(训练),快约200倍(推理)
存储开销需要存储每个候选框的特征向量到硬盘不需要,特征在内存中即时计算
精度(mAP)约58.5% (PASCAL VOC 2012)约66%(PASCAL VOC 2012),明显提升

4、面试考点

  • 问1:为什么Fast R-CNN能实现端到端训练,而R-CNN不能?

    • :因为Fast R-CNN将分类器和回归器都设计为神经网络层(Softmax和全连接回归),并统一用反向传播优化。而R-CNN的SVM是独立的机器学习模型,其损失无法回传到CNN,因此无法联合训练。

  • 问2:RoI Pooling与R-CNN的裁剪缩放有什么本质不同?

    • :R-CNN是在原图RGB像素上做裁剪缩放,会改变图像的视觉内容;而RoI Pooling是在CNN提取的深层特征图上操作,它是对特征做池化,不改变原图,且计算发生在GPU上,速度快得多。

  • 问3:RoI Pooling的反向传播是怎么做的?

    • :RoI Pooling的反向传播与标准Max Pooling类似,但更复杂一些。每个池化后的输出单元对应原始特征图上一个h/H × w/W的网格。反向传播时,梯度只传递给该网格中最大值所在的位置。由于不同RoI可能重叠,一个特征图上的位置可能被多个RoI的梯度累加。

为什么RoI Pooling的反向传播是“稀疏”的?

理解这个稀疏性非常重要,它直接影响了网络的学习能力。

  • 原因:前向传播时,每个输出单元只“激活”了输入特征图上的一个像素。反向传播时,梯度自然也只流经这一条路径。

  • 后果:这意味着只有被选为最大值的“胜利者”像素才能获得梯度并更新权重。其他大量的像素,即使它们也可能包含了有用的信息,也不会接收到任何反馈信号,因而无法学习。

这就是RoI Pooling的主要缺点之一,也是后续方法(如RoI Align)试图改进的关键点。RoI Align通过使用双线性插值,让每个输出像素结合周围多个输入像素的信息,从而实现了密集的梯度回传,使网络能够学习到更精细的特征。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/6 19:45:13

多智能体(Multi-Agent)编排实战:用 LangGraph 构建生产级 AI 系统

1. 引言:为什么需要多智能体编排随着大语言模型(LLM)能力的持续提升,单一智能体在复杂业务场景中逐渐暴露出局限性:上下文窗口有限、工具调用链路过长、职责边界模糊、错误难以隔离。多智能体(Multi-Agent&…

作者头像 李华
网站建设 2026/8/6 19:40:55

3分钟免安装微信解决方案:wechat-need-web浏览器插件详解

3分钟免安装微信解决方案:wechat-need-web浏览器插件详解 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 你是否曾在公司电脑上急需使用微…

作者头像 李华
网站建设 2026/8/6 19:40:49

实战拆解:年 GMV60 亿级私域团购系统 分销关系存储、分账对账与合规校验技术落地

私域社群团购行业从野蛮生长进入合规化深耕阶段,大量平台在业务规模扩张后集中暴露技术短板:分销层级加深后团队数据查询卡顿、高并发下单时段分润结算错漏频发、合规规则仅靠后台配置可被人为突破,最终成为业务增长的技术瓶颈。良久团购能稳…

作者头像 李华
网站建设 2026/8/6 19:40:27

ModernBERT-base量化指南:ONNX模型优化与Flash Attention加速实战

ModernBERT-base量化指南:ONNX模型优化与Flash Attention加速实战 【免费下载链接】ModernBERT-base 项目地址: https://ai.gitcode.com/hf_mirrors/answerdotai/ModernBERT-base ModernBERT-base是一款现代化的双向编码器Transformer模型,具备8…

作者头像 李华
网站建设 2026/8/6 19:40:05

【计算机毕业设计单片机案例】基于 STM32 单片机的声光报警式智能盆栽养护系统设计 基于 STM32/51 单片机的小型温室通风灌溉一体化控制系统(011702)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

作者头像 李华