YOLOv11-seg 改进 | RSCD 重参数共享卷积 Head 替换全流程指南
- 一、本文简介
- 二、模块原理详解
- 2.1 层级结构
- 2.2 与原始 Segment/Detect 的核心差异
- 2.3 前向传播流程
- 三、改进思想与创新点
- 3.1 背景与动机
- 3.2 创新点一:在共享 Head 中引入重参数卷积
- 3.3 创新点二:共享参数与尺度校准结合
- 3.4 创新点三:不破坏 Segment 的掩码接口
- 3.5 与同类 Head 的差异
- 四、完整代码
- 4.0 依赖导入
- 4.1 Scale 与 Conv_GN
- 4.2 Detect_LSCD 基础共享头
- 4.3 DiverseBranchBlock 重参数分支卷积
- 4.4 Detect_RSCD 与 Segment_RSCD
- 五、手把手配置步骤
- 5.1 暴露模块
- 5.2 注册解析类别
- 5.3 训练调用
- 六、YAML 配置文件
- 6.1 YOLOv11-seg + Segment_RSCD
- 6.2 YOLOv11 Detect + Detect_RSCD
- 6.3 YOLOv11-pose + Pose_RSCD
- 6.4 YOLOv11-obb + OBB_RSCD
- 七、常见问题
- 7.1 NameError: Segment_RSCD is not defined
- 7.2 DiverseBranchBlock 找不到
- 7.3 Segment_RSCD 的参数为什么比原始 Segment 更多
- 7.4 Segment -> Detect 的适配思路
- 7.5 YAML args 参数含义
- 八、总结
专栏系列:YOLOv11 检测与分割 Head 改进实战
本文改进点:使用Segment_RSCD替换 YOLOv11-seg 默认Segment分割头,在 LSCD 共享卷积检测头基础上引入DiverseBranchBlock重参数卷积,增强 bbox/cls 预测路径的多分支表达能力,同时保持三尺度预测与Proto掩码原型接口不变。
一、本文简介
原创RSCD(Rep Shared Convolutional Detection Head)位于ultralytics/nn/extra_modules/head.py,它不是某篇论文的原始标准模块,而是围绕 YOLO 检测/分割 Head 做的仓库级二次创新:以LSCD的共享卷积检测头为基础,再引入Diverse Branch Block: Building a Convolution as an Inception-like Unit, CVPR 2021的重参数化思想,把共享 Head 中的关键 3x3 卷积替换为训练期多分支、部署期可等效折叠的DiverseBranchBlock。
YOLOv11-seg 默认Segment头会在 P3、P4、P5 三个尺度分别