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

YOLO12改进-模块-引入Cascaded Group Attention(CGA)模块 提升小目标检测和复杂场景下的定位精度。

   视觉 Transformer 中的多头自注意力(MHSA)存在计算冗余问题,不同注意力头学习到的特征相似性较高,导致资源浪费。传统 MHSA 对每个头均使用完整特征进行计算,未充分利用头间的信息差异。CGA 旨在通过分解特征输入和头间级联机制,降低冗余并提升计算效率,同时增强模型对多尺度特征的捕捉能力。

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

1.  CGA介绍 

         特征分解:将输入特征沿通道维度划分为多个子特征,每个注意力头仅处理特定子特征,避免不同头对相同完整特征的重复计算,减少冗余。

         头间级联:前一头的输出与当前头的输入级联,逐步 refinement 特征表示,使后续头能利用更丰富的上下文信息,提升注意力多样性和模型容量。

        计算效率优化:通过分组和级联设计,在减少计算量(Flops)的同时,通过增加有效网络深度(隐式堆叠头间操作)提升模型表达能力,实现效率与精度的平衡。

CAS 模块主要包含三部分:        空间注意力分支:通过 3×3 卷积提取局部空间信息,经 1×1 卷积降维和 Sigmoid 激活生成空间注意力图,与输入特征相乘保留空间依赖。

 2. YOLOv12与CGA的结合      

        CGA 的分组和级联机制可增强 YOLO12中不同层级特征的跨头信息流动,提升对目标多尺度特征的捕捉能力,尤其适用于小目标检测。 

3. CGA代码部分

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

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

 4. 将CGA引入到YOLOv12中

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

            ​​​​​​       

第二:在task.py中导入

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

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

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

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

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

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


from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorldif __name__=="__main__":# 使用自己的YOLOv12.yamy文件搭建模型并加载预训练权重训练模型model = YOLO(r"E:\Part_time_job_orders\YOLO_NEW\YOLOv12_all\ultralytics\cfg\models\12\yolo12_CGA.yaml")# .load(r'E:\Part_time_job_orders\YOLO_NEW\YOLOv12\yolo12n.pt')  # build from YAML and transfer weightsresults = model.train(data=r'E:\Part_time_job_orders\YOLO\YOLOv12\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.xdnf.cn/news/554509.html

相关文章:

  • 一道并发的面试题,控制并发数量
  • Spring的AOP在什么场景下会失效?
  • 贝叶斯优化+CNN+LSTM=小论文创新点
  • 物联网(IoT)智能项目全景指南:技术构架、实现细节与应用实践
  • Oracle如何解决LATCH:CACHE BUFFERS CHAINS
  • java接口自动化初识
  • 保证数据库 + redis在读写分离场景中事务的一致性
  • 985,成立人工智能学院
  • Java高频面试之并发编程-19
  • 第50天-使用Python+Qt+DeepSeek开发AI运势测算
  • 基于springboot3 VUE3 火车订票系统前后端分离项目适合新手学习的项目包含 智能客服 换乘算法
  • 当前主流的传输技术(如OTN、IP-RAN、FlexE等)
  • C++STL之string
  • 产业互联网+三融战略:重构企业增长密码
  • 人工智能+:职业技能培训的元命题与能力重构
  • Linux 正则表达式 扩展正则表达式 gawk
  • 101个α因子#8
  • Java DTO 深度解析
  • JUC编程monitor、锁膨胀以及相关关键字
  • 定时从接口下载数据到本地
  • 免费插件集-illustrator插件-Ai插件-路径尖角圆角化
  • 天然产物在食品医药美妆领域的创新应用研究
  • 图像噪声模拟
  • 安装PostgreSQL
  • 解决javafx组件缺失导致运行程序报错的问题
  • Spring Boot中的分布式缓存方案
  • PID项目---硬件设计
  • Javascript 编程基础(2)基础知识 | 2.3、语法规则
  • 操作系统----软考中级软件工程师(自用学习笔记)
  • 循环神经网络