核心要点
痛点:CNN 浅层分辨率高但语义弱、深层语义强但分辨率低,小目标在深层被下采样丢失
结构:自底向上骨干 + 自顶向下上采样路径 + 横向连接(lateral 1×1 卷积)逐层融合
效果:每个金字塔层级都兼具高分辨率与强语义,小目标用浅层强语义特征预测,涨点明显
通用:几乎零成本接到现有骨干上,广泛用于检测(如 Faster R-CNN)、实例/语义分割
标准回答
一、要解决的问题
目标尺度差异大,小目标尤其难检。CNN 自然形成特征金字塔:浅层分辨率高、细节多但语义弱;深层语义强但分辨率低、小目标已被下采样抹掉。早期方法要么只用深层单尺度(漏小目标),要么对图像做多尺度金字塔(慢)。
二、FPN 的结构
在自底向上的骨干之外,加一条自顶向下的路径:把高层强语义特征逐级上采样,并通过横向连接(对同分辨率的骨干特征做 1×1 卷积调整通道)与之相加,得到每一层都「高分辨率 + 强语义」的特征图。最后各层再各自做预测。
三、收益
让小目标也能用上强语义特征,几乎不增加计算量就能显著提升检测/分割精度(mAP),且能即插即用接到各种骨干网络上,成为现代检测器的标准组件。
常见误区
⚠️ 常见踩坑
误区一:容易答偏的地方:把 FPN 等同于「多尺度训练/测试」——FPN 是网络内部融合多层特征的结构,单次前向就产出多尺度特征;它的核心是横向连接把深层语义带回浅层高分辨率,而非简单对图像缩放。
追问
追问 1:FPN 中横向连接为什么用 1×1 卷积?
横向连接要把骨干各阶段的特征与自顶向下传来的特征相加,但两者通道数往往不同。1×1 卷积只调整通道数(统一到固定维度,如 256)而不改变空间分辨率,开销小,使相加可行;同时它也对骨干特征做一次线性变换,便于与上采样特征对齐。
追问 2:FPN 和 PANet、BiFPN 有什么关系?
它们都是 FPN 的增强。PANet 在 FPN 自顶向下之后再加一条自底向上的路径,让浅层定位信息也能传到高层,缩短信息路径。BiFPN(EfficientDet)进一步做双向多次融合并对各输入加可学习权重,更高效地融合多尺度。核心思想一脉相承:更充分地跨尺度交换语义与定位信息。
🔗 相似问题
同一考点的不同问法,换着练更稳
延伸学习
按主题分类的相关资源,便于系统复习
