当前位置: 首页 > article >正文

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文件中

     第五:运行成功


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
                          )

http://www.kler.cn/a/453010.html

相关文章:

  • Qt使用QZipWriter和QZipReader来解压、压缩文件
  • 深入探索仓颉编程语言:函数与结构类型的终极指南
  • 论文研读:AnimateDiff—通过微调SD,用图片生成动画
  • 学习threejs,THREE.RingGeometry 二维平面圆环几何体
  • 层序遍历练习
  • YOLOv9-0.1部分代码阅读笔记-lion.py
  • Git:远程操作
  • 【STM32】F103ZET6开发板----笔记01
  • 图像修复和编辑大一统 | 腾讯北大等联合提出BrushEdit:BrushNet进阶版来了
  • mysql的备份和还原
  • java 核心知识点——JVM
  • 时间轮在 Netty , Kafka 中的设计与实现
  • 云原生后端开发(一)
  • 数字逻辑(六)——下载Digital软件
  • 计算机视觉目标检测-1
  • ffmpeg: stream_loop报错 Error while filtering: Operation not permitted
  • 互联网视频云平台EasyDSS无人机推流直播技术如何助力野生动植物保护工作?
  • 榆能横山煤电厂及周边建筑物爆破振动和位移自动化监测
  • vue调试工具 Vue.jsDevtools
  • 第十六届“蓝桥杯”全国软件和信息技术专业人才大赛简介及资料大全
  • DevOps实战:用Kubernetes和Argo打造自动化CI/CD流程(2)
  • 设计模式从入门到精通之(二)抽象工厂模式
  • 方正畅享全媒体新闻采编系统screen存在SQL注入漏洞
  • 漏洞检测工具:Swagger UI敏感信息泄露
  • java日志框架:slf4j、jul(java.util.logging)、 log4j、 logback
  • Spire.PDF for .NET【页面设置】演示:重新排列 PDF 中的页面