YOLO11改进-注意力-引入多尺度卷积注意力模块MSCAM

如何在增强特征图的同时降低计算成本,以提升模型性能。基于此,MSCAM 模块采用了多尺度卷积注意力机制,通过 CAB、SAB 和 MSCB 三个子模块协同工作。CAB 利用自适应池化和卷积操作生成通道注意力权重,强调重要通道特征;SAB 借助池化和大核卷积获取空间注意力权重,明确特征图中的关键区域;MSCB 基于倒置残差块设计,进行多尺度深度卷积和通道混洗操作,有效增强特征并捕获多尺度上下文信息。这些方法的综合运用使得 MSCAM 在提升特征表示能力的同时,显著降低了计算成本,从而提升了模型整体性能。在yolo目标检测模型中,SPPF模块的作用是提取多尺度特征,本文将SPPF模块替换成多尺度卷积注意力模块MSCAM,提升YOLOv11模型的多尺度特征。

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

1. 多尺度卷积注意力模块MSCAM结构介绍

MSCAM(多尺度卷积注意力模块)的设计旨在通过对特征图进行多维度的注意力加权,从而提升特征的判别性和丰富性,进而提高模型在医学图像分割等任务中的性能。注意力机制通过自动学习特征图中不同部分的重要性,对特征进行加权处理。在 MSCAM 中,这种机制分为通道注意力和空间注意力两个维度。1通道注意力 :旨在学习每个通道的重要性。不同通道可能包含不同类型的特征信息,通过为每个通道分配不同的权重,可以突出重要通道的特征,抑制无关通道的特征。空间注意力 :关注特征图中的不同空间位置。医学图像中,目标区域可能只占图像的一部分,空间注意力机制能够让模型聚焦于这些关键区域,增强对目标区域的特征捕捉能力。多尺度卷积:为了适应医学图像中不同大小和形状的目标,MSCAM 采用多尺度卷积。不同尺度的卷积核能够捕捉到不同大小的特征,通过融合这些多尺度特征,可以得到更全面、更具判别性的特征表示。

  1. **整体结构:**MSCAM 模块由三个主要子模块构成:通道注意力块(CAB)、空间注意力块(SAB)和多尺度卷积块(MSCB)。

  2. 通道注意力块(CAB)

    • 自适应池化

      • 自适应最大池化(AMP):对输入特征图进行自适应最大池化操作,得到一个全局最大池化特征描述。

      • 自适应平均池化(AAP):同时进行自适应平均池化操作,得到一个全局平均池化特征描述。

    • 卷积操作

      • 对池化后的特征进行 1x1 卷积操作,减少通道数,中间使用 ReLU 激活函数。

      • 再进行一次 1x1 卷积操作,恢复通道数。

    • Sigmoid 激活:最后通过 Sigmoid 激活函数得到通道注意力权重,用于对输入特征图进行通道加权。

  3. 空间注意力块(SAB)

    • 池化操作

      • 自适应最大池化:沿通道维度进行自适应最大池化操作,得到一个特征描述。

      • 自适应平均池化:沿通道维度进行自适应平均池化操作,得到另一个特征描述。

    • 卷积操作:将池化后的两个特征描述进行拼接,然后使用大核卷积(如 7x7 卷积)进行操作,增强局部上下文关系。

    • Sigmoid 激活:最后通过 Sigmoid 激活函数得到空间注意力权重,用于对输入特征图进行空间加权。

  4. 多尺度卷积块(MSCB)

    • 输入处理:接收输入特征图。

    • 多尺度深度卷积:采用不同尺度的深度卷积核(如 3x3 和 5x5)进行卷积操作,捕捉不同尺度的特征。

    • 通道混洗:对卷积后的特征进行通道混洗操作,增强特征的多样性。

通过这三个子模块的协同工作,MSCAM 模块能够有效地对输入特征图进行多维度的注意力加权和多尺度特征融合,输出具有更强判别性的特征图,用于后续的医学图像分割等任务。

2. YOLOv11与多尺度卷积注意力模块MSCAM的结合

在yolo目标检测模型中,SPPF模块的作用是提取多尺度特征,本文将SPPF模块替换成多尺度卷积注意力模块MSCAM,提升YOLOv11模型的多尺度特征。

3. 多尺度卷积注意力模块MSCAM代码部分

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

获取全部代码

4. 将多尺度卷积注意力模块MSCAM引入到YOLOv11中

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

第二:在task.py中导入EMCAD_block包

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

​​​​​​

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

第五:运行成功

python 复制代码
from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld

if __name__=="__main__":

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

    results = model.train(data=r'D:\model\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
                          )
相关推荐
童话名剑21 小时前
目标检测(吴恩达深度学习笔记)
人工智能·目标检测·滑动窗口·目标定位·yolo算法·特征点检测
想进部的张同学1 天前
hilinux-3599---设备学习---以及部署yolo
学习·yolo·海思
mahtengdbb11 天前
YOLO11-C3k2-iRMB在花生检测中的应用——改进网络结构实现精准识别与性能优化_2
人工智能·计算机视觉·目标跟踪
Java后端的Ai之路1 天前
【人工智能领域】-YOLO目标检测算法全解析(含大白话解释)
人工智能·yolo·目标检测·cnn
柠檬07111 天前
opencv mat 统计小于0的个数
人工智能·opencv·计算机视觉
Coovally AI模型快速验证1 天前
超越Sora的开源思路:如何用预训练组件高效训练你的视频扩散模型?(附训练代码)
人工智能·算法·yolo·计算机视觉·音视频·无人机
Rui_Freely1 天前
Vins-Fusion之 相机—IMU在线标定(十一)
人工智能·算法·计算机视觉
FL16238631291 天前
监控视角工地建筑施工工程车辆检测数据集VOC+YOLO格式8345张10类别
yolo
数据分享者1 天前
猫狗图像分类数据集-21616张标准化128x128像素JPEG图像-适用于计算机视觉教学研究与深度学习模型训练-研究人员、开发者和学生提供实验平台
深度学习·计算机视觉·分类
duyinbi75171 天前
【计算机视觉实践】:基于YOLOv8-BIMAFPN的海洋漏油事件检测与分类系统实现_2
yolo·计算机视觉·分类