YOLO11改进-模块-引入多维协同注意力机制MCA 解决遮挡和小目标问题

该文章已生成可运行项目,

        卷积神经网络(CNNs)在计算机视觉领域应用广泛,但通过增加网络深度宽度和基数来提升性能存在诸多局限,如设计难度大、训练优化困难、存储和计算开销大等。因此,研究注意力机制成为提升 CNNs 性能的新方向。现有注意力机制分为通道注意力、空间注意力和混合域注意力三类,虽在一定程度上提升了网络性能,但仍存在问题,如多数方法忽略在通道和空间维度同时建模注意力,或引入较高模型复杂度和计算负担无法有效利用维度间关系等 。

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

1. 多维协同注意力机制MCA介绍 

       受人类视觉系统启发,注意力机制可视为基于输入图像特征重要性的动态权重调整过程,帮助网络聚焦于图像中最有意义的区域,忽略不必要部分。通过特征聚合、特征变换和特征整合三个步骤构建注意力机制,在深度学习中,将注意力机制融入卷积块有助于大幅提升网络性能。然而,现有方法在学习注意力权重、聚合上下文信息和特征变换等方面存在不足,因此需要开发一种轻量化、高效且可扩展的注意力模块。

从提供的图片来看,MCAM模块主要包含以下几个部分:

        MCA 模块由三个并行分支组成,每个分支负责不同维度的注意力建模。在信息传播过程中,输入特征图F∈RC×H×W分别进入三个分支,经过旋转、挤压变换、激励变换等操作生成不同维度的注意力权重,对原特征图进行增强,最后通过简单平均聚合三个分支的输出得到最终精炼特征图。

 挤压变换:采用全局平均池化和全局标准差池化聚合跨维度特征响应,并设计自适应组合机制融合两种池化特征,提升特征描述符的表达能力。

 激励变换:为克服传统方法在捕捉通道间交互时的低效和冗余问题,设计了一种简单机制自适应确定交互覆盖范围,以捕捉通道间的局部特征交互。

 整合:将三个分支生成的增强特征图通过简单平均求和进行整合,引入维度特定的三重注意力协作机制,更精确地定位感兴趣对象,提高特征判别能力

2. YOLOv11与多维协同注意力机制MCA的结合           

基于上述的想法,本文将其与C3K2相结合,使用多个维度特征增强特征,关注多尺度、小目标。或者替换SPPF模块使用多个维度特征增强多尺度特征。

3. 多维协同注意力机制MCA代码部分

视频讲解:

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

YOLOv11模型改进讲解,教您如何修改YOLOv11_哔哩哔哩_bilibili

YOLOv11全部代码,现有几十种改进机制。

 4. 将多维协同注意力机制MCA引入到YOLOv11中

第一: 将下面的核心代码复制到D:\model\yolov11\ultralytics\change_model路径下,如下图所示。

                   

第二:在task.py中导入

 ​​​        ​​​​​​​        

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

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

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

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

     第五:运行成功

from sympy import false

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

if __name__=="__main__":

    # 使用自己的YOLOv8.yamy文件搭建模型并加载预训练权重训练模型
    model = YOLO(r"E:\Part_time_job_orders\YOLO\YOLOv11\ultralytics\cfg\models\11\yolo11_MCAM.yamy")\
        .load(r'E:\Part_time_job_orders\YOLO\YOLOv11\yolo11n.pt')  # build from YAML and transfer weights

    results = model.train(data=r'E:\Part_time_job_orders\YOLO\YOLOv11\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、付费专栏及课程。

余额充值