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
                          )
相关推荐
code bean6 小时前
【yolo】YOLOv8 训练模型参数与多机环境差异总结
yolo
arron88996 小时前
yolov8部署在一台无显卡的电脑上,实时性强方案
yolo·电脑
Coovally AI模型快速验证7 小时前
3D目标跟踪重磅突破!TrackAny3D实现「类别无关」统一建模,多项SOTA达成!
人工智能·yolo·机器学习·3d·目标跟踪·无人机·cocos2d
fanstuck8 小时前
2025 年高教社杯全国大学生数学建模竞赛C 题 NIPT 的时点选择与胎儿的异常判定详解(一)
人工智能·目标检测·数学建模·数据挖掘·aigc
菩提树下的凡夫9 小时前
瑞芯微RV1126目标识别算法Yolov8的部署应用
java·算法·yolo
荒野饮冰室10 小时前
分类、目标检测、实例分割的评估指标
目标检测·计算机视觉·分类·实例分割
微笑伴你而行12 小时前
目标检测如何将同时有方形框和旋转框的json/xml标注转为txt格式
xml·目标检测·json
Coovally AI模型快速验证13 小时前
无人机小目标检测新SOTA:MASF-YOLO重磅开源,多模块协同助力精度飞跃
人工智能·yolo·目标检测·机器学习·计算机视觉·无人机
飞翔的佩奇14 小时前
【完整源码+数据集+部署教程】骰子点数识别图像实例分割系统源码和数据集:改进yolo11-DCNV2
python·yolo·计算机视觉·数据集·yolo11·骰子点数识别图像实例分割
3DVisionary21 小时前
蓝光三维扫描技术赋能内衣胸垫设计:从精准制造到个性化体验的革新之旅
目标检测·制造·3d检测·工艺优化·蓝光三维扫描·内衣胸垫设计·个性化制造