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

YOLO11改进-模块-引入空间带状注意力机制(Spatial Strip Attention,SSA)增强模型对空间信息处理能力的重要模块

        在图像相关任务中,传统卷积神经网络(CNN)在处理空间信息时,卷积核的感受野有限难以有效捕捉长距离的空间依赖关系。而自注意力机制虽然能建模长距离依赖,但计算复杂度较高。为了在高效计算的同时更好地捕捉空间上下文信息,研究人员提出了 SSA,旨在改进模型对空间特征的处理能力,提升图像任务的性能。

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

改进后的模型

1. 空间带状注意力机制SSA介绍 

      SSA 基于注意力机制的思想,通过对输入特征图的不同空间位置赋予不同的权重,使模型能够有选择性地关注重要的空间区域。它利用轻量级的计算模块来生成注意力权重,避免了自注意力机制中过高的计算成本,同时能在水平和垂直方向上扩大感受野,有效聚合相邻位置的信息,从而更好地捕捉空间上下文。

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

从图中可以看到,对于输入特征图(大小为 H×W):

        生成水平方向注意力权重:先在水平方向选取大小为 1×K 的带状区域,对其进行全局平均池化(GAP)操作,将特征压缩。接着通过一个卷积层(Conv)和 Sigmoid 函数,生成水平方向的注意力权重。

        水平方向信息聚合:将生成的水平方向注意力权重与 1×K 带状区域的特征进行卷积操作(图中 “∗” 表示卷积 ),实现水平方向相邻位置信息的聚合,得到新的特征表示。

        生成垂直方向注意力权重:对新的特征表示,在垂直方向选取大小为 K×1 的带状区域,重复上述操作,即进行 GAP、Conv 和 Sigmoid 操作,生成垂直方向的注意力权重。

        垂直方向信息聚合:将垂直方向注意力权重与 K×1 带状区域的特征进行卷积,完成垂直方向的信息聚合。

        输出:最后,将经过水平和垂直方向处理后的特征与原始输入特征通过跳跃连接(Skip Connection)相加,得到 SSA 的最终输出。

2. YOLOv11与空间带状注意力机制SSA的结合           

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

3. 空间带状注意力机制SSA代码部分

视频讲解:

YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve · GitHubYOLOv11模型改进讲解,教您如何修改YOLOv11_哔哩哔哩_bilibili

YOLOv11模型改进讲解,教您如何根据自己的数据集选择最优的模块提升精度_哔哩哔哩_bilibili

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

 4. 将空间带状注意力机制SSA引入到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_SSA.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
                          )

相关文章:

  • Windows搭建免翻墙的BatteryHistorian
  • Animation - AI Controller控制SKM_Manny的一些问题
  • 笔记:代码随想录算法训练营day58:101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
  • 成都文创浪潮中,国际数字影像产业园的标杆塑造之路
  • Netlify 的深度解析及使用指南
  • 深入探讨 `ip2region` 中三种初始化方法:newWithBuffer、newWithVectorIndex 和 newWithFileOnly
  • 针对耳鸣患者推荐的一些菜谱和食材
  • 产品更新 | 数字助决胜:华望M-Arch平台实现从体系模型到仿真推演
  • ManiWAV:通过野外的音频-视频数据学习机器人操作
  • C#自定义曲线便器功能实现(简化版)
  • PTA团体程序设计天梯赛-练习集46-50题
  • qt程序打包成一个文件
  • Chapter 8 Charge Pump
  • Jmeter分布式集群压测
  • 什么是反射以及反射机制优缺点
  • UR5e机器人位姿
  • 手机录视频风噪太大?华为Pura X“AI降风噪“太硬核了
  • ISSN号是什么?连续出版物标识的应用与生成
  • 算法 | 优化算法比较
  • 面向医药仓储场景下的药品分拣控制策略方法 研究(大纲)
  • 南通市委常委、市委秘书长童剑跨市调任常州市委常委、组织部部长
  • 保利发展前4个月销售额约876亿元,单月斥资128亿元获4个项目
  • 默茨当选德国总理
  • 视觉周刊|劳动开创未来
  • 苏杯登顶看到老将新人冲劲,国羽用冠军为奥运新周期开好头
  • 巴菲特批评贸易保护主义:贸易不该被当成武器来使用