深入浅出FPN:目标检测中的特征金字塔网络

📝 前言

在计算机视觉领域,目标检测一直是一个核心的研究方向。当我们试图让计算机理解图像中的物体时,一个根本性的挑战摆在我们面前:图像中的物体尺寸差异巨大

想象一下这样的场景:一张街景照片中,近处的汽车可能占据数百个像素,而远处的行人可能只有几十个像素。如何让一个深度学习模型同时准确地检测出这些大小迥异的物体?

这就是FPN(Feature Pyramid Network,特征金字塔网络)试图解决的核心问题。

🎯 问题的起源:多尺度检测的困境

目标检测模型处理多尺度问题的方式主要有以下几种:

1. 图像金字塔

传统方法构建图像金字塔,对同一图像的不同缩放版本分别提取特征:

优点 :效果好,能检测各种尺度的物体

缺点:计算量巨大,训练和推理速度慢

2. 单层特征图

常规的卷积网络,像早期的Faster R-CNN,只使用网络的最后一层特征进行预测:

优点 :计算简单,速度快

缺点:小物体信息在多次下采样后丢失严重

3. 多层特征图独立预测

放弃了重利用更高分辨率的feature map,但是这些feature map对检测小目标非常重要,像SSD,使用网络中多个不同层的特征图分别进行预测:

优点 :一定程度上解决多尺度问题

缺点:浅层特征信息不足,影响检测精度

🏗️ FPN的核心思想

FPN的核心洞察是:高层特征有丰富的语义信息,但分辨率低;低层特征有精细的空间信息,但语义不足。如果将两者融合,就能得到既有强语义又有高分辨率的特征

FPN的三大组件

FPN由三条路径组成,形成了一种"横向连接的金字塔"结构:

1️⃣ 自底向上路径

这是标准的卷积神经网络前向传播过程。随着网络加深,特征图分辨率不断降低,但语义信息不断增强:

  • C2层:步长4,高分辨率,低级特征(边缘、纹理)

  • C3层:步长8,中等分辨率,中级特征(形状、部件)

  • C4层:步长16,低分辨率,高级特征(物体部件)

  • C5层:步长32,最低分辨率,最强语义(完整的物体概念)

2️⃣ 自顶向下路径

这条路径将高层的强语义特征进行上采样,使其与下一层特征图尺寸匹配:

高层特征 (C5: 7×7)

↓ 1×1卷积(降维)

↓ 上采样(放大2倍)

融合后的特征 (与C4尺寸相同)

3️⃣ 横向连接

这是FPN的"神来之笔"。它将自顶向下路径上采样后的特征,与自底向上路径中对应尺寸的特征进行融合:

  • 对自底向上的特征先做1×1卷积(统一通道数)

  • 与上采样后的特征进行逐元素相加

  • 再经过3×3卷积(消除混叠效应)

🔄 FPN的工作原理详解

让我们通过一个具体的例子,一步步理解FPN的工作流程:

步骤1:特征提取

假设输入图像尺寸为 224×224,经过ResNet骨干网络:

输入: 224×224×3

C2: 56×56×256 (步长4) ← 丰富的空间细节

C3: 28×28×512 (步长8) ← 细节与语义的平衡

C4: 14×14×1024 (步长16) ← 较强的语义信息

C5: 7×7×2048 (步长32) ← 最强的语义信息

步骤2:构建金字塔

现在开始构建特征金字塔 {P2, P3, P4, P5}:

构建P5

  • 从C5开始,经过1×1卷积得到P5(7×7×256)

构建P4

  • 将P5上采样(2倍)得到14×14×256

  • 对C4做1×1卷积得到14×14×256

  • 两者相加,再经过3×3卷积得到P4(14×14×256)

构建P3

  • 将P4上采样(2倍)得到28×28×256

  • 对C3做1×1卷积得到28×28×256

  • 两者相加,再经过3×3卷积得到P3(28×28×256)

构建P2

  • 将P3上采样(2倍)得到56×56×256

  • 对C2做1×1卷积得到56×56×256

  • 两者相加,再经过3×3卷积得到P2(56×56×256)

步骤3:多尺度预测

最终,我们在不同层上进行目标检测:

  • P2层 (步长4):负责检测小物体

  • P3层 (步长8):负责检测中等偏小物体

  • P4层 (步长16):负责检测中等偏大物体

  • P5层 (步长32):负责检测大物体

💫 FPN的优势与贡献

优势一:强大的多尺度检测能力

通过特征融合,每一层特征图都同时具备强语义信息和高分辨率,无论物体大小都能被很好地表示。

优势二:计算效率高

相比图像金字塔,FPN几乎不增加额外计算量,因为它复用了主干网络的计算结果。

优势三:易于集成

FPN可以无缝集成到各种目标检测框架中:

  • 两阶段检测器:Faster R-CNN + FPN

  • 一阶段检测器:YOLOv3、RetinaNet

  • 实例分割:Mask R-CNN

优势四:对小物体特别友好

小物体检测是FPN的最大受益者。在P2层,小物体的特征得以保留,同时融入了高层语义,大大提高了检测精度。

🔬 FPN的演进:从经典到现代

自2017年提出以来,FPN衍生出许多优秀的变体:

PANet (2018)

BiFPN (2020)

NAS-FPN (2019)

📚 参考文献

原论文:Feature Pyramid Networks for Object Detection (CVPR 2017)

PANet:Path Aggregation Network for Instance Segmentation (CVPR 2018)

BiFPN:EfficientDet: Scalable and Efficient Object Detection (CVPR 2020)

NAS-FPN:NAS-FPN: Learning Scalable Feature Pyramid Architecture for Object Detection(CVPR 2019)

相关推荐
winfreedoms1 小时前
ROS2语音&ai与控制——黑马程序员ROS2课程上课笔记(6)
人工智能·笔记
OEC小胖胖2 小时前
DeepSeek导出文档
人工智能·效率工具·知识管理·ai工作流·deepseek
得一录2 小时前
蒸汽、钢铁与无限心智(Steam, Steel, and Infinite Minds)全文
人工智能·aigc
大模型任我行2 小时前
英伟达:物理感知的多模态评判模型
人工智能·语言模型·自然语言处理·论文笔记
laplace01232 小时前
IcePop技术
人工智能·大模型·agent·claude·rag·skills·icepop
l1t2 小时前
DeepSeek总结的Nanbeige4.1-3B:一个具备推理、对齐与行动能力的小型通用模型
人工智能
一只理智恩3 小时前
AI 实战应用:从“搜索式问答“到“理解式助教“
人工智能·python·语言模型·golang
nudt_qxx3 小时前
讲透Transformer(三):Transformer 注意力机制详解与Qwen/DeepSeek近期改进
人工智能·深度学习·transformer