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

YOLOv11模型改进-模块-引入多尺度大核注意力Multi-scale Large Kernel Attention

        MLKA 的提出源于图像超分辨率任务的挑战性,该任务需重建低质量图像缺失的高频信息,但因 LR 与 HR 图像对应关系复杂,寻找像素相关性困难。此前模型扩展容量的方法增加了训练负担和数据收集成本,而采用的注意力机制无法同时获取局部与长距离信息且感受野固定。受视觉注意力研究及 VAN 中 LKA 机制启发,MLKA 结合大核分解与多尺度学习被提出,以克服这些局限,增强模型特征表示能力来更好地应对超分辨率任务挑战。

YOLOv11原模型
YOLOv11改进

  

1. MLKA的原理和结构          

原理

        解决现有问题:旨在解决先前 SR 模型中注意力机制无法同时摄取局部信息和长距离依赖,以及注意力图感受野固定的问题。通过结合大核分解和多尺度学习,使模型能够在不同粒度级别获取丰富的注意力图,从而聚合全局和局部信息,避免潜在的阻塞伪影。

        结合多尺度与大核注意力:将经典的多尺度机制与新兴的大核注意力相结合,以相对较少的计算量建立各种范围的相关性,使模型能够模拟 CNN 和 Transformer 的特性。

结构

        MLKA 的结构主要由大核注意力(LKA)、多尺度机制和门控聚合(Gated Aggregation)三部分组成。在大核注意力部分,通过将大核卷积分解为深度卷积、深度可分离卷积和点卷积来构建长距离关系。多尺度机制则将输入特征图分组,对每组特征应用不同参数的 LKA 以获取多尺度的注意力图。门控聚合利用空间门对 LKA 生成的注意力图进行动态校准,避免阻塞效应并学习局部信息,从而使 MLKA 能在不同尺度上自适应调整特征,平衡全局与局部信息利用。

2. YOLOv11与MLKA的结合

       本文将YOLOv11模型的MLKA模块相结合 ,组合成C3k2_MLKA模块。在特征融合的时候使用C3k2_MLKA模块有助于更好地整合这些不同尺度的特征信息。通过 MLKA对多尺度特征的自适应调制,可以使得各个尺度的特征更加准确地反映目标的特征,从而提高对不同大小目标的检测能力。

3. MLKA代码部分

YOLOv8_improve/YOLOv11.md at master · tgf123/YOLOv8_improve
YOLOV11全部代码

 4. 将MLKA引入到YOLOv11中

第一: 将下面的核心代码复制到D:\bilibili\model\YOLO11\ultralytics-main\ultralytics\nn路径下,如下图所示。

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

第三:在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_MLKA.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/458288.html

相关文章:

  • Spring Boot介绍、入门案例、环境准备、POM文件解读
  • STM32控制PCA9685产生16路PWM波控制舵机
  • 在线免费批量生成 Word 文档工具
  • CA系统的设计(CA证书生成,吊销,数字签名生成)
  • MySql find_in_set 函数
  • HTML 元素:网页构建的基础
  • 儿童教育网站:客户服务与学习支持模块
  • SpringBoot导出Excel的四种方式
  • 告别 $arr[0]: PHP 和 Laravel 中更优雅的数组处理方式
  • 五子棋小游戏设计(Matlab)
  • 【Python】 -- python3 读取 aws athena 表数据
  • Mono里运行C#脚本13—mono_image_load_cli_header
  • 【linux学习指南】linux捕捉信号(二)软中断缺⻚中断?等 如何理解内核态和⽤⼾态
  • qwenvl 以及qwenvl 2 模型架构理解
  • 黑马程序员Java笔记整理(day08)
  • 【电脑组装】【教程】一、主板和CPU
  • 如何自动解决服务器弹性伸缩问题?
  • .net core 的面向对象编程
  • Go Web开发之Revel - 网页请求处理流程
  • MATLAB中binornd函数用法
  • 钉钉开发h5微应用文档链接总结
  • 《机器学习》——KNN算法
  • conda常用维护命令
  • 多说话人ASR的衡量指标和有效计算工具包
  • 第 29 章 - ES 源码篇 - 网络 IO 模型及其实现概述
  • 第1章 数据结构导论