特征金字塔网络(FPN)是一种神经网络架构,旨在提取多尺度特征图,用于目标检测及其他计算机视觉任务。该架构由Tsung-Yi Lin、Piotr Dollár、Ross Girshick、Kaiming He、Bharath Hariharan和Serge Belongie在2017年发表的论文《Feature Pyramid Networks for Object Detection》中提出,通过构建每一层都富含语义信息的特征图金字塔,解决了在不同尺度下检测目标的挑战。FPN已成为许多现代检测器(如Faster R-CNN和Mask R-CNN)的基础组件,并广泛应用于机器学习和深度学习应用中。
FPN的核心思想是利用卷积神经网络(通常是像ResNet这样的骨干网络)固有的多尺度、层次化特征表示,并通过自顶向下的路径增强它们,将高层语义特征传播到较低分辨率。这通过横向连接实现,将自底向上路径中对应的特征图合并,使网络能够在每个尺度上生成强特征。因此,FPN提高了检测性能,尤其是对小目标,同时不会显著增加计算成本。
架构
FPN由两条主要路径组成:自底向上路径和自顶向下路径。自底向上路径是标准的馈送卷积网络(例如ResNet),计算多个尺度的特征图,通常相对于输入图像的步长为4、8、16和32像素。这些特征图记为C2、C3、C4和C5,对应每个阶段最后一个残差块的输出。
自顶向下路径通过对来自更高层的空间较粗糙但语义更强的特征进行上采样,生成更高分辨率的特征图。每个上采样后的特征图通过1x1卷积层(用于减少通道维度)与对应的自底向上特征图合并,然后进行逐元素相加。合并后的结果通过3x3卷积生成该尺度的最终特征图,记为P2、P3、P4和P5。这些特征图用于目标检测,每个级别负责检测特定大小范围内的目标。
应用
FPN已被广泛采用于目标检测框架中。在Faster R-CNN中,FPN用作区域提议网络(RPN)和后续基于ROI的分类器的特征提取器,使模型能够有效处理不同大小的目标。Mask R-CNN将FPN扩展用于实例分割,利用多尺度特征生成分割掩码。FPN还惠及其他任务,如语义分割和关键点检测,在这些任务中多尺度上下文至关重要。
在检测之外,FPN启发了其他领域的类似架构,例如用于生物医学图像分割的U-Net,它也采用带有跳跃连接的对称编码器-解码器结构。然而,FPN在横向连接和自顶向下融合方面的特定设计已被证明对检测任务特别有效。
变体与改进
已提出多种FPN变体以提高其效率和准确性。例如,EfficientDet中使用的BiFPN(双向特征金字塔网络)引入了加权双向特征融合,使网络能够学习不同输入特征的重要性。另一个变体PANet(路径聚合网络)增加了额外的自底向上路径增强,以缩短低层和高层特征之间的信息路径。这些改进在COCO等基准上推动了目标检测的最新进展。
影响与遗产
FPN对计算机视觉领域产生了持久影响。其引入标志着从使用单尺度特征向多尺度特征金字塔的转变,这现已成为检测架构中的标准做法。该论文已被引用数千次,并影响了后续在残差网络设计和特征融合方面的研究。FPN的原理也应用于其他领域,例如模拟训练期间尺度变化的数据增强策略。
总之,特征金字塔网络是一项关键的架构创新,能够实现稳健的多尺度目标检测,其影响延伸至许多现代视觉系统。