Feature Pyramid Network 用于目标检测的特征金字塔网络

📖阅读时长:19分钟

🕙发布时间:2025-02-14

近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企
公众号【柏企科技说】【柏企阅文

特征金字塔是识别系统中检测不同尺度物体的基本组件。但近年来的深度学习目标检测器却避免使用金字塔表示,部分原因是其计算量和内存消耗较大。

特征金字塔网络(Feature Pyramid Network,FPN)利用深度卷积网络固有的多尺度、金字塔层次结构,以极少的额外成本构建特征金字塔。通过自上而下的架构和横向连接,构建出各个尺度的高级语义特征图。这种架构作为一种通用特征提取器,在多个应用中都展现出显著的改进。在基本的Faster R-CNN系统中使用FPN,在COCO检测基准测试中取得了单模型的最优结果,超越了包括COCO 2016挑战赛获胜者在内的所有现有单模型参赛作品。

本文的目标是在创建一个在所有尺度上都具有强大语义的特征金字塔的同时,自然地利用卷积神经网络(ConvNet)特征层次结构的金字塔形状。为实现这一目标,我们采用一种架构,通过自上而下的路径和横向连接,将低分辨率、语义强的特征与高分辨率、语义弱的特征相结合(图1(d))。最终得到的特征金字塔在各个层级都具有丰富的语义,并且可以从单一输入图像尺度快速构建。换句话说,我们展示了如何在不牺牲表征能力、速度或内存的情况下,创建可用于替代特征化图像金字塔的网络内特征金字塔。

在消融实验中我们发现,相较于基于ResNets的Faster R-CNN强单尺度基线,对于边界框建议,FPN将平均召回率(AR)显著提高了8.0个百分点;对于目标检测,它将COCO风格的平均精度(AP)提高了2.3个百分点,PASCAL风格的AP提高了3.8个百分点 。

架构

目标是利用卷积神经网络(ConvNet)从低到高语义层次的金字塔特征结构,构建一个在各个层级都具备高级语义的特征金字塔。最终得到的特征金字塔网络具有通用性,主要聚焦于滑动窗口提议器(区域提议网络,简称RPN)和基于区域的检测器(Fast R-CNN)。

该方法将任意大小的单尺度图像作为输入,以全卷积的方式在多个层级输出成比例大小的特征图。这个过程与骨干卷积架构无关。金字塔的构建涉及自下而上的路径、自上而下的路径以及横向连接:

自下而上的路径

自下而上的路径是骨干卷积网络的前馈计算过程,它计算出由几个不同尺度的特征图组成的特征层次结构,尺度步长为2。通常有许多层会产生相同大小的输出特征图,这些层被认为处于同一网络阶段。对于特征金字塔,每个阶段定义一个金字塔层级。选择每个阶段最后一层的输出作为特征图的参考集,这些特征图将被进一步丰富以构建金字塔。这种选择很自然,因为每个阶段的最深层应该具有最强的特征。

自上而下的路径和横向连接

自上而下的路径通过对来自更高金字塔层级、空间上更粗糙但语义更强的特征图进行上采样,生成更高分辨率的特征。然后,这些特征通过横向连接,与自下而上路径的特征相结合得到增强。每个横向连接将自下而上路径和自上而下路径中相同空间大小的特征图进行融合。自下而上的特征图语义层级较低,但由于其下采样次数较少,其激活能更精确地定位目标。

用于RPN的特征金字塔网络

RPN是一种滑动窗口式、类别无关的目标检测器。在原始的RPN设计中,一个小型子网络在密集的3×3滑动窗口上进行评估,该滑动窗口位于单尺度卷积特征图之上,执行目标/非目标的二分类以及边界框回归任务。

这一过程通过一个3×3卷积层,随后接两个用于分类和回归的1×1卷积层(这两个卷积层为并列关系)来实现,这部分被称为网络头部。目标/非目标的判断标准以及边界框回归目标是根据一组称为锚框(anchors)的参考框来定义的。锚框具有多种预定义的尺度和长宽比,以便覆盖不同形状的物体。

通过用FPN替换单尺度特征图来适配RPN。在我们的特征金字塔的每个层级上都连接一个相同设计的头部(3×3卷积层和两个并列的1×1卷积层)。由于头部在所有金字塔层级的所有位置上密集滑动,因此在特定层级上无需设置多尺度锚框。相反,我们为每个层级分配单一尺度的锚框。

用于Fast R-CNN的特征金字塔网络

Fast R-CNN是一种基于区域的目标检测器,它使用感兴趣区域(RoI)池化来提取特征。Fast R-CNN最常基于单尺度特征图进行操作。为了将其与我们的FPN结合使用,需要将不同尺度的RoI分配到金字塔的不同层级。

我们将特征金字塔视为由图像金字塔生成的。因此,我们可以采用基于区域的检测器在图像金字塔上运行时的分配策略。正式地,我们根据以下公式将宽度为w、高度为h(在输入到网络的图像上)的RoI分配到我们特征金字塔的层级$P_k$:
$$k = [k_0 + log_2(\sqrt{wh}/224)]$$
与基于ResNet的Faster R-CNN系统类似,我们将$k_0$设置为4。

我们在所有层级的所有RoI上都连接预测头部(在Fast R-CNN中,头部是特定类别的分类器和边界框回归器)。

论文《Feature Pyramid Networks for Object Detection》 (1612.03144)

## 推荐阅读
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多平台发布


柏企科技圈
15 声望4 粉丝