YOLOv11-seg改进 | C3k2_AdditiveBlock_CGLU加性Token混合与卷积门控全流程指南
- 一、本文简介
- 1.1 原始 C3k2 的局限性
- 1.2 C3k2_AdditiveBlock_CGLU 的核心改动
- 1.3 改进前后参数量 / GFLOPs 对比
- 二、模块原理详解
- 2.1 层级结构总览
- 2.2 LocalIntegration:先做局部感知增强
- 2.3 AdditiveTokenMixer:加性 Token 混合核心
- 2.4 ConvolutionalGLU:卷积门控 FFN
- 2.5 AdditiveBlock_CGLU 的完整前向路径
- 三、改进思想与创新点
- 3.1 背景与动机
- 3.2 核心创新点
- 3.3 与现有方案的对比
- 3.4 在 YOLOv11 中的适配方式
- 四、完整代码
- 4.1 来自 `ultralytics/nn/extra_modules/block.py`
- 4.2 来自 `ultralytics/nn/extra_modules/block.py`
- 4.3 来自 `ultralytics/nn/extra_modules/block.py`
- 4.4 来自 `ultralytics/nn/extra_modules/block.py`
- 五、手把手配置步骤
- Step 1:确认 `extra_modules/__init__.py` 导入状态
- Step 2:确认 `tasks.py` 注册状态
- Step 3:训练 / 验证调用示例
- 六、YAML 配置文件
- 6.1 变体一:全面替换
- 6.2 变体二:仅替换 Backbone
- 6.3 变体三:精度优先模式
- 6.4 变体四:混合模式
- 6.5 变体五:P2 四尺度版本
- 七、常见问题
- 7.1 `NameError: name 'C3k2_AdditiveBlock_CGLU' is not defined`
- 7.2 缺少依赖怎么办
- 7.3 如何把分割头改成检测头
- 7.4 YAML 参数如何理解
- 八、总结
专栏系列:YOLOv11 注意力/精度改进实战
改进点:将 YOLOv11-seg 中的C3k2替换为C3k2_AdditiveBlock_CGLU,通过将具备高效加性 Token 混合能力的 CAS-ViTAdditiveBlock,与具备更强非线性与门控筛选能力的 TransNeXtConvolutionalGLU进行协同设计,构建出面向 YOLOv11 的原创改进结构,在兼顾卷积友好部署方式的同时,进一步提升模型对复杂背景、多尺度结构与边界细节的感知能力。
一、本文简介
本文将CAS-ViT中的AdditiveBlock与TransNeXt(CVPR 2024)中的ConvolutionalGLU进行协同设计,在 YOLOv11 的C3k2框架中构建出C3k2_AdditiveBlock_CGLU。根据当前仓库文档YOLOV11配置文件.md第186项说明,这个模块并不是 CAS-ViT 或 TransNeXt 论文里直接给出的标准原始块,而是使用 CAS-ViT 的 AdditiveBlock