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

YOLO12 改进、魔改|幅度感知线性注意力MALA,提升小目标、遮挡的检测能力

        Transformer 中的 Softmax Attention 虽具备强大的全局建模能力,但对 token 数量 N 的复杂度为 O (N²),在视觉任务中因计算成本过高难以广泛应用。Linear Attention 通过重构 Q、K、V 的计算顺序,将复杂度降至线性 O (N),但性能显著下降。核心原因在于:Linear Attention 完全忽略了 Query(或 φ(Q))的幅度信息,导致其注意力分布不随 Query 幅度变化,始终保持平滑;而 Softmax Attention 的注意力分布会随 Query 幅度增加变得更集中,更利于捕捉关键信息。这种差异使得 Linear Attention 在局部感知和特征区分上表现较弱。为弥合这一差距,MALA(Magnitude-Aware Linear Attention)被提出,旨在让 Linear Attention 整合 Query 幅度信息,同时保持线性复杂度和高效性。​​​

1.MALA原理     

        MALA 的核心原理是通过数学设计将 Query 的幅度信息融入 Linear Attention 的计算中,使注意力分布随 Query 幅度的变化趋势接近 Softmax Attention,但更平衡。

         原 Linear Attention 中,Query 的幅度被公式中的分子分母抵消(φ(Qi) 的模长在计算中约去),导致注意力分布仅由方向决定,与幅度无关;

         Softmax Attention 中,Query 幅度增大时,注意力会更集中于原本得分较高的 Key,形成 “尖峰” 分布,利于突出关键信息,但可能过度聚焦局部;

         MALA 通过引入缩放因子 β偏移项 γ,采用加法归一化替代除法归一化,使 Query 幅度直接影响注意力计算:当 Query 幅度增大时,注意力分布会像 Softmax 一样向高得分 Key 集中,但集中速度更平缓,避免过度尖锐,最终形成 “平衡且兼具全局与局部感知” 的分布。

2. MALA习作思路​

MALA 在目标检测中的优点

         MALA 的注意力分布既避免了 Softmax Attention 过度聚焦局部导致的目标间关系割裂,又克服了 Linear Attention 过于平滑导致的关键目标特征模糊。在目标检测中,这种平衡特性使其能同时捕捉小目标的细节特征与大目标的全局上下文,精准区分重叠或遮挡目标;同时,线性复杂度使其能高效处理图像中大量的候选目标 token,在保证检测精度的同时提升推理速度,尤其适合复杂场景下的多目标检测任务。

MALA 在分割中的优点

          分割任务对像素级的空间关系建模要求极高,MALA 通过平衡的注意力分布,既能聚焦局部区域的精细纹理(如边界像素),又能关联全局的语义上下文(如类别一致性),有效缓解了 Softmax Attention 对局部过度聚焦导致的分割碎片化,以及 Linear Attention 平滑分布导致的类别混淆。此外,其线性复杂度使其能高效处理高分辨率分割图像中的海量像素 token,在保证细节分割精度的同时维持高效计算,尤其适合语义分割和实例分割中对边界与小区域的精准划分。

3. YOLO与MALA的结合     

       YOLO 系列模型以实时性为核心优势,MALA 的线性复杂度可显著降低注意力计算的成本,提升推理速度,适配 YOLO 对实时性的需求;同时,其平衡的注意力分布能增强模型对多尺度目标(从微小目标到大型目标)的特征捕捉能力,在不牺牲速度的前提下提升检测精度,实现 “高效性与准确性的双重优化”。

4. MALA代码部分

YOLO11|YOLO12|改进| 幅度感知线性注意力MALA, 提高遮挡、小目标检测能力_哔哩哔哩_bilibili

YOLO12模型改进方法,快速发论文,总有适合你的改进,还不改进上车_哔哩哔哩_bilibili

 代码获取:YOLOv8_improve/YOLOV12.md at master · tgf123/YOLOv8_improve · GitHub

5. MALA引入到YOLOv12中

第一: 先新建一个v12_changemodel,将下面的核心代码复制到下面这个路径当中,如下图如所示。E:\Part_time_job_orders\YOLO_NEW\YOLOv12\ultralytics\v12_changemodel。

                ​​​​​​       

第二:在task.py中导入

 ​​​              ​​​​​​​    

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

                 ​​​​​​​​​​​​​​​​​​​​​  ​​​​​​​      

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

       ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ ​​​​​​​    

     ​​​​​​​ ​​​​​​​​​​​​​​ ​​​​​​​ ​​​​​​​​​​​​​第五:运行代码


from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorldif __name__=="__main__":# 使用自己的YOLOv12.yamy文件搭建模型并加载预训练权重训练模型model = YOLO("/home/shengtuo/tangfan/YOLO12/ultralytics/cfg/models/12/yolo12_MALA.yaml")# .load(r'E:\Part_time_job_orders\YOLO_NEW\YOLOv12\yolo12n.pt')  # build from YAML and transfer weightsresults = model.train(data="/home/shengtuo/tangfan/YOLO12/ultralytics/cfg/datasets/fire_smoke.yaml",epochs=300,imgsz=640,batch=4,# cache = False,# single_cls = False,  # 是否是单类别检测# workers = 0,# resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',amp = True)

http://www.dtcms.com/a/333005.html

相关文章:

  • FDBus CBaseWork运行在当前线程
  • AKShare开源金融数据接口库 | 1、介绍
  • 驱动-总线bus注册流程分析
  • QT开发中QString如何截取字符串
  • 怎样使用数据度量测试
  • Leetcode SQL基础50题
  • 旋钮键盘项目---foc讲解(开环)
  • 转换一个python项目到moonbit,碰到报错输出:编译器对workflow.mbt文件中的类方法要求不一致的类型注解,导致无法正常编译
  • 如何将堡塔云WAF迁移到新的服务器
  • 高精度标准钢卷尺优质厂家、选购建议
  • leetcode 342. 4的幂 简单
  • Flink Stream API 源码走读 - keyBy
  • MySQL知识解析
  • 设备管理系统如何改变制造业?_Hawkeye智能运维平台_璞华大数据
  • Docker安装——配置国内docker镜像源
  • 智能家居【home assistant】(一)-在Windows电脑上运行home assistant
  • 智能家居【home assistant】(二)-集成xiaomi_home
  • 朗空量子与 Anolis OS 完成适配,龙蜥获得抗量子安全能力
  • AI智能家居技术应用实训室解决方案
  • Flinksql bug: Heartbeat of TaskManager with id container_XXX timed out.
  • Spring MVC ModelAndView 详解
  • wordpress显示时间日期的几种常见的方式
  • pytest框架-详解
  • Windows 11 首次开机引导(OOBE 阶段)跳过登录微软账户,创建本地账户
  • [Linux]双网卡 CentOS 系统中指定网络请求走特定网卡的配置方法
  • AC/DC12V-24V转6V-6.4V恒流驱动芯片WT7017
  • Golang信号处理实战
  • 【Linux基础知识系列】第九十六篇 - 使用history命令管理命令历史
  • 从前端框架到GIS开发系列课程(25)mapbox基础介绍以及加载第三方底图高德地图的实现
  • SQL182 连续两次作答试卷的最大时间窗