卷积神经网络(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
)

被折叠的 条评论
为什么被折叠?



