091、GSConv 加 VoV-GSCSP 的 Slim-Neck 完整适配代码与参数量对比

📅 2026/7/2 15:23:27 👁️ 阅读次数 📝 编程学习
091、GSConv 加 VoV-GSCSP 的 Slim-Neck 完整适配代码与参数量对比

091、GSConv 加 VoV-GSCSP 的 Slim-Neck 完整适配代码与参数量对比

从一次深夜调试说起

上个月帮一个做工业缺陷检测的朋友调模型,他用的YOLOv8s,在边缘设备上推理速度卡在45ms下不来。我一看他的neck部分,标准的C2f堆叠,参数量倒是不大,但计算量在ARM上扛不住。他问我能不能把neck砍薄一点,我说砍薄容易掉点,不如换Slim-Neck结构——用GSConv替代普通卷积,用VoV-GSCSP替代C2f。他试了之后,mAP掉了不到0.3%,但推理速度从45ms降到了28ms,直接跑满30fps。这就是今天要聊的东西。

GSConv是什么?为什么它能瘦身?

GSConv的全称是Grouped Shuffle Convolution,说白了就是深度可分离卷积的改良版。标准深度可分离卷积有个问题:逐通道卷积和逐点卷积之间信息割裂严重,导致特征表达能力下降。GSConv的做法是在逐点卷积之后加一个shuffle操作,把分组后的特征重新打乱,让不同通道的信息充分混合。

代码实现上,GSConv长这样:

classGSConv(nn