YOLO12改进-引入​多维协作注意力MCAM 抗背景干扰,增强多尺度、小目标

机器学习算法数据库

picture.image

向AI转型的程序员都关注公众号 机器学习AI算法工程

传统卷积神经网络(CNN)通过局部感受野逐层提取特征,但缺乏动态聚焦关键区域的能力。后续提出的注意力机制(如SE、CBAM等)通过通道或空间维度增强特征表达,但仍存在显著缺陷:

    维度割裂:多数方法独立处理通道或空间注意力,忽略跨维度关联(例如通道与空间特征的协同作用)。




    信息损失:依赖全局平均池化(GAP)压缩特征,导致细节信息丢失,影响细粒度分类。




    计算冗余:引入全连接层或复杂模块(如多分支结构),增加参数量和计算成本。

MCA(多维协作注意力)的提出旨在解决上述问题,通过轻量化设计实现通道、高度、宽度三个维度的协同建模,在动态捕捉关键特征的同时保持计算效率。

picture.image

改进后的模型

picture.image

  1. 多维协作注意力MCAM介绍

    MCA(多维协作注意力)的核心在于打破传统注意力机制对通道与空间维度的割裂式处理,通过多维度协同感知与动态轻量化计算,让网络更智能地捕捉特征间的复杂关联。其本质是让模型同时回答三个问题:“哪些特征重要”(通道维度)、“重要特征在垂直方向的位置”(高度维度)、“重要特征在水平方向的位置”(宽度维度),并将三者动态融合。例如,识别一只鸟时,MCA不仅会增强“羽毛纹理”对应的通道,还能在空间上聚焦“头部区域”,且这种多维度判断是相互关联的——羽毛纹理的显著性可能影响头部定位的权重。为实现这一目标,MCA摒弃了传统全连接层等复杂结构,转而通过一维卷积和动态门控机制,在几乎不增加计算量的前提下实现跨维度信息交互。

picture.image

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

    MCA的整体结构由三个并行的注意力分支(通道、高度、宽度)和一个动态聚合模块组成,每个分支通过维度旋转和轻量化计算实现多维度协作,以下是详细描述:
  1. 通道分支:通道分支直接处理输入特征图的通道维度。首先,对每个通道同时计算全局平均池化(提取特征整体强度)和全局标准差池化(衡量特征分布的离散程度),两种统计量通过可学习权重融合,形成更全面的通道描述。融合后的统计量通过一维卷积(而非全连接层)生成通道注意力权重,该卷积仅需极少的参数量即可捕捉通道间局部依赖关系。最后,权重与原始特征逐通道相乘,强化重要通道(如与目标类别相关的特征通道)的响应,抑制冗余通道。

  2. 高度分支:高度分支的目标是定位垂直方向(图像上下区域)的关键位置。为实现轻量化设计,将输入特征图旋转,使高度维度转换为“伪通道”维度。例如,原始特征维度为“通道×高度×宽度”(如64×224×224),旋转后变为“高度×通道×宽度”(224×64×224),此时每个“伪通道”对应原始图像的一行像素。随后,复用通道分支的流程:对每个“伪通道”计算均值与标准差统计量,融合后通过一维卷积生成高度注意力权重。例如,在行人检测任务中,高度分支可能增强图像中上部(对应人体头部和躯干)的权重。最后将加权后的特征逆旋转回原始维度,完成垂直方向的特征增强。

  3. 宽度分支:宽度分支与高度分支对称,关注水平方向(图像左右区域)的重要性。通过旋转操作将宽度维度转换为“伪通道”,例如原始特征变为“宽度×高度×通道”(224×224×64),每个“伪通道”对应原始图像的一列像素。复用通道分支的统计量融合与一维卷积生成宽度注意力权重。例如,在车辆检测中,宽度分支可能强化图像左右两侧(对应车轮位置)的特征响应。逆旋转后恢复原始维度,完成水平方向的特征增强。

  4. 动态门控与特征聚合

     动态门控:在三个分支的一维卷积中引入轻量级自适应机制。根据输入特征的复杂度(如通过特征方差简单判断),动态选择卷积核大小。例如,复杂场景(如密集的树叶纹理)使用较大的卷积核(如核大小5),增强长程维度交互;简单场景(如纯色背景)则使用较小卷积核(如核大小3),减少计算量。
    
    
    
    
     特征聚合:将通道、高度、宽度分支的输出特征按元素取平均值,综合三个维度的注意力结果。例如,在鸟类识别中,通道分支增强羽毛纹理,高度分支聚焦头部区域,宽度分支定位翅膀伸展方向,聚合后形成判别性更强的特征表达。
    
  5. YOLOv11与MCAM的结合

基于上述的想法,本文将其与A2C2f相结合,通过通道、高度、宽度三向协同建模,动态增强关键特征。同时MCA可显著提升多尺度目标检测精度(如小物体识别)

  1. DSAM代码部分

通过网盘分享的文件:YOLOv12模块

链接:https://pan.quark.cn/s/0f1b4a80e2a6

提取码:q8xV

  1. 将DSAM引入到YOLOv12中

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

E:\Part_time_job_orders\YOLO_NEW\YOLOv12\ultralytics\v12_changemodel。

picture.image

第二:在task.py中导入包

picture.image

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

picture.image

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

picture.image

    第五:运行代码

          

          
from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld
          

          
if __name__=="__main__":
          

          
    # 使用自己的YOLOv12.yamy文件搭建模型并加载预训练权重训练模型
          
    model = YOLO(r"E:\Part_time_job_orders\YOLO_NEW\YOLOv12\ultralytics\cfg\models\12\yolo12_MCAM.yaml")\
          
        .load(r'E:\Part_time_job_orders\YOLO_NEW\YOLOv12\yolo12n.pt')  # build from YAML and transfer weights
          

          
    results = 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
          
                          )
      

机器学习算法AI大数据技术

搜索公众号添加: datanlp

picture.image

长按图片,识别二维码

阅读过本文的人还看了以下文章:

实时语义分割ENet算法,提取书本/票据边缘

整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主

《大语言模型》PDF下载

动手学深度学习-(李沐)PyTorch版本

YOLOv9电动车头盔佩戴检测,详细讲解模型训练

TensorFlow 2.0深度学习案例实战

基于40万表格数据集TableBank,用MaskRCNN做表格检测

《基于深度学习的自然语言处理》中/英PDF

Deep Learning 中文版初版-周志华团队

【全套视频课】最全的目标检测算法系列讲解,通俗易懂!

《美团机器学习实践》_美团算法团队.pdf

《深度学习入门:基于Python的理论与实现》高清中文PDF+源码

《深度学习:基于Keras的Python实践》PDF和代码

特征提取与图像处理(第二版).pdf

python就业班学习视频,从入门到实战项目

2019最新《PyTorch自然语言处理》英、中文版PDF+源码

《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码

《深度学习之pytorch》pdf+附书源码

PyTorch深度学习快速实战入门《pytorch-handbook》

【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》

《Python数据分析与挖掘实战》PDF+完整源码

汽车行业完整知识图谱项目实战视频(全23课)

李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材

笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!

《神经网络与深度学习》最新2018版中英PDF+源码

将机器学习模型部署为REST API

FashionAI服装属性标签图像识别Top1-5方案分享

重要开源!CNN-RNN-CTC 实现手写汉字识别

yolo3 检测出图像中的不规则汉字

同样是机器学习算法工程师,你的面试为什么过不了?

前海征信大数据算法:风险概率预测

【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类

VGG16迁移学习,实现医学图像识别分类工程项目

特征工程(一)

特征工程(二) :文本数据的展开、过滤和分块

特征工程(三):特征缩放,从词袋到 TF-IDF

特征工程(四): 类别特征

特征工程(五): PCA 降维

特征工程(六): 非线性特征提取和模型堆叠

特征工程(七):图像特征提取和深度学习

如何利用全新的决策树集成级联结构gcForest做特征工程并打分?

Machine Learning Yearning 中文翻译稿

蚂蚁金服2018秋招-算法工程师(共四面)通过

全球AI挑战-场景分类的比赛源码(多模型融合)

斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)

python+flask搭建CNN在线识别手写中文网站

中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程

不断更新资源

深度学习、机器学习、数据分析、python

搜索公众号添加: datayx

picture.image

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论