127、DyHead 的 Block 数量消融:1/2/3/4/6 个 DyHead Block 的精度-延迟曲线去年年底调一个工业检测项目,客户要求模型在 Jetson Orin NX 上跑到 30fps 以上,mAP 还不能低于 0.75。我一开始直接上了 YOLOv8 的官方配置,DyHead 默认塞了 4 个 Block,结果一测延迟直接飙到 38ms,mAP 倒是到了 0.78。当时我就想,这 4 个 Block 是不是太多了?能不能砍掉几个?后来翻了一圈论文,发现 DyHead 的原始设计是给大模型用的,小模型上堆 4 个 Block 纯属浪费计算资源。于是我把 Block 数量从 4 砍到 2,延迟降到 22ms,mAP 只掉了 0.01。这个坑让我意识到,DyHead 的 Block 数量根本不是越多越好,得根据模型大小和硬件平台来调。为什么 Block 数量这么敏感DyHead 的核心是动态尺度感知、空间感知和任务感知三个注意力模块的堆叠。每个 Block 包含一次尺度注意力、一次空间注意力和一次任务注意力,计算量是线性叠加的。在 YOLOv11 的 Neck 部分,特征图分辨率是 80x80、40x40、20x20 三尺度,每个 Block 都要在这三个尺度上跑一遍注意力。假设输入通道是 256,一个 Block 的 FLOPs 大约在 0.8G 左右(具体取决于实现细节)。4 个 Block 就是 3.2G,2 个 Block 只有 1.6G,差距直接翻倍。更关键的是,D