118、P2+P6 同时添加的完整多尺度改造:四层检测头的结构设计与训练适配
118、P2+P6 同时添加的完整多尺度改造:四层检测头的结构设计与训练适配从一次诡异的mAP暴跌说起去年秋天帮某自动驾驶公司调一个夜间行人检测模型,baseline是YOLOv8m,在CrowdHuman上mAP能到82.3。客户要求重点提升小目标(32px)的召回率,我二话不说直接上了P2检测头——常规操作,加一层高分辨率特征图嘛。结果跑完第一个epoch,小目标AP确实从0.41涨到0.53,但大目标AP从0.89掉到了0.76。更诡异的是,验证集上原本能稳定检测的公交车,开始频繁漏检。排查了两天,最后发现是P2层引入后,FPN的梯度回传路径变了,P5层(原最大尺度)的特征被过度压缩。这让我意识到:多尺度改造不是简单堆叠检测头,每一层特征图的感受野、梯度流、正样本分配都需要重新校准。今天这篇笔记,就完整记录P2+P6四层检测头的改造方案,包括那些让我熬夜debug的坑。结构设计:四层检测头的拓扑与通道对齐YOLOv11的Neck默认是三层FPN+PAN结构,输出特征图尺度为P3(1/8)、P4(1/16)、P5(1/32)。我们要扩展为P2(1/4)、P3、P4、P5、P6(1/64)五层特征图,但检测头只使用P2、P3、P4、P6四层——P5作为中间过渡层参与特征融合但不直接输出预测。为什么跳过P5做检测?实测发现P5和P4的感受野重叠度超过60%,同时保留会导致正样本分配冲突。P6负责超大目标(256px),P2负责小目标(16px),P3/P4覆盖中间尺度,这样每层的