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

YOLO11改进-模块-引入混合结构模块Mix Structure Block 提高多尺度、小目标

        在图像去雾领域,传统的基于卷积神经网络(CNN)和 Transformer 的方法存在局限性。CNN 方法大多存在感受野不足的问题,限制了单个像素在神经网络中的参考范围,部分考虑大感受野的 CNN 方法又忽略了图像的多尺度特性;Transformer 方法虽有全局建模能力和大感受野,但参数数量庞大,训练成本高。同时,以往去雾网络中的注意力机制设计未充分考虑雾气分布的不均匀性,现有方法往往单独设计像素注意力模块和通道注意力模块,不能很好地编码大气光 A 和介质传输图 t (x)。为解决这些问题,提出 Mix Structure Block,将多尺度并行大卷积核模块和增强并行注意力模块相结合,以提升图像去雾效果。

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

改进后的结果

 

1. 混合结构模块Mix Structure Block介绍 

         多尺度并行大卷积核模块(MSPLCK):大卷积核具有更大的有效感受野和更高的形状偏差,能通过扩大感受野在学习的潜在域空间中捕获更多结构化信息,帮助单个像素基于大范围周围像素恢复图像并还原物体形状;小卷积核则专注于细节特征,恢复纹理细节。不同大小的卷积核并行工作,可从不同尺度关注图像区域,提取多尺度特征,这些特征在通道维度上连接,再经多层感知器处理,既能融合不同类型特征,又能拟合去雾特征。

        增强并行注意力模块(EPA):根据大气散射模型,通道注意力更适合编码全局大气光 A,像素注意力更适合编码介质传输图 t (x)。通过并行简单像素注意力、通道注意力和像素注意力,可同时从原始特征中提取位置相关的局部信息和共享的全局信息,以更好地适应不均匀的雾气分布。这三种注意力机制的结果在通道维度连接后,经多层感知器处理,减少连接特征通道维度至与输入相同,并与原始特征相加,实现对原始特征的优化。

结合图片信息,MixStructureBlock的结构主要包含以下几个关键部分:

1. 多尺度并行大卷积核模块(MSPLCK)

        批量归一化(Batch Norm):输入特征图首先经过 Batch Norm 层,对数据进行归一化处理,加速模型训练的收敛速度,增强模型的稳定性。

        卷积层:接着进入两个并行的卷积层,分别是 1×1 卷积和 5×5 卷积。1×1 卷积用于调整通道维度,5×5 卷积能获取相对较大范围的局部特征。

        深度扩张卷积(DWConv):经过卷积处理后的特征图分别进入三个并行的深度扩张卷积层,即 DWConv7、DWConv13 和 DWConv19,扩张率不同,可获取不同尺度的特征,其中较大的卷积核和扩张率能扩大感受野,捕获更多结构化信息。

        特征融合与处理:三个深度扩张卷积层输出的特征图进行拼接(Concat),然后依次经过 1×1 卷积、GELU 激活函数和另一个 1×1 卷积。GELU 激活函数增加模型的非线性表达能力,两次 1×1 卷积进一步调整通道维度并融合特征,最后与输入特征图进行逐元素相加(Entry-Wise Addition),残差连接有助于梯度传播和避免梯度消失。

2. 增强并行注意力模块(EPA)

        批量归一化(Batch Norm):MSPLCK 模块的输出先经过 Batch Norm 层,再次对数据进行归一化,使数据分布更稳定。

        注意力机制:接着数据被分流到三个并行的注意力模块,分别是简单像素注意力(Simple Pixel Attention)、通道注意力(Channel Attention)和像素注意力(Pixel Attention)。简单像素注意力关注局部像素间关系;通道注意力关注不同通道间的信息交互,编码全局大气光;像素注意力则侧重于捕捉位置相关的局部信息,编码介质传输图。

        特征融合与处理:三个注意力模块的输出进行拼接(Concat),然后经过一个深度扩张卷积 DWConv7,进一步提取特征。之后依次经过 1×1 卷积、GELU 激活函数和另一个 1×1 卷积,调整通道维度并增强非线性表达。最后与该模块的输入特征图进行逐元素相加(Entry-Wise Addition),完成对特征的优化。 

2. YOLOv11与MixStructureBlock的结合          

 本文使用MixStructureBlock替换C2PSA模块中的自注意力机制,使用多尺度结构和并行注意力方法增强YOLOv11模型的小目标和多尺度特征提取。

3. MixStructureBlock模块代码部分

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

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

 4. 将MixStructureBlock模块 引入到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_MixStructure.yaml")\
        .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
                          )

http://www.kler.cn/a/560463.html

相关文章:

  • VMware 与 CentOS 安装指南
  • IP----访问服务器流程
  • centos系统MBR格式转换成gpt格式 (华为云)
  • 算法-图-数据结构(邻接矩阵)-BFS广度优先遍历
  • 爬虫基础入门之爬取豆瓣电影Top250-Re正则的使用
  • 【初阶数据结构】森林里的树影 “堆” 光:堆
  • GB 44496-2024《汽车软件升级通用技术要求》标准解读|标准结构、测试方法、测试内容
  • 高级SQL技术在Python项目中的应用:ORM与深度性能优化
  • 深度学习之图像分类(二)
  • 【备赛】在keil5里面创建新文件的方法+添加lcd驱动
  • Kubernetes资源管理实战:从理论到落地的完整指南
  • 【Redis 原理】通信协议 内存回收
  • 【Java 常用注解学习笔记1】——Java 常用注解全解析:从基础到实战
  • 音视频容器格式
  • Rust 中的引用循环与内存泄漏
  • 分享一个后端说异步导出,前端的实现方法
  • JVM生产环境问题定位与解决实战(三):揭秘Java飞行记录器(JFR)的强大功能
  • 先进制造aps专题三十 用免费生产排程软件isuperaps进行长期生产计划制定
  • FreiHAND (handposeX-json 格式)数据集-release >> DataBall
  • 如何将本地连接服务器中的文件内容复制到本机的剪贴板