YOLOv11-seg改进 | C3k2_ContextGuided上下文引导替换C3k2全流程指南
- 一、本文简介
- 1.1 原始 C3k2 的局限性
- 1.2 C3k2_ContextGuided 的核心改动
- 1.3 改进前后参数量 / GFLOPs 对比
- 二、模块原理详解
- 2.1 层级结构总览
- 2.2 ContextGuidedBlock 的核心思想
- 2.3 FGlo:全局上下文重标定
- 2.4 ContextGuidedBlock 与普通 Bottleneck 的差异
- 2.5 C3k2_ContextGuided 的模块定位
- 三、改进思想与创新点
- 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_ContextGuided' is not defined`
- 7.2 `ContextGuidedBlock_Down` 为什么没有出现在 YAML 里
- 7.3 如何把分割头改成检测头
- 7.4 YAML 参数如何理解
- 八、总结
专栏系列:YOLOv11 注意力/精度改进实战
改进点:将 YOLOv11-seg 中的C3k2替换为C3k2_ContextGuided,引入 CGNet 路线中的 Context Guided Block,以“局部特征 + 周围上下文 + 全局重标定”的协同设计替代标准卷积瓶颈,在保持较低额外开销的同时,进一步提升模型对复杂背景、边界细节与多尺度结构的感知能力。
一、本文简介
本文引入CGNet / Context Guided Network路线中的ContextGuidedBlock,在 YOLOv11 的C3k2框架中构建出C3k2_ContextGuided。当前仓库文档YOLOV11配置文件.md第44项给出了C3k2-ContextGuided配置,但没有在文档里展开论文全名。结合当前源码中的ContextGuidedBlock、FGlo命名和论文资料,可以确认它对应的是CGNet: A Light-weight Context Guided Network for Semantic Segmentation