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文件中

第五:运行成功

python 复制代码
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
                          )
相关推荐
大鱼>13 天前
地平线BPU部署实战:YOLOv8在J5/X3上的算法适配与性能优化
算法·yolo·性能优化
stsdddd13 天前
YOLO系列目标检测数据集大全【第二十九期】
yolo·目标检测·目标跟踪
大鱼>13 天前
YOLO边缘部署深度指南:从YOLOv8n到NPU加速的全链路优化
yolo·aiot
AI棒棒牛13 天前
第 03 讲《监督学习:数据、标签、Loss与训练循环》
人工智能·学习·yolo·目标检测·yolo26
FL162386312913 天前
国内快递面单识别检测数据集VOC+YOLO格式422张6类别
人工智能·yolo·机器学习
stsdddd13 天前
YOLO系列目标检测数据集大全【第三十期】
yolo·目标检测·目标跟踪
YOLO数据集集合13 天前
无人机航拍地质灾害智能识别 山体滑坡实例分割数据集落地实战 | 泥石流监测 道路险情封堵 深度学习模型训练方案10296期
人工智能·深度学习·yolo·目标检测·无人机
音沐mu.13 天前
【73】墙壁建筑缺陷数据集(有v5/v8模型)/YOLO墙壁建筑缺陷检测
yolo·目标检测·目标检测数据集·墙壁建筑缺陷数据集·墙壁建筑缺陷检测
前网易架构师-高司机13 天前
带标注的辣椒病叶数据集,识别率95.9%,可识别三种病害和健康叶子,9916张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·数据集·病害·叶病·病叶·辣椒
YOLO数据集集合13 天前
无人机风电设备智能巡检 风机叶片缺陷目标检测数据集实战 | 表面腐蚀漏油识别 工业视觉质检 深度学习模型训练落地10337期
人工智能·深度学习·目标检测·计算机视觉·无人机