YOLO12改进-模块-引入CMUNeXt模块 提升多尺度、小目标检测能力。

          传统 U 型卷积网络因卷积的局部性限制,难以有效提取全局上下文信息,影响病变精准定位。尽管 CNN 与 Transformer 的混合架构可解决此问题,但存在计算资源消耗大的缺陷,且 Transformer 缺乏卷积归纳偏置,难以适配稀缺的医学数据。而采用大卷积核的 CNN 能够在利用卷积归纳偏置的同时获取更大的感受野信息,基于此,研究人员受 ConvMixer 和 ConvNeXt 启发,提出 CMUNeXt Block,以在轻量级网络中实现全局信息提取与参数优化的平衡。

上面是原模型,下面是改进模型

1.  CMUNeXt介绍 

        该模块以深度可分离卷积为核心,借助大尺寸深度卷积提取各通道的全局空间信息,通过倒置瓶颈设计的逐点卷积实现空间与通道信息的充分混合。其采用残差连接保证梯度流通,并引入 GELU 激活函数与批量归一化层(BatchNorm)提升非线性表达与训练稳定性,从而在减少参数与计算量的同时,增强网络对长距离依赖关系的建模能力。

CMUNeXt Block 主要由以下部分构成:

      大核深度卷积:运用大尺寸卷积核(如 7×7、9×9)执行深度卷积,以提取全局空间信息,输出特征图记为 fl′​。

      残差连接:将输入特征 fl−1​ 与深度卷积输出相加,以此缓解梯度消失问题。

      倒置瓶颈逐点卷积:先通过 1×1 卷积将通道数扩展 4 倍,再经 GELU 激活与 BatchNorm 处理;随后进行第二次 1×1 卷积压缩通道,完成通道间信息交互,最终输出特征图 fl​。

 2. YOLOv12与CMUNeXt的结合      

        CMUNeXt Block 的大核深度卷积与全局信息提取能力,可助力 YOLO12 在检测小目标或形态复杂目标时,更好地捕捉目标与周围环境的空间关系,进而提升目标定位精度与类别判别能力。

3. CMUNeXt代码部分

YOLOv8_improve/YOLOV12.md at master · tgf123/YOLOv8_improve · GitHub

YOLO12模型改进方法,快速发论文,总有适合你的改进,还不改进上车_哔哩哔哩_bilibili

 4. 将CMUNeXt引入到YOLOv12中

第一: 先新建一个change_model,将下面的核心代码复制到下面这个路径当中,如下图如所示。YOLOv12\ultralytics\change_model。

            ​​​​​​       

第二:在task.py中导入

 ​​​       ​​​​​​​ ​​​​​​​ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​       

第三:在task.py中的模型配置部分下面代码

        ​​​​​​​​​​​​​​ ​​​​​​​​​​​​​​​​​​​​​ ​​​​​​​    ​​​​​​​​​​​​​​​​​​​​​​​​​​​​  

第四:将模型配置文件复制到YOLOV12.YAMY文件中

 ​​​​​​​ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​  

     ​​​​​​​ ​​​​​​​​​​​​​​ ​​​​​​​ ​​​​​​​​​​​​​第五:运行代码


from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld

if __name__=="__main__":

    # 使用自己的YOLOv12.yamy文件搭建模型并加载预训练权重训练模型
    model = YOLO(r"E:\Part_time_job_orders\YOLO_NEW\YOLOv12_all\ultralytics\cfg\models\12\yolo12_CNUNeXt.yaml")
        # .load(r'E:\Part_time_job_orders\YOLO_NEW\YOLOv12\yolo12n.pt')  # build from YAML and transfer weights

    results = model.train(data=r'E:\Part_time_job_orders\YOLO\YOLOv12\ultralytics\cfg\datasets\VOC_my.yaml',
                          epochs=300,
                          imgsz=640,
                          batch=64,
                          # cache = False,
                          # single_cls = False,  # 是否是单类别检测
                          # workers = 0,
                         # resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',
                          amp = True
                          )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值